@font-face {
  font-family: "Constantia";
  src: url("../fonts/constantia.eot");
  /* IE9*/
  src: url("../fonts/constantia.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */ url("../fonts/constantia.woff2") format("woff2"), /* chrome, firefox */ url("../fonts/constantia.woff") format("woff"), /* chrome, firefox */ url("../fonts/constantia.ttf") format("truetype"), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url("../fonts/constantia.svg#Constantia") format("svg");
  /* iOS 4.1- */
  font-weight: normal;
}
@font-face {
  font-family: "Ciutadella Light";
  src: url("../fonts/ciutadella-light.eot");
  /* IE9*/
  src: url("../fonts/ciutadella-light.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */ url("../fonts/ciutadella-light.woff2") format("woff2"), /* chrome, firefox */ url("../fonts/ciutadella-light.woff") format("woff"), /* chrome, firefox */ url("../fonts/ciutadella-light.ttf") format("truetype"), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url("../fonts/ciutadella-light.svg#Ciutadella W04 Lt") format("svg");
  /* iOS 4.1- */
  font-weight: normal;
}
@font-face {
  font-family: "Ciutadella Bold";
  src: url("../fonts/ciutadella-bold.eot");
  /* IE9*/
  src: url("../fonts/ciutadella-bold.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */ url("../fonts/ciutadella-bold.woff2") format("woff2"), /* chrome, firefox */ url("../fonts/ciutadella-bold.woff") format("woff"), /* chrome, firefox */ url("../fonts/ciutadella-bold.ttf") format("truetype"), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url("../fonts/ciutadella-bold.svg#Ciutadella W04 Bold") format("svg");
  /* iOS 4.1- */
  font-weight: bold;
}
@font-face {
  font-family: "Ciutadella Slab Bold";
  src: url("../fonts/ciutadella-slab-bold.eot");
  /* IE9*/
  src: url("../fonts/ciutadella-slab-bold.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */ url("../fonts/ciutadella-slab-bold.woff2") format("woff2"), /* chrome, firefox */ url("../fonts/ciutadella-slab-bold.woff") format("woff"), /* chrome, firefox */ url("../fonts/ciutadella-slab-bold.ttf") format("truetype"), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url("../fonts/ciutadella-slab-bold.svg#Ciutadella Slab W04 Bold") format("svg");
  /* iOS 4.1- */
  font-weight: bold;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  padding: 0;
  overflow-y: scroll;
  font-family: "Constantia", serif;
  font-size: 1.2vw;
  line-height: 1.25em;
}
@media screen and (min-width: 1024px) and (max-width: 1359px) {
  body {
    font-size: 1.5vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  body {
    font-size: 1.8vw;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  body {
    font-size: 2.5vw;
  }
}
@media screen and (min-width: 360px) and (max-width: 479px) {
  body {
    font-size: 4vw;
  }
}
@media screen and (max-width: 359px) {
  body {
    font-size: 5vw;
  }
}
h1 {
  color: #94C11C;
  font-family: "Ciutadella Slab Bold", sans-serif;
  font-weight: normal;
  font-size: 2em;
  line-height: 1em;
}
h2 {
  font-family: "Ciutadella Bold", sans-serif;
  font-weight: normal;
  font-size: 1.2em;
  line-height: 1.125em;
  text-transform: uppercase;
}
h3 {
  color: #009033;
  font-family: "Ciutadella Bold", sans-serif;
  font-weight: normal;
  font-size: 1em;
  line-height: 1.125em;
}
b,
strong {
  font-family: "Ciutadella Bold", sans-serif;
}
a {
  color: #009033;
  font-family: "Ciutadella Bold", sans-serif;
  transition: .25s color;
  text-decoration: none;
}
a:hover {
  color: #59A52B;
  text-decoration: underline;
}
hr {
  width: 100%;
  height: 0;
  padding: 0;
  margin: 1em 0;
  border: none;
  border-bottom: 2px dotted #94C11C;
}
.wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 100vh;
}
.wrapper > section:last-of-type {
  flex-grow: 1;
}
.wrapper > .up {
  position: absolute;
  right: 7vw;
  bottom: 0;
  width: 3em;
  height: 1.5em;
  padding: 0;
  z-index: 5;
  background-color: rgba(148, 193, 28, 0.25);
  border: none;
  border-radius: 1.5em 1.5em 0 0;
  font-size: 2em;
  line-height: 1em;
  color: white;
  cursor: pointer;
  transition: 0.25s background-color, 0.25s padding;
}
.wrapper > .up:hover {
  padding-bottom: .5em;
  background-color: #94C11C;
}
section {
  padding: 2vw 8vw 3vw;
  background: #eee;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 479px) {
  section {
    padding: 4vw 8vw;
  }
}
@media screen and (max-width: 799px) {
  section {
    padding: 6vw 8vw;
  }
}
section:first-of-type {
  padding-top: 5vw;
}
section.temp {
  min-height: 80vh;
}
.paging {
  display: flex;
  flex-flow: row wrap !important;
  justify-content: space-between;
  background-color: white;
  padding: 1em 8vw;
}
.paging span,
.paging a {
  flex: 0 0 auto;
  display: block;
  min-width: 2.5em;
  padding: .5em;
  color: black;
  font-family: "Ciutadella Bold", sans-serif;
  text-decoration: none;
  text-align: center;
  text-transform: uppercase;
  line-height: 1.5em;
  transition: 0.25s background-color;
}
.paging span:hover,
.paging a:hover {
  background-color: #94C11C;
  color: white;
}
.paging .paginator {
  display: flex;
  flex-wrap: wrap;
  flex: 0 0 auto;
  max-width: 100%;
}
.paging .paginator .prev::before,
.paging .paginator .next::before,
.paging .paginator .ellipsis::before {
  display: inline-block;
  font: normal normal normal 24px/1 "Material Design Icons";
  font-size: inherit;
  text-rendering: auto;
  line-height: inherit;
}
.paging .paginator .prev::before {
  content: "\F141";
}
.paging .paginator .next::before {
  content: "\F142";
}
.paging .paginator .ellipsis {
  padding: .5em 0;
  min-width: auto;
}
.paging .paginator .ellipsis::before {
  content: "\F1D8";
}
.paging .paginator span:not(.active) {
  color: #94C11C !important;
}
.paging .paginator span:not(.active):hover {
  background-color: transparent;
}
.paging .paginator .active {
  background-color: #94C11C;
  color: white;
}
@media screen and (min-width: 480px) {
  .slider-controls button {
    position: absolute;
    top: 0;
    bottom: 2vw;
    z-index: 5;
    width: 6vw;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
  }
  .slider-controls button::before {
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    width: 3em;
    height: 3em;
    font-size: 2em;
    line-height: 3em;
    margin-top: -1.5em;
    background-color: rgba(89, 165, 43, 0.5);
    border-radius: 50%;
    color: white;
    transition: 0.25s background-color, 0.25s padding;
  }
  .slider-controls button.prev {
    left: -6vw;
  }
  .slider-controls button.prev::before {
    left: -1.5em;
    text-align: right;
  }
  .slider-controls button.next {
    right: -8vw;
  }
  .slider-controls button.next::before {
    right: -1.5em;
    text-align: left;
  }
  .slider-controls button:hover::before {
    background-color: #59A52B;
  }
  .slider-controls button:hover.prev::before {
    padding-right: .5em;
  }
  .slider-controls button:hover.next::before {
    padding-left: .5em;
  }
}
@media screen and (max-width: 479px) {
  .slider-controls {
    display: none;
  }
}
.slider-content {
  position: relative;
}
@media screen and (min-width: 480px) {
  .slider-content .slider-item {
    transform: translateX(0);
    transition: .75s transform, .75s opacity;
  }
  .slider-content .slider-item.hidden {
    opacity: .2;
  }
}
.motto {
  padding-right: 16vw;
}
.motto::before {
  content: "";
  position: absolute;
  display: block;
  right: 6vw;
  width: 8vw;
  height: 8vw;
  margin-top: -4vw;
  border-radius: 50%;
  background: #009033 url("../img/motto.png") center center / cover;
  transition: 0.5s ease-in;
  transform: scale(3) rotate(30deg) translate(-3vw, 4vw);
  opacity: 0;
}
.motto.visible::before {
  transform: scale(1) rotate(0deg) translate(0, 0);
  opacity: 1;
}
::-moz-selection {
  /* Code for Firefox */
  color: #bbb;
  background: #444;
}
::selection {
  color: #bbb;
  background: #444;
}
.banner {
	position: relative;
	display: flex;
	background-color: #59A52B;
	padding-top: 33.3333%;
}
.banner img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: auto;
	display: block;
	opacity: 0;
	z-index: 1;
	transition: 0s opacity 3s;
}
.banner img.show {
  opacity: 1;
  transition: 3s opacity;
  z-index: 9;
}
.banner-countdown {
  position: absolute;
  z-index: 11;
  left: 0;
  bottom: 4vw;
  padding: 2vw 4vw .5vw 8vw;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
}
.banner-countdown h2 {
  color: #94C11C;
}
.banner-countdown h2 big {
  font-size: 2em;
}
.banner-countdown h1 {
  display: flex;
  align-items: baseline;
  color: inherit;
}
.banner-countdown h1 > span {
  display: inline-block;
  min-width: 1.375em;
  margin-left: .125em;
  border-left: 2px dotted rgba(148, 193, 28, 0.5);
  padding-left: .125em;
}
.banner-countdown h1 > span:first-of-type {
  margin-left: .5em;
}
.banner-countdown h1 > span small {
  display: block;
  font-size: .375em;
  font-family: "Ciutadella Light", sans-serif;
  line-height: .75em;
  color: #94C11C;
}
@media screen and (max-width: 799px) {
  .banner-countdown {
    font-size: 2vw;
    top: 0;
    bottom: 0;
    right: 0;
    padding-bottom: 2vw;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-color: rgba(0, 0, 0, 0.3);
  }
  .banner-countdown h2 {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 479px) {
  .banner-countdown {
    font-size: 2.5vw;
  }
}
.button {
  padding: .5vw 1vw;
  border: none;
  background-color: #94C11C;
  color: white;
  font-family: "Ciutadella Bold", sans-serif;
  font-size: inherit;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.333em;
  cursor: pointer;
  transition: 0.25s background-color;
}
.button:hover,
.button:focus {
  background-color: #59A52B;
}
.button.mdi {
  padding: .5vw;
}
.button.mdi::before {
  width: 1em;
  height: 1em;
  line-height: 1em;
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 1.333em;
}
@media screen and (min-width: 1024px) and (max-width: 1359px) {
  .button {
    padding: .6vw 1.1vw;
  }
  .button.mdi {
    padding: .6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .button {
    padding: .7vw 1.2vw;
  }
  .button.mdi {
    padding: .7vw;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .button {
    padding: .8vw 1.4vw;
  }
  .button.mdi {
    padding: .8vw;
  }
}
@media screen and (min-width: 360px) and (max-width: 479px) {
  .button {
    padding: 1vw 1.6vw;
  }
  .button.mdi {
    padding: 1vw;
  }
}
.header {
  z-index: 10;
  padding: 0 8vw 0;
  height: 5vw;
  width: 100%;
  background-color: #009033;
  top: 0;
  transition: 0.5s background-color, 0.5s color, 0.5s box-shadow;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1em;
  color: white;
  box-shadow: 0 0 0 0 transparent;
  position: sticky;
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .header {
    height: 6vw;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .header {
    height: 8vw;
  }
}
@media screen and (max-width: 479px) {
  .header {
    height: 12vw;
  }
}
.header a {
  text-transform: uppercase;
  color: inherit;
}
.header a:hover {
  color: inherit;
}
.header-logo {
  display: block;
  position: relative;
  width: 8vw;
  height: 8vw;
  margin: -4vw 0 -4vw -2.92vw;
  border-radius: 50%;
  overflow: hidden;
  transform: scale(1);
  transition: .5s transform;
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .header-logo {
    width: 9vw;
    height: 9vw;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .header-logo {
    width: 10vw;
    height: 10vw;
  }
}
@media screen and (min-width: 360px) and (max-width: 479px) {
  .header-logo {
    width: 16vw;
    height: 16vw;
  }
}
.header-logo svg {
  width: 100%;
  height: 100%;
}
.header-logo svg circle,
.header-logo svg rect,
.header-logo svg path,
.header-logo svg polygon {
  transition: .5s fill;
}
.header-logo svg .disc circle {
  fill: black;
}
.header-logo svg .text * {
  fill: white;
}
.header-logo svg .discs-1 circle {
  fill: #94C11C;
}
.header-logo svg .discs-2 circle {
  fill: #59A52B;
}
.header-logo svg .discs-3 circle {
  fill: #009033;
}
.header-menu {
  position: relative;
  flex: 1 1 auto;
  margin: 0 .5vw 0 2vw;
  display: flex;
  justify-content: flex-end;
}
@media screen and (min-width: 1024px) and (max-width: 1359px) {
  .header-menu {
    margin: 0 .6vw 0 2.4vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .header-menu {
    margin: 0 .7vw 0 2.7vw;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .header-menu {
    margin: 0 .8vw 0 3vw;
  }
}
@media screen and (max-width: 479px) {
  .header-menu {
    margin: 0 1vw 0 3.6vw;
  }
}
.header-menu a {
  padding: .5vw 1vw;
  border: none;
  background-color: #94C11C;
  color: white;
  font-family: "Ciutadella Bold", sans-serif;
  font-size: inherit;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.333em;
  cursor: pointer;
  transition: 0.25s background-color;
  display: block;
  background-color: transparent;
}
.header-menu a:hover,
.header-menu a:focus {
  background-color: #59A52B;
}
.header-menu a.mdi {
  padding: .5vw;
}
.header-menu a.mdi::before {
  width: 1em;
  height: 1em;
  line-height: 1em;
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 1.333em;
}
@media screen and (min-width: 1024px) and (max-width: 1359px) {
  .header-menu a {
    padding: .6vw 1.1vw;
  }
  .header-menu a.mdi {
    padding: .6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .header-menu a {
    padding: .7vw 1.2vw;
  }
  .header-menu a.mdi {
    padding: .7vw;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .header-menu a {
    padding: .8vw 1.4vw;
  }
  .header-menu a.mdi {
    padding: .8vw;
  }
}
@media screen and (min-width: 360px) and (max-width: 479px) {
  .header-menu a {
    padding: 1vw 1.6vw;
  }
  .header-menu a.mdi {
    padding: 1vw;
  }
}
.header-menu a:hover {
  background-color: #94C11C;
}
.header-links {
  flex: 1 1 auto;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 479px) {
  .header-links {
    display: block;
    position: absolute;
    z-index: 10;
    top: 0;
    right: 0;
    overflow: hidden;
    background-color: #94C11C;
    width: 0;
    opacity: 0;
    transition: .5s;
  }
  .header-links.show {
    width: 100%;
    opacity: 1;
  }
  .header-links a {
    white-space: nowrap;
  }
  .header-links a ~ a {
    padding-top: 0;
  }
}
.header-picks {
  display: flex;
  flex: 1 1 auto;
  margin-right: 4vw;
}
.header-picks a {
  position: relative;
  font-family: "Ciutadella Light", sans-serif;
  text-transform: none;
  min-width: 2.375vw;
  padding-left: .25em;
  padding-right: .5em;
}
.header-picks a::before {
  content: "";
  position: absolute;
  left: 0;
  top: .5625vw;
  bottom: 0;
  border-left: 2px dotted rgba(148, 193, 28, 0.5);
}
.header-picks a small {
  position: absolute;
  display: block;
  color: #94C11C;
  font-family: "Ciutadella Bold", sans-serif;
  font-size: .5em;
  line-height: .9em;
  text-transform: uppercase;
}
.header-picks a.today small {
  color: white;
  transition: .25s color;
}
@media screen and (max-width: 1023px) {
  .header-picks {
    display: none;
  }
}
.header-more {
  padding: .5vw 1vw;
  border: none;
  background-color: #94C11C;
  color: white;
  font-family: "Ciutadella Bold", sans-serif;
  font-size: inherit;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.333em;
  cursor: pointer;
  transition: 0.25s background-color;
  margin-left: .5vw;
  background-color: transparent;
}
.header-more:hover,
.header-more:focus {
  background-color: #59A52B;
}
.header-more.mdi {
  padding: .5vw;
}
.header-more.mdi::before {
  width: 1em;
  height: 1em;
  line-height: 1em;
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 1.333em;
}
@media screen and (min-width: 1024px) and (max-width: 1359px) {
  .header-more {
    padding: .6vw 1.1vw;
  }
  .header-more.mdi {
    padding: .6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .header-more {
    padding: .7vw 1.2vw;
  }
  .header-more.mdi {
    padding: .7vw;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .header-more {
    padding: .8vw 1.4vw;
  }
  .header-more.mdi {
    padding: .8vw;
  }
}
@media screen and (min-width: 360px) and (max-width: 479px) {
  .header-more {
    padding: 1vw 1.6vw;
  }
  .header-more.mdi {
    padding: 1vw;
  }
}
.header-more:hover {
  background-color: #94C11C;
}
@media screen and (min-width: 480px) {
  .header-more {
    display: none;
  }
}
@media screen and (max-width: 479px) {
  .header-more {
    position: relative;
    z-index: 11;
  }
}
.header-search {
  width: 2.5vw;
  position: relative;
  z-index: 12;
}
.header-search input {
  position: absolute;
  height: 100%;
  right: 0;
  flex: 1 1 auto;
  font-family: "Ciutadella Light", sans-serif;
  font-size: inherit;
  line-height: 1.5vw;
  padding: .5vw .5vw .5vw 2.5vw;
  background-color: transparent;
  border: none;
  color: white;
  transition: .25s;
  width: 0;
  opacity: 0;
  cursor: pointer;
}
.header-search button {
  padding: .5vw 1vw;
  border: none;
  background-color: #94C11C;
  color: white;
  font-family: "Ciutadella Bold", sans-serif;
  font-size: inherit;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.333em;
  cursor: pointer;
  transition: 0.25s background-color;
  background-color: transparent;
}
.header-search button:hover,
.header-search button:focus {
  background-color: #59A52B;
}
.header-search button.mdi {
  padding: .5vw;
}
.header-search button.mdi::before {
  width: 1em;
  height: 1em;
  line-height: 1em;
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 1.333em;
}
@media screen and (min-width: 1024px) and (max-width: 1359px) {
  .header-search button {
    padding: .6vw 1.1vw;
  }
  .header-search button.mdi {
    padding: .6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .header-search button {
    padding: .7vw 1.2vw;
  }
  .header-search button.mdi {
    padding: .7vw;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .header-search button {
    padding: .8vw 1.4vw;
  }
  .header-search button.mdi {
    padding: .8vw;
  }
}
@media screen and (min-width: 360px) and (max-width: 479px) {
  .header-search button {
    padding: 1vw 1.6vw;
  }
  .header-search button.mdi {
    padding: 1vw;
  }
}
.header-search:hover button {
  background-color: #94C11C;
}
.header-search:focus-within input {
  width: 24vw;
  opacity: 1;
  padding: .5vw;
  margin-right: 2.5vw;
  background-color: #94C11C;
  cursor: text;
}
@media screen and (min-width: 1024px) and (max-width: 1359px) {
  .header-search:focus-within input {
    width: 32vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .header-search:focus-within input {
    width: 44vw;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .header-search:focus-within input {
    width: 48vw;
  }
}
@media screen and (max-width: 479px) {
  .header-search:focus-within input {
    width: 64vw;
  }
}
.header-search:focus-within button {
  background-color: #94C11C;
}
.header.stuck {
  background-color: white;
  color: black;
  box-shadow: 0 0 3vw 3vw rgba(0, 0, 0, 0.1);
}
.header.stuck a {
  color: inherit;
}
.header.stuck .header-logo {
  transform: scale(0.6);
}
.header.stuck .header-logo svg .text * {
  fill: black;
}
.header.stuck .header-logo svg .disc circle {
  fill: transparent;
}
.header.stuck .header-picks a.today small {
  color: black;
}
.header.stuck button {
  color: black;
}
.bignews {
  padding: 0 !important;
}
.bignews > div {
  display: flex;
  flex-direction: column;
}
.bignews > div article {
  position: relative;
  flex: 0 0 62vh;
}
.bignews > div article + article::before {
  content: '';
  position: absolute;
  z-index: 1;
  width: 100%;
  top: -1px;
  border-top: 2px dotted #94C11C;
}
.bignews-img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
  display: block;
  background-size: cover;
  background-position: center;
}
.bignews-txt {
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0 38vw 3vw 0;
  padding: 0vw 2vw 0vw 8vw;
  color: white;
  background-color: rgba(0, 0, 0, 0.85);
  overflow-x: hidden;
  overflow-y: auto;
  max-height: 72%;
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .bignews-txt {
    margin-bottom: 2vw;
  }
}
.bignews-txt h1 {
  color: #94C11C;
  margin-bottom: .5em;
}
.bignews-txt h3 {
  color: inherit;
  margin-bottom: .5em;
}
.bignews-txt p {
  color: inherit;
  margin-top: 0;
}
.bignews-btn {
  position: absolute;
  right: 8vw;
  bottom: 0;
  z-index: 1;
  padding: .25em .75em 1.5vw;
  background-color: #94C11C;
  color: white;
  font-family: "Ciutadella Bold", sans-serif;
  text-decoration: none;
  text-transform: uppercase;
  transition: 0.25s background-color;
}
.bignews-btn:hover {
  background-color: #59A52B;
  color: white;
  text-decoration: none;
}
@media screen and (max-width: 799px) {
  .bignews > div article {
    background-color: black;
    flex: 0 0 auto;
  }
  .bignews-img {
    position: static;
    height: 100vw;
    max-height: 80vh;
  }
  .bignews-txt {
    position: relative;
    margin: 0;
    padding-top: 2vw;
    padding-bottom: 6vw;
    overflow-x: visible;
    overflow-y: visible;
  }
  .bignews-txt h1 {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    margin: 0;
    padding: 4vw 8vw 2vw 8vw;
  }
  .bignews-txt h3 {
    margin-top: 0;
  }
}
.highlights {
  display: flex;
  background-color: #94C11C;
  padding: 0 7vw 0 8vw !important;
}
@media screen and (max-width: 479px) {
  .highlights {
    flex-direction: column;
    padding: 2vw 8vw !important;
  }
}
.highlights article {
  align-items: stretch;
  min-width: 20vw;
  max-width: 36vw;
  font-size: .9em;
  line-height: 1.125em;
  padding: 2vw 0;
}
@media screen and (max-width: 1023px) {
  .highlights article {
    min-width: 24vw;
  }
}
@media screen and (max-width: 799px) {
  .highlights article {
    flex-direction: column-reverse;
    align-items: flex-end;
  }
}
@media screen and (max-width: 479px) {
  .highlights article {
    min-width: auto;
    max-width: none;
  }
}
@media screen and (min-width: 480px) {
  .highlights article + article {
    padding-left: 1vw;
    border-left: 2px dotted #59A52B;
  }
}
@media screen and (max-width: 479px) {
  .highlights article + article {
    padding-top: 1vw;
    border-top: 2px dotted #59A52B;
  }
}
.highlights-img {
  float: right;
  flex: 0 0 auto;
  width: 8vw;
  height: 8vw;
  margin: -1.5vw 0.5vw -1.5vw 0.5vw;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .highlights-img {
    margin-bottom: .5vw;
  }
}
@media screen and (max-width: 799px) {
  .highlights-img {
    margin: -0.5vw 1vw 0.5vw 1vw;
  }
}
@media screen and (max-width: 479px) {
  .highlights-img {
    width: 12vw;
    height: 12vw;
  }
}
.highlights-img img {
  display: block;
  width: 100%;
  min-width: 100%;
  min-height: 100%;
}
.highlights-txt {
  order: -1;
  flex: 1;
}
@media screen and (max-width: 799px) {
  .highlights-txt {
    margin: 0 1vw 0 0;
  }
}
.highlights h2 {
  margin: 0 0 .25em;
}
.highlights p {
  margin: 0;
}
.overview .content {
  display: flex;
  margin-left: -2vw;
}
@media screen and (max-width: 479px) {
  .overview .content {
    flex-direction: column;
  }
}
.overview .content article {
  flex: 0 0 calc(25% - 2vw);
  padding-bottom: .5em;
  border-bottom: 2px dotted rgba(148, 193, 28, 0.5);
  margin-bottom: 2vw;
  display: flex;
  flex-direction: column;
  background-color: white;
  margin-left: 2vw;
}
@media screen and (min-width: 1024px) and (max-width: 1359px) {
  .overview .content article {
    flex-basis: calc(33.333% - 2vw);
  }
}
@media screen and (max-width: 1023px) {
  .overview .content article {
    flex-basis: calc(50% - 2vw);
  }
}
@media screen and (max-width: 479px) {
  .overview .content article {
    flex-basis: auto;
  }
}
.overview .content article .img {
  flex: 0 0 auto;
  display: block;
  position: relative;
}
.overview .content article .img img {
  display: block;
  max-width: 100%;
  transition: .5s filter;
  filter: grayscale(100%);
}
.overview .content article .img .datetime {
  font-size: .8667em;
  line-height: 1.125em;
  position: absolute;
  left: 0;
  bottom: .75vw;
  padding: .25vw .5vw;
  margin-right: 2vw;
  background-color: rgba(0, 0, 0, 0.85);
  color: white;
  font-family: "Ciutadella Light", sans-serif;
}
.overview .content article .img .datetime p {
  margin: 0;
  line-height: 1.25em;
}
.overview .content article .img .datetime span:first-child {
  font-family: "Ciutadella Bold", sans-serif;
}
.overview .content article .img .datetime span + span::before {
  opacity: .25;
  content: "\200a|\200a";
}
.overview .content article .txt {
  flex: 1 1 auto;
  padding: 0 .5vw;
}
.overview .content article .txt h1 {
  margin: 1vw 0 0;
  font-size: 1.333em;
  line-height: 1.125em;
}
.overview .content article .txt h1 a {
  font-family: inherit;
}
.overview .content article .txt h2 {
  font-size: .8667em;
  line-height: 1.125em;
  margin-bottom: 0;
  text-transform: none;
}
.overview .content article .txt p {
  margin-top: 0;
  display: block;
  font-family: "Ciutadella Light", sans-serif;
  font-size: .8667em;
  line-height: 1.125em;
}
.overview .content article .txt p.author {
  color: #59A52B;
}
.overview .content article .button {
  display: block;
  text-align: right;
  padding: .25em .5em;
  margin-bottom: calc((.5em + .16vw) * -1);
  background-color: #94C11C;
  color: white;
  font-family: "Ciutadella Bold", sans-serif;
  text-decoration: none;
  text-transform: uppercase;
  transition: 0.25s background-color;
}
.overview .content article .button:hover {
  background-color: #59A52B;
}
.overview .content article:nth-child(3n + 1) .img h1 {
  background-color: rgba(89, 165, 43, 0.85);
}
.overview .content article:nth-child(3n + 2) .img h1 {
  background-color: rgba(148, 193, 28, 0.85);
}
.overview .content article:hover .img img {
  filter: grayscale(0%);
}
.videos {
  background-color: #242424;
  color: #59A52B;
}
.videos .content {
  display: flex;
}
.videos .content article {
  flex: 1 1 50%;
  border-bottom: 2px dotted rgba(89, 165, 43, 0.5);
  text-decoration: none;
}
.videos .content article + article {
  margin-left: 2vw;
}
.videos .content article iframe {
  display: block;
  width: 100%;
  height: 23.0625vw;
}
.videos .content article p {
  margin: .5em 0;
}
.videos .content article a {
  color: #59A52B;
}
@media screen and (max-width: 799px) {
  .videos .content {
    flex-direction: column;
  }
  .videos .content article {
    flex: 0 0 auto;
    margin-bottom: 4vw;
  }
  .videos .content article + article {
    margin-left: 0;
  }
  .videos .content article iframe {
    height: 47.25vw;
  }
}
.gallery {
  background-color: none;
  transition: .5s;
  color: #59A52B;
  overflow: hidden;
}
.gallery.black {
  background-color: #181818;
}
.gallery .content {
  display: flex;
  margin-left: -2vw;
}
.gallery .content a {
  flex: 0 0 36vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #59A52B;
  border-bottom: 2px dotted rgba(89, 165, 43, 0.5);
  text-decoration: none;
  margin-left: 2vw;
  overflow: hidden;
}
.gallery .content img {
  display: block;
  height: 24vw;
}
.gallery .content p {
  width: 100%;
  margin: .5em 0;
}
.gallery .content small {
  float: right;
  font-family: "Ciutadella Light", sans-serif;
}
.gallery .more {
  display: none;
}
@media screen and (max-width: 479px) {
  .gallery .content {
    flex-direction: column;
  }
  .gallery .content a {
    flex-basis: auto;
    margin-bottom: 4vw;
  }
  .gallery .content a ~ a {
    flex-basis: 0;
    margin-bottom: 0;
    border-bottom-width: 0;
  }
  .gallery .content p {
    font-size: 1em;
  }
  .gallery .content img {
    height: auto;
    width: 100%;
  }
  .gallery .content.expand a ~ a {
    flex-basis: auto;
    margin-bottom: 4vw;
    border-bottom-width: 2px;
  }
  .gallery .more {
    display: inline-block;
  }
}
.gallery .close {
  float: right;
}
.gallery.fullscreen {
  position: fixed;
  z-index: 20;
  height: 100vh;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.95);
}
.gallery.fullscreen .content {
  height: 80vh;
}
.gallery.fullscreen .content a {
  flex-basis: 100%;
}
.gallery.fullscreen .content img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
}
.filter {
  background-color: #333;
  position: relative;
}
@media screen and (min-width: 480px) {
  .filter {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 479px) {
  .filter {
    padding-bottom: 2vw;
  }
}
.filter .content {
  display: flex;
  justify-content: flex-start;
  overflow-x: auto;
  margin: 0 -8vw;
  padding: 0 8vw;
}
@media screen and (max-width: 479px) {
  .filter .content {
    flex-direction: column;
  }
}
.filter article {
  flex: 0 0 auto;
  padding: 2vw 0 1.5vw;
  margin-right: 1vw;
  display: flex;
  justify-content: space-between;
}
.filter article label {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.filter article label span {
  display: block;
  line-height: 2vw;
  margin-top: -2vw;
  color: white;
  font-family: "Ciutadella Light", sans-serif;
  font-size: .85em;
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .filter article label span {
    line-height: 3vw;
    margin-top: -3vw;
  }
}
@media screen and (max-width: 479px) {
  .filter article label span {
    line-height: 4vw;
    margin-top: -4vw;
  }
}
.filter article select {
  border: none;
  background-color: #94C11C;
  color: white;
  padding: .5vw;
  font-family: "Ciutadella Light", sans-serif;
  font-size: 1em;
  line-height: 1.25em;
  cursor: pointer;
}
@media screen and (min-width: 800px) {
  .filter article select {
    max-width: 16vw;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .filter article select {
    max-width: 14vw;
  }
}
@media screen and (max-width: 479px) {
  .filter article select {
    width: 100%;
  }
}
.filter article select option {
  font-size: 0.75rem;
}
.filter article button {
  border: none;
  background-color: #94C11C;
  color: white;
  padding: .5vw 1vw;
  font-family: "Ciutadella Bold", sans-serif;
  font-size: 1em;
  line-height: 1.25em;
  cursor: pointer;
}
.filter article button.show-filter {
  width: 1.75em;
  margin-left: 1vw;
}
.filter article button.show-filter.show {
  background-color: #009033;
}
@media screen and (min-width: 480px) {
  .filter article button.show-filter {
    display: none;
  }
}
.filter article.active select {
  background-color: #009033;
}
.filter article.active button.all {
  background-color: #009033;
}
@media screen and (min-width: 480px) {
  .filter article.active {
    padding: 2vw .5vw 1.5vw;
    background-color: #eee;
  }
  .filter article.active label span {
    color: black;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .filter article {
    padding: 3vw 0 3vw;
    margin-right: 1vw;
  }
  .filter article.active {
    padding: 3vw 1vw 3vw;
  }
}
@media screen and (max-width: 479px) {
  .filter article {
    padding: 4vw 0 2vw;
    margin-right: 0;
  }
  .filter article.hidden:not(.show) {
    display: none;
  }
}
.program .content {
  display: flex;
  flex-direction: column;
}
.program .content article {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: flex-end;
  flex-direction: row;
  background-color: white;
}
@media screen and (max-width: 799px) {
  .program .content article {
    align-items: baseline;
  }
}
.program .content article + article::before {
  content: '';
  position: absolute;
  z-index: 1;
  width: 100%;
  top: -1px;
  border-top: 2px dotted #94C11C;
}
.program .content article .img {
  flex: 0 0 14vw;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 10vw;
  height: 10vw;
  margin: 1vw;
  overflow: hidden;
  border-radius: 50%;
}
.program .content article .img img {
  display: block;
  height: 100%;
}
@media screen and (max-width: 799px) {
  .program .content article .img {
    display: none;
  }
}
.program .content article .txt {
  padding: 0 1vw 2vw;
}
.program .content article .txt:first-of-type {
  flex: 0 0 20vw;
}
.program .content article .txt:last-of-type {
  flex: 1 1 auto;
}
@media screen and (max-width: 1359px) {
  .program .content article .txt {
    padding: 0 1vw 1vw;
  }
  .program .content article .txt:first-of-type {
    flex-basis: 24vw;
  }
}
.program .content article .txt h1 {
  margin: .75vw 0 0;
  font-size: 1.5em;
}
@media screen and (max-width: 1359px) {
  .program .content article .txt h1 {
    font-size: 1.25em;
  }
}
.program .content article .txt h1 a {
  font-family: inherit;
}
.program .content article .txt p {
  margin: 0;
  font-family: "Ciutadella Light", sans-serif;
  display: inline-block;
}
.program .content article .txt p:not(.bold) + p:not(.bold)::before {
  opacity: .25;
  content: "\200a|\200a";
}
.program .content article .txt p.bold {
  display: block;
  font-family: "Ciutadella Bold", sans-serif;
  margin-top: .75em;
}
.program .content article .button {
  padding: .5vw 1vw;
  border: none;
  background-color: #94C11C;
  color: white;
  font-family: "Ciutadella Bold", sans-serif;
  font-size: inherit;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.333em;
  cursor: pointer;
  transition: 0.25s background-color;
  position: absolute;
  right: 2vw;
  bottom: 0;
}
.program .content article .button:hover,
.program .content article .button:focus {
  background-color: #59A52B;
}
.program .content article .button.mdi {
  padding: .5vw;
}
.program .content article .button.mdi::before {
  width: 1em;
  height: 1em;
  line-height: 1em;
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 1.333em;
}
@media screen and (min-width: 1024px) and (max-width: 1359px) {
  .program .content article .button {
    padding: .6vw 1.1vw;
  }
  .program .content article .button.mdi {
    padding: .6vw;
  }
}
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .program .content article .button {
    padding: .7vw 1.2vw;
  }
  .program .content article .button.mdi {
    padding: .7vw;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .program .content article .button {
    padding: .8vw 1.4vw;
  }
  .program .content article .button.mdi {
    padding: .8vw;
  }
}
@media screen and (min-width: 360px) and (max-width: 479px) {
  .program .content article .button {
    padding: 1vw 1.6vw;
  }
  .program .content article .button.mdi {
    padding: 1vw;
  }
}
@media screen and (max-width: 479px) {
  .program .content article {
    flex-direction: column;
    align-items: stretch;
  }
  .program .content article .txt {
    flex: 0 0 auto !important;
    padding-bottom: 4vw;
  }
  .program .content article .txt:first-of-type {
    display: flex;
  }
  .program .content article .txt:first-of-type > div:first-of-type {
    flex: 0 0 24vw;
  }
  .program .content article .txt:first-of-type > div:last-of-type {
    flex: 1 1 auto;
  }
}
@media screen and (max-width: 1359px) {
  .program {
    font-size: .9em;
  }
}
.detail {
  padding: 0 !important;
}
.detail-header {
  min-height: 20vw;
  background-color: #333;
  position: relative;
  padding-top: 1px;
}
.detail-header .img {
  position: relative;
  min-height: 64vh;
  max-height: 88vw;
  background-size: cover;
  background-position: center;
}
.detail-header .txt {
  position: absolute;
  left: 8vw;
  bottom: 0;
  width: 50vw;
  padding: 2vw 4vw 1px;
  background: rgba(255, 255, 255, 0.9);
}
.detail-header .txt h1 {
  font-size: 3.2vw;
  color: #94C11C;
}
.detail-header .txt h1:not(:last-child) {
  margin-bottom: 0;
}
.detail-header .txt h2 {
  color: -dfsdgffg-;
  margin-bottom: 0;
}
.detail-header .txt h3 {
  font-family: "Ciutadella Light", sans-serif;
  margin-top: .25vw;
}
.detail-header .txt h3 + *:not(h2) {
  margin-top: 4vw;
}
@media screen and (max-width: 1023px) {
  .detail-header .txt {
    width: 56vw;
  }
  .detail-header .txt h1 {
    font-size: 2.4em;
  }
}
@media screen and (max-width: 799px) {
  .detail-header .txt {
    width: 100vw;
    left: 0;
    right: 0;
    padding: 2vw 8vw 0;
  }
}
@media screen and (max-width: 799px) {
  .detail-header .img {
    min-height: 48vh;
    max-height: 88vw;
  }
}
@media screen and (max-width: 479px) {
  .detail-header {
    height: auto;
    max-height: none;
  }
  .detail-header .img {
    position: static;
    min-height: 64vw;
    max-height: 88vw;
  }
  .detail-header .txt {
    position: static;
    background-color: white;
    padding: 8vw 8vw 2vw;
  }
  .detail-header .txt h1 {
    margin-top: 0;
  }
}
@media screen and (max-width: 799px) {
  .detail {
    background-color: white;
  }
}
.detail .content {
  padding: 0 8vw 4vw;
  justify-content: space-between;
  display: flex;
  align-items: baseline;
}
.detail .content article {
  flex: 0 0 50vw;
  background: white;
  padding: 4vw;
}
@media screen and (max-width: 1023px) {
  .detail .content article {
    flex-basis: 56vw;
  }
}
.detail .content aside {
  flex: 1 1 auto;
  margin-left: 4vw;
  font-family: "Ciutadella Light", sans-serif;
  font-size: .9em;
}
@media screen and (max-width: 799px) {
  .detail .content {
    flex-direction: column;
    align-items: stretch;
  }
  .detail .content article {
    flex: 0 0 auto;
    padding: 4vw 0;
  }
  .detail .content aside {
    background-color: #eee;
    margin-left: 0;
    padding: 2vw 4vw;
    flex: 0 0 auto;
  }
}
.detail .content h1 {
  font-size: 3.2vw;
  color: #94C11C;
}
.detail .content h2 {
  margin: 3vw 0 -1vw;
  color: #009033;
}
.detail .content h3 {
  margin: 3vw 0 -1vw;
  font-family: "Ciutadella Light", sans-serif;
}
.detail .content p {
  margin: 2vw 0;
}
.detail .content img {
  display: block;
  margin: 2vw 0;
  max-width: 100%;
}
.detail .content ol {
  list-style: none;
  counter-reset: li_item;
  padding-left: 0;
}
.detail .content ol > li {
  counter-increment: li_item;
}
.detail .content ol > li::before {
  content: counter(li_item);
  display: inline-block;
  width: 2vw;
  color: #94C11C;
  font-family: "Ciutadella Bold", sans-serif;
  text-align: left;
}
.detail .content dl {
  margin: 2vw 0;
}
.detail .content dl dt {
  font-family: "Ciutadella Bold", sans-serif;
}
.detail .content dl dd {
  margin-left: 0;
}
.detail .content dl dd + dt {
  margin-top: .5vw;
}
.detail .content blockquote {
  border-left: 2px dotted #94C11C;
  margin-left: 2vw;
  padding-left: 2vw;
}
.detail .content blockquote p:last-of-type {
  margin-bottom: .5vw;
}
.detail .content blockquote small {
  font-family: "Ciutadella Light", sans-serif;
}
.partners {
  background: white;
}
.partners div {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  .partners div {
    flex-direction: column;
    flex: 0 0 auto;
  }
}
.partners div article {
  flex: 1 1 auto;
  border-bottom: 2px dotted rgba(0, 0, 0, 0.25);
  margin-bottom: 2vw;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .partners div article + article {
    margin-left: 2vw;
  }
}
.partners h2 {
  margin-bottom: .5vw;
  flex: 0 0 auto;
}
.partners p {
  flex: 1 1 auto;
  margin: 0 0 0 -3vw;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 479px) {
  .partners p {
    margin-left: -6vw;
  }
}
.partners a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 1.5vw 0 1.5vw 3vw;
  min-width: 64px;
  min-height: 64px;
  width: 5vw;
  height: 5vw;
}
@media screen and (max-width: 479px) {
  .partners a {
    margin: 3vw 0 3vw 6vw;
  }
}
.partners a img {
  display: block;
  max-width: 100%;
  max-height: 100%;
}
.partners.black {
  background-color: #0a0a0a;
  overflow: visible;
}
.partners.black article {
  border-color: rgba(255, 255, 255, 0.125);
}
.partners.black h2 {
  color: rgba(255, 255, 255, 0.5);
}
.partners.black a {
  position: relative;
  opacity: .75;
  background-color: black;
}
.partners.black a::before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.039212);
}
.partners.black a:hover {
  opacity: 1;
}
.register h3 {
  margin-bottom: 0;
}
.register input,
.register select,
.register textarea {
  border: 2px dotted rgba(148, 193, 28, 0.5);
  width: 100%;
  padding: .5em .5em;
  font-family: "Ciutadella Light", sans-serif;
  font-size: 1em;
  line-height: 1.125em;
  color: #009033;
}
.register input[type=checkbox] {
  width: auto;
}
.register input[type=number] {
  width: 3.2em;
}
.register textarea {
  resize: vertical;
  min-height: 16vh;
  max-height: 64vh;
}
.register label {
  display: block;
  font-family: "Ciutadella Light", sans-serif;
}
.register .button {
  color: white;
  font-family: "Ciutadella Bold", sans-serif;
}
.register fieldset {
  border: 0;
  padding: 0;
  margin: 0 0 0 calc(-1em - 2px);
  border-left: 2px dotted rgba(0, 0, 0, 0.25);
  padding-left: 1em;
}
.register fieldset + fieldset {
  margin-top: 2vw;
}
.register fieldset legend {
  font-family: "Ciutadella Bold", sans-serif;
  color: #59A52B;
  padding: 0;
  margin: .5vw 0 2vw;
  position: relative;
  top: .5vw;
}
.register fieldset > b,
.register fieldset > small {
  display: inline-block;
  margin: 0 1vw .25vw 0;
  font-size: .75em;
}
.register fieldset table {
  width: 100%;
  border-collapse: collapse;
}
.register fieldset table tbody tr th,
.register fieldset table tbody tr td {
  font-weight: normal;
  text-align: left;
  padding: .25em 0;
}
.register fieldset table tbody tr th label {
  min-width: 6vw;
  padding-right: 1vw;
}
.register fieldset table tbody tr td label {
  display: flex;
  align-items: center;
  line-height: 1em;
}
.register fieldset table tbody tr td label .js-checkbox {
  flex: 0 0 1.5em;
  width: 1.5em;
  height: 1.5em;
  border: 2px dotted rgba(148, 193, 28, 0.5);
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.5em;
}
.register fieldset table tbody tr td label .js-checkbox::before {
  color: #009033;
}
.register fieldset table tbody tr td label .js-checkbox:not(.checked)::before {
  content: none;
}
.register fieldset table tbody tr td label .js-checkbox + input {
  flex: 0 0 1.5em;
  width: 1.5em;
  height: 1.5em;
  margin: 0 0.5em 0 -1.5em;
  opacity: 0;
  cursor: pointer;
  font-size: 1.5rem;
}
.register fieldset table tbody tr.required label::after {
  font: normal normal normal 24px/1 "Material Design Icons";
  content: '\FAE1';
  text-rendering: auto;
  color: #009033;
  float: right;
  font-size: .625em;
  margin-right: -0.25em;
}
@media screen and (max-width: 479px) {
  .register fieldset table {
    display: block;
  }
  .register fieldset table tbody {
    display: block;
  }
  .register fieldset table tbody tr {
    display: block;
  }
  .register fieldset table tbody tr th,
  .register fieldset table tbody tr td {
    display: block;
  }
  .register fieldset table tbody tr th {
    padding-top: 1em;
    padding-bottom: 0;
  }
  .register fieldset table tbody tr td {
    padding-top: 0;
  }
}
.footer {
  position: relative;
  padding: 2vw 8vw 2vw 8vw;
  background: #000;
  color: white;
}
.footer::before {
  position: absolute;
  display: block;
  right: 6vw;
  width: 8vw;
  height: 8vw;
  margin-top: -4vw;
  border-radius: 50%;
  background: #009033 url("../img/motto.png") center center / cover;
}
.footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  font-size: .9em;
  line-height: 1.5em;
}
.footer ul li {
  display: inline-block;
}
.footer ul li + li {
  margin-left: .5em;
}
.footer ul a {
  font-family: "Ciutadella Light", sans-serif;
  color: #59A52B;
  text-decoration: none;
  white-space: nowrap;
}
.footer h3 a {
  text-decoration: none;
}
.footer > div {
  display: flex;
  justify-content: space-between;
  margin-left: -2vw;
}
.footer > div article {
  flex: 1 1 auto;
  border-bottom: 2px dotted rgba(255, 255, 255, 0.25);
  margin-bottom: 2vw;
  margin-left: 2vw;
}
@media screen and (max-width: 1023px) {
  .footer > div {
    flex-wrap: wrap;
  }
  .footer > div article {
    flex: 1 0 33%;
  }
}
@media screen and (min-width: 480px) and (max-width: 799px) {
  .footer > div {
    margin-left: -3vw;
  }
  .footer > div article {
    margin-left: 3vw;
  }
  .footer > div article:nth-child(1) {
    order: 1;
  }
  .footer > div article:nth-child(2) {
    order: 3;
  }
  .footer > div article:nth-child(3) {
    order: 4;
  }
  .footer > div article:nth-child(4) {
    order: 2;
  }
}
@media screen and (max-width: 479px) {
  .footer > div {
    flex-direction: column;
  }
  .footer > div article {
    flex: 0 0 auto;
  }
}
.footer > div a {
  color: #94C11C;
}
.footer > div p {
  font-size: .9em;
  line-height: 1.5em;
}
.footer form > div {
  margin-bottom: 1em;
  border: 2px dotted #94C11C;
  display: flex;
  transition: 0.25s background-color;
}
.footer form > div input {
  flex: 1 1 auto;
  font-family: "Ciutadella Light", sans-serif;
  font-size: 1em;
  line-height: 1.75em;
  padding: 0 2.5em 0 .5em;
  background-color: transparent;
  border: none;
  color: #94C11C;
  transition: .25s color;
}
.footer form > div button {
  flex: 0 0 2.125vw;
  margin-left: -2.125vw;
  background-color: transparent;
  border: none;
  color: #94C11C;
  cursor: pointer;
  transition: .25s color;
}
.footer form > div button::before {
  font-size: 1.6em !important;
}
.footer form > div:focus-within {
  background-color: #94C11C;
}
.footer form > div:focus-within input,
.footer form > div:focus-within button {
  color: white;
}
.footer .social {
  display: flex;
}
.footer .social a {
  display: block;
  margin-right: .25em;
  font-size: 2em;
}
.footer .copyright {
  font-family: "Ciutadella Light", sans-serif;
  font-size: .7em;
  line-height: 1em;
  margin: 3em 0 0;
  color: #444;
}
.footer .copyright span {
  visibility: hidden;
}
.footer .copyright a {
  color: inherit;
}
