/* Custom fonts */
@font-face {
 font-family: 'DIN Medium Regular';
 src: url('../fonts/din_medium-webfont.woff2') format('woff2'), url('../fonts/din_medium-webfont.woff') format('woff');
 font-weight: normal;
 font-style: normal;
}
@font-face {
 font-family: 'DIN Regular';
 src: url('../fonts/din-webfont.woff2') format('woff2'), url('../fonts/din-webfont.woff') format('woff');
 font-weight: normal;
 font-style: normal;
}
/* Common */
body, html {
 min-height: 100%;
}
body {
 font-family: 'DIN Regular', sans-serif;
 font-size: clamp(1.05rem, 1.2vw, 1.2rem);
 background-color: rgb(38, 38, 38);
 overflow-x: hidden;
}
html {
 scroll-behavior: smooth;
 scroll-padding-top: 15vh;
}
@media (min-width:0em) and (max-width:46em) {
 html {
  scroll-padding-top: 20vh;
 }
}
@media (min-width:0em) and (max-width:46em) {
 html {
  scroll-padding-top: 20vh;
 }
}
h1, h2, h3 {
 font-family: "DIN Medium Regular", sans-serif;
 text-transform: uppercase;
 color: rgb(0, 132, 88);
}
h1 em, h2 em, h3 em {
 margin-left: 0.2rem;
 margin-right: 0.5rem
}
img {
 display: block;
 width: 100%;
 height: auto;
}
@media (min-width:0em) and (max-width:46em) {
 p {
  line-height: 1.25;
 }
}
a {
 color: #333;
}
a:hover {
 color: rgb(0, 132, 88);
}
em {
 margin-right: 4px;
}
strong {
 font-family: "DIN Medium Regular", sans-serif;
}
ul {
 list-style: none;
 padding-left: 1rem;
}
ul li {
 position: relative;
}
.alpha-list {
 list-style-type: lower-alpha;
 padding-left: 2.5rem;
}
blockquote {
 border-left: 2px solid rgb(0, 132, 88);
 margin-left: 1.5rem;
 padding-top: 1rem;
 padding-left: 1rem;
}
blockquote p:last-of-type {
 margin-bottom: 0;
}
@media (min-width:0em) and (max-width:46em) {
 blockquote {
  border-left: 1px solid rgb(0, 132, 88);
  margin-left: 0.5rem;
 }
}
hr {
 margin: 0rem 0 1rem;
}
::selection {
 color: rgb(255, 255, 255);
 background-color: rgb(0, 132, 88);
}
.no-pointer {
 pointer-events: none;
}
/* Content */
.wrapper {
 background-color: rgb(255, 255, 255);
 overflow-x: hidden;
}
main {
 position: relative;
 min-width: 100%;
 min-height: 100%;
 overflow-x: hidden;
 z-index: 0;
}
/* Page loader: https://codepen.io/JeromeRenders/pen/VeVwZR */
.loader {
 position: fixed;
 height: 10px;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
}
.loader .item-1 {
 float: left;
 width: 14px;
 margin: 0 4.6666666667px;
 border-radius: 7px;
 animation: anim 1.4s ease-in-out infinite 0.1s;
 animation-fill-mode: backwards;
}
.loader .item-2 {
 float: left;
 width: 14px;
 margin: 0 4.6666666667px;
 border-radius: 7px;
 animation: anim 1.4s ease-in-out infinite 0.2s;
 animation-fill-mode: backwards;
}
.loader .item-3 {
 float: left;
 width: 14px;
 margin: 0 4.6666666667px;
 border-radius: 7px;
 animation: anim 1.4s ease-in-out infinite 0.3s;
 animation-fill-mode: backwards;
}
.loader .item-4 {
 float: left;
 width: 14px;
 margin: 0 4.6666666667px;
 border-radius: 7px;
 animation: anim 1.4s ease-in-out infinite 0.4s;
 animation-fill-mode: backwards;
}
.loader .item-5 {
 float: left;
 width: 14px;
 margin: 0 4.6666666667px;
 border-radius: 7px;
 animation: anim 1.4s ease-in-out infinite 0.5s;
 animation-fill-mode: backwards;
}
@keyframes anim {
 0%, 15%, 85%, 100% {
  height: 14px;
  background: rgb(255, 255, 255);
  transform: translateY(0);
 }
 30%, 70% {
  height: 42px;
 }
 41%, 59% {
  height: 14px;
  background: rgb(0, 132, 88);
  transform: translateY(-98px);
 }
}
/* Page loading fade effect */
.fade-in {
 -webkit-animation: fadeIn ease-in 1;
 -moz-animation: fadeIn ease-in 1;
 animation: fadeIn ease-in 1;
 -webkit-animation-fill-mode: forwards;
 -moz-animation-fill-mode: forwards;
 animation-fill-mode: forwards;
 -webkit-animation-duration: 1s;
 -moz-animation-duration: 1s;
 animation-duration: 1s;
 -webkit-animation-delay: 1s;
 -moz-animation-delay: 1s;
 animation-delay: 1s;
 opacity: 0;
}
@-webkit-keyframes fadeIn {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}
@-moz-keyframes fadeIn {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}
@keyframes fadeIn {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}
/* Navigation */
.navbar {
 height: 125px;
 padding: 0;
 background-color: transparent;
}
.navbar-brand {
 position: relative;
 width: 100%;
 max-width: 250px;
 height: 100%;
 max-height: 125px;
}
.navbar-brand img {
 position: relative;
 width: auto;
 height: 100%;
 max-height: 100px;
 margin: 0;
 -webkit-transition: all 0.25s ease-in-out;
 -moz-transition: all 0.25s ease-in-out;
 transition: all 0.25s ease-in-out;
}
.navbar-brand img:nth-child(1) {
 top: 10px;
 transform: translateY(0);
 opacity: 1;
}
.navbar-brand img:nth-child(2) {
 transform: translateY(-200%);
 opacity: 0;
}
@media (min-width:0em) and (max-width:50em) {
 .navbar {
  height: 12vh;
 }
 .navbar-brand {
  max-width: 150px;
  height: 88px;
 }
 .navbar-brand img:nth-child(1) {
  top: 0;
  transform: translateY(0);
  opacity: 1;
 }
 .navbar-brand img:nth-child(2) {
  transform: translateY(-200%);
  opacity: 0;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .navbar {
  height: 60px;
 }
 .navbar-brand img {
  height: 50px;
  margin: 0;
 }
 .navbar-brand {
  max-width: 150px;
 }
}
.nav-link, .navbar-nav .nav-link.active, .navbar-nav .show > .nav-link {
 position: relative;
 text-transform: uppercase;
 color: rgb(255, 255, 255);
}
.nav-link:hover, .navbar-nav .nav-link.active:hover, .navbar-nav .show > .nav-link:hover {
 color: rgb(255, 255, 255);
}
.navbar-expand-lg .navbar-nav .nav-link {
 padding-left: 2vw;
 padding-right: 2vw;
 opacity: 0.75;
}
.navbar-expand-lg .navbar-nav .nav-link ion-icon {
 display: none;
}
.navbar-nav .nav-link.active {
 font-weight: bolder;
}
.navbar-nav .nav-link.active, .navbar-nav .show > .nav-link, .navbar-expand-lg .navbar-nav .nav-link:hover {
 opacity: 1;
}
@media (min-width:0em) and (max-width:50em) {
 .navbar-expand-lg .navbar-nav .nav-link {
  position: relative;
  padding-left: 3rem;
 }
 .navbar-expand-lg .navbar-nav .nav-link ion-icon {
  position: absolute;
  top: 12px;
  left: 1rem;
  display: block;
 }
}
.navbar-expand-lg .navbar-nav .nav-link.btn-register {
 font-size: clamp(0.9rem, 1vw, 1rem);
 text-align: center;
 border: 2px solid rgb(255, 255, 255);
 border-radius: 2.5rem;
 margin-left: 1vw;
 padding-left: 0.5vw;
 padding-right: 0.5vw;
 opacity: 1;
}
@media (min-width:0em) and (max-width:50em) {
 .navbar-expand-lg .navbar-nav .nav-link.btn-register {
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0.5rem 0 0.5rem 3rem;
  text-align: left;
  font-size: var(--bs-nav-link-font-size);
 }
}
.navbar-expand-lg .navbar-nav .nav-link.btn-register:hover {
 border: 2px solid rgb(255, 255, 255);
 background-color: rgb(255, 255, 255);
 color: rgb(0, 132, 88);
}
@media (min-width:0em) and (max-width:50em) {
 .navbar-expand-lg .navbar-nav .nav-link.btn-register {
  opacity: 0.75;
 }
 .navbar-expand-lg .navbar-nav .nav-link.btn-register:hover {
  border: none;
  background-color: transparent;
  color: rgb(0, 132, 88);
  opacity: 1;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .navbar-expand-lg .navbar-nav .nav-link {
  position: relative;
  padding-left: 3rem;
 }
 .navbar-expand-lg .navbar-nav .nav-link ion-icon {
  position: absolute;
  top: 12px;
  left: 1rem;
  display: block;
 }
 .navbar-expand-lg .navbar-nav .nav-link.btn-register {
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0.5rem 0 0.5rem 3rem;
 }
 .navbar-expand-lg .navbar-nav .nav-link.btn-register:hover {
  border: none;
  background-color: transparent;
  color: rgb(0, 132, 88);
  opacity: 1;
 }
}
@media (min-width:0em) and (max-width:50em) {
 .navbar-collapse {
  padding: 2rem;
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: 0px 0px 15px 0px rgba(0, 117, 74, 0.5);
  -moz-box-shadow: 0px 0px 15px 0px rgba(0, 117, 74, 0.5);
  box-shadow: 0px 0px 15px 0px rgba(0, 117, 74, 0.5);
 }
 .navbar-collapse .nav-link {
  color: rgb(0, 132, 88);
  padding-left: 3rem;
 }
 .navbar-collapse .nav-link.active {
  color: rgb(0, 132, 88);
  padding-left: 3rem;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .navbar-collapse {
  padding: 2rem;
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: 0px 0px 15px 0px rgba(0, 117, 74, 0.5);
  -moz-box-shadow: 0px 0px 15px 0px rgba(0, 117, 74, 0.5);
  box-shadow: 0px 0px 15px 0px rgba(0, 117, 74, 0.5);
 }
 .navbar-collapse .nav-link {
  color: rgb(0, 132, 88);
  padding-left: 3rem;
 }
 .navbar-collapse .nav-link.active {
  color: rgb(0, 132, 88);
  padding-left: 3rem;
 }
}
@media (min-width:0em) and (max-width:50em) {
 .navbar-collapse .nav-link.active:hover {
  color: rgb(0, 132, 88);
 }
}
/* Navbar toggler */
.navbar-toggler {
 position: absolute;
 top: 50%;
 right: 2rem;
 width: 35px;
 height: 25px;
 border: 0;
 transform: translateY(-50%);
}
.navbar-toggler:focus {
 box-shadow: none;
}
.navbar.scrolled .navbar-toggler span {
 background-color: rgb(0, 132, 88);
}
/* Navbar scrolled */
.navbar.scrolled {
 background-color: rgb(255, 255, 255);
 -webkit-box-shadow: 0px 0px 15px 0px rgba(0, 117, 74, 0.5);
 -moz-box-shadow: 0px 0px 15px 0px rgba(0, 117, 74, 0.5);
 box-shadow: 0px 0px 15px 0px rgba(0, 117, 74, 0.5);
}
.navbar.scrolled .navbar-brand img:nth-child(1) {
 transform: translateY(-200%);
 opacity: 0;
}
.navbar.scrolled .navbar-brand img:nth-child(2) {
 transform: translateY(-92%);
 opacity: 1;
}
@media (min-width:0em) and (max-width:50em) {
 .navbar.scrolled .navbar-brand img:nth-child(1) {
  transform: translateY(-200%);
  opacity: 0;
 }
 .navbar.scrolled .navbar-brand img:nth-child(2) {
  transform: translateY(-100%);
  opacity: 1;
 }
}
.navbar.scrolled .nav-link, .navbar.scrolled .navbar-nav .nav-link.active, .navbar.scrolled .navbar-nav .show > .nav-link {
 color: rgb(0, 132, 88);
}
.navbar.scrolled .nav-link.btn-register {
 border-color: rgb(0, 132, 88);
 color: rgb(0, 132, 88);
}
.navbar.scrolled .nav-link.btn-register:hover {
 border-color: rgb(0, 132, 88);
 background-color: rgb(0, 132, 88);
 color: rgb(255, 255, 255);
}
.has-page-header .nav-link, .navbar.scrolled .navbar-nav .nav-link.active, .navbar.scrolled .navbar-nav .show > .nav-link {
 color: rgb(0, 132, 88);
}
.has-page-header .navbar-nav .nav-link.active {
 font-weight: bolder;
 color: rgb(0, 132, 88);
}
.navbar.has-page-header .nav-link.btn-register {
 border-color: rgb(0, 132, 88);
 color: rgb(0, 132, 88);
}
.navbar.has-page-header .nav-link.btn-register:hover {
 border-color: rgb(0, 132, 88);
 background-color: rgb(0, 132, 88);
 color: rgb(255, 255, 255);
}
.navbar.has-page-header .navbar-brand img:nth-child(1) {
 top: 0;
 transform: translateY(-200%);
 opacity: 0;
}
.navbar.has-page-header .navbar-brand img:nth-child(2) {
 transform: translateY(-92%);
 opacity: 1;
}
@media (min-width:0em) and (max-width:46em) {
 .navbar.has-page-header .nav-link.btn-register {
  opacity: 0.75;
 }
 .navbar.has-page-header .nav-link.btn-register:hover {
  border: none;
  background-color: transparent;
  color: rgb(0, 132, 88);
  opacity: 1;
 }
 .navbar.has-page-header .navbar-brand img:nth-child(1) {
  top: 0;
  transform: translateY(-200%);
  opacity: 0;
 }
 .navbar.has-page-header .navbar-brand img:nth-child(2) {
  transform: translateY(-100%);
  opacity: 1;
 }
}
.navbar.has-page-header .navbar-brand {
 transform: translateY(0);
}
.navbar.has-page-header .navbar-toggler span {
 background-color: rgb(0, 132, 88);
}
/* Menu animation */
.navbar-toggler span {
 position: absolute;
 left: 0;
 display: block;
 width: 2rem;
 height: 3px;
 border-radius: 3px;
 background-color: rgb(255, 255, 255);
 transition: all 0.25s ease;
}
.navbar-toggler:hover span {
 background-color: rgb(255, 255, 255);
}
.navbar-toggler span:nth-of-type(1) {
 top: 0%;
}
.navbar-toggler span:nth-of-type(2) {
 top: 50%;
}
.navbar-toggler span:nth-of-type(3) {
 top: 100%;
}
.navbar-toggler[aria-expanded="true"] span {
 background-color: rgb(255, 255, 255);
}
.navbar-toggler[aria-expanded="true"] span:nth-of-type(1) {
 top: 50%;
 transform: translateX(0%) translateY(0%) rotate(-45deg);
}
.navbar-toggler[aria-expanded="true"] span:nth-of-type(2) {
 transform: translateX(0);
 opacity: 0;
}
.navbar-toggler[aria-expanded="true"] span:nth-of-type(3) {
 top: 50%;
 transform: translateX(0%) translateY(0%) rotate(45deg);
}
/* Hero */
.hero-wrapper {
 position: relative;
 width: 100%;
 height: 100svh;
 padding-top: 125px;
 background: rgb(0, 132, 88);
 /*background: linear-gradient(-45deg, rgba(103, 189, 87, 1) 0%, rgba(0, 132, 88, 1) 100%);*/
 overflow: hidden;
 z-index: 0;
}
@media (min-width:0em) and (max-width:46em) {
 .hero-wrapper {
  padding-top: 0;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .hero-wrapper {
  padding-top: 0;
 }
}
.hero-wrapper > div {
 height: 100%;
}
.hero {
 position: relative;
 width: 100%;
 height: 100%;
 z-index: 0;
}
.hero img {
 position: absolute;
 top: 0;
 left: 50%;
 width: auto;
 height: 95%;
 transform: translateX(-50%);
 z-index: 0;
}
@media (min-width:0em) and (max-width:46em) {
 .hero img {
  height: 100%;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .hero img {
  top: 50%;
  left: 0;
  width: 100%;
  height: auto;
  transform: translateY(-50%);
 }
}
.hero .btn.btn-primary {
 left: 50%;
 color: rgb(255, 255, 255);
 border: 2px solid rgb(255, 255, 255);
 border-radius: 2.5rem;
 transform: translateX(-50%);
}
@media (min-width: 0em) and (max-width:46em) {
 .hero .btn.btn-primary {
  margin: 0;
 }
}
.hero .btn.btn-primary:hover {
 color: rgb(0, 132, 88);
 background-color: rgb(255, 255, 255);
 border: 2px solid rgb(255, 255, 255);
}
.hero-overlay {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: 1;
}
.hero-overlay .overlay-left, .hero-overlay .overlay-right {
 position: relative;
 display: inline-block;
 float: left;
 width: 50%;
 height: 100%;
}
.hero-overlay .overlay-left img, .hero-overlay .overlay-right img {
 width: auto;
}
.hero-overlay .overlay-left img {
 top: 7%;
 left: 50%;
 height: 55%;
 transform: translateX(-50%);
}
@media (min-width:0em) and (max-width:46em) {
 .hero-overlay .overlay-left, .hero-overlay .overlay-right {
  width: 100%;
 }
 .hero-overlay .overlay-left {
  height: 31vh;
  margin-top: 15vh;
 }
 .hero-overlay .overlay-right {
  height: 54vh;
 }
 .hero-overlay .overlay-left img {
  top: auto;
  left: 50%;
  height: 90%;
  width: auto;
  transform: translateX(-50%);
 }
}
@media (min-width:47em) and (max-width:50em) {
 .hero-overlay .overlay-left img {
  top: -20%;
  left: 50%;
  height: 80%;
 }
}
@media (max-height:45em) and (orientation: landscape) {
 .hero-overlay .overlay-left img {
  top: 0%;
  left: 63%;
  height: 60%;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .hero-overlay .overlay-left img {
  top: 1rem;
  left: 45%;
  height: 55%;
 }
}
.hero-overlay .overlay-right img {
 left: 0;
 bottom: 0;
 height: 85%;
 max-height: 760px;
 transform: translateX(-7%);
}
.hero-overlay .overlay-right.illustration img {
 top: auto;
 max-height: none;
 left: -10%;
}
@media (min-width:0em) and (max-width:46em) {
 .hero-overlay .overlay-right.illustration img {
  height: 75%;
  left: 10%;
 }
}
.hero .claim {
 position: absolute;
 left: 15%;
 bottom: 10%;
 font-size: clamp(0.9rem, 1.5vw, 1.7rem);
 line-height: 1.2;
 color: rgb(255, 255, 255);
 width: 100%;
 max-width: 580px;
 z-index: 3;
}
@media (min-width: 0em) and (max-width:46em) {
 .hero .claim {
  left: 0%;
  bottom: 20%;
  width: 200%;
  transform: none;
  padding: 0;
  background-color: transparent;
 }
 .hero .claim-text {
  bottom: -60px;
  text-align: center;
  padding-left: 5vw;
  padding-right: 5vw;
  width: 100%;
  height: 60px;
 }
}
@media (max-height:45em) and (orientation: landscape) {
 .hero .claim {
  left: 42%;
  max-width: 400px;
 }
 .hero-overlay .overlay-right.illustration img {
  left: 0%;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .hero .claim {
  bottom: 10%;
  transform: none;
 }
}
@media (min-width:120em) {
 .hero .claim {
  left: 28%;
  bottom: 10%;
 }
}
.bg-color-wrap::before {
 position: absolute;
 top: 0;
 left: -2rem;
 right: 0;
 content: "";
 width: 45vw;
 max-width: 700px;
 height: 95%;
 background-color: rgba(0, 117, 74, 0.55);
}
@media (min-width:0em) and (max-width:46em) {
 .bg-color-wrap::before {
  left: 0;
  height: 100%;
 }
}
@media (min-width:47em) and (max-width:50em) {
 .bg-color-wrap::before {
  left: 1rem;
 }
}
@media (min-width:51em) {
 .bg-color-wrap::before {
  left: 5vw;
  max-width: 620px;
 }
}
@media (min-width:120em) {
 .bg-color-wrap::before {
  left: 13vw;
  max-width: 620px;
 }
}
@media (max-height:45em) and (orientation: landscape) {
 .bg-color-wrap::before {
  left: 13vw;
  max-width: 420px;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .bg-color-wrap::before {
  left: 0vw;
  width: 50vw;
  height: 100%;
 }
}
.carousel {
 width: 100%;
}
.carousel-inner, .carousel-item {
 height: 100%;
}
.carousel-inner {
 overflow: visible;
}
.carousel-indicators {
 display: block;
 top: calc(50% - 62.5px);
 left: auto;
 right: 5%;
 bottom: auto;
 width: 30px;
 margin-right: 0;
 margin-bottom: 0;
 margin-left: 0;
 padding: 0;
 transform: translateY(-50%);
}
@media (min-width:0em) and (max-width:46em) {
 .carousel-indicators {
  top: 20%;
  transform: none;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .carousel-indicators {
  top: 50%;
  right: 3%;
 }
}
.carousel-indicators [data-bs-target] {
 display: block;
 flex: none;
 text-indent: inherit;
 height: 30px;
 margin: 1rem 0;
 background-color: rgb(255, 255, 255);
 border-top: none;
 border-bottom: none;
 border: 2px solid rgb(255, 255, 255);
 border-radius: 50%;
 box-sizing: border-box;
}
/* Typography */
.title {
 position: relative;
 display: block;
 font-size: 3rem;
 text-align: center;
 width: 100%;
 color: rgb(0, 132, 88);
}
@media (min-width:0em) and (max-width:46em) {
 .title {
  font-size: 2.2rem;
 }
}
.heading-primary h1 {
 font-size: clamp(2rem, 10vw, 7rem);
 font-weight: bolder;
 letter-spacing: -0.1rem;
 line-height: 0.95;
}
@media (min-width:0em) and (max-width:46em) {
 .heading-primary {
  margin-top: 3rem;
 }
 .heading-primary h1 {
  font-size: clamp(2rem, 16vw, 5rem);
  line-height: 0.9;
  margin-top: 0.5rem;
 }
}
.heading-primary h1 small {
 display: block;
 font-size: 50%;
}
.heading-primary span {
 font-family: 'DIN Medium Regular';
 font-size: clamp(1.5rem, 4vw, 2rem);
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .heading-primary h1 {
  font-size: clamp(2rem, 6vw, 5rem);
 }
 .heading-primary span {
  font-size: clamp(1.5rem, 3vw, 2rem);
 }
}
/* Page contents */
.intro {
 position: relative;
}
.intro p {
 font-size: clamp(1rem, 1.25vw, 1.25rem);
}
.intro .intro-img img {
 max-height: 70vh;
 width: auto;
 margin-left: auto;
 margin-right: auto;
}
@media (min-width:0em) and (max-width:46em) {
 .intro .intro-img img {
  max-height: auto;
  width: 100%;
 }
}
@media (min-width:47em) and (max-width:50em) {
 .intro .intro-img img {
  transform: translateY(-10%);
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .intro .intro-img img {
  max-height: 100vh;
  transform: translateX(-20%) translateY(-15%);
 }
}
/* Registration */
.register {
 position: relative;
 padding-top: 10vh;
 padding-bottom: 10vh;
 background: rgb(0, 132, 88);
 /*background: linear-gradient(-45deg, rgba(103, 189, 87, 1) 0%, rgba(0, 132, 88, 1) 100%);*/
 overflow: hidden;
 color: rgb(255, 255, 255);
}
@media (min-width:47em) and (max-width:50em) {
 .register {
  padding-top: 15vh;
  padding-bottom: 15vh;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .register {
  padding-top: 20vh;
  padding-bottom: 20vh;
 }
}
.register:after {
 position: absolute;
 top: 0;
 left: 50%;
 content: "";
 width: 100px;
 height: 50px;
 background-color: rgb(255, 255, 255);
 clip-path: polygon(0 0, 50% 100%, 100% 0);
 transform: translateX(-50%);
}
/*.register::before {
 position: absolute;
 top: 0;
 right: 2%;
 content: "";
 width: 50%;
 height: 100%;
 background-image: url("../img/layout/blobs-bg.svg");
 background-repeat: no-repeat;
 background-position: center;
 background-size: 65%;
}*/
@media (min-width:0em) and (max-width:50em) {
 .register::before {
  top: auto;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 50%;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .register::before {
  top: auto;
  bottom: 3%;
  right: 0;
  width: 100%;
  height: 50%;
  background-size: contain;
 }
}
.register .title, .register .heading-primary h1 {
 color: rgb(255, 255, 255);
}
@media (min-width:0em) and (max-width:46em) {
 .register .title {
  margin-top: 2rem;
 }
}
.register ul {
 padding-right: 10vw;
}
.register .btn.btn-primary {
 color: rgb(255, 255, 255);
 border: 2px solid rgb(255, 255, 255);
}
@media (min-width:0em) and (max-width:46em) {
 .register .btn.btn-primary {
  display: block;
 }
}
.register .btn.btn-primary:hover {
 color: rgb(0, 132, 88);
 background-color: rgb(255, 255, 255);
 border: 2px solid rgb(255, 255, 255);
}
.register .col {
 position: relative;
 height: 100%;
}
.register .register-right .btn {
 position: absolute;
 left: 50%;
 bottom: 0;
 margin: 0;
 color: rgb(0, 132, 88);
 background-color: rgb(255, 255, 255);
 transform: translateX(-50%);
}
@media (min-width:0em) and (max-width:46em) {
 .register .register-right .btn {
  bottom: -10%;
 }
}
@media (min-width:47em) and (max-width:50em) {
 .register .register-right .btn {
  bottom: 10%;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .register .register-right .btn {
  bottom: 10%;
 }
}
.promo {
 position: relative;
 overflow: hidden;
}
.promo ion-icon {
 position: absolute;
 top: 50%;
 right: 5vw;
 color: rgba(0, 132, 88, 0.1);
 font-size: clamp(10vw, 30rem, 30vw);
 transform: translateY(-50%) rotate(7deg);
}
.promo-tag {
 position: absolute;
 right: 5vw;
 top: 50%;
 transform: translateY(-50%) rotate(4deg);
 color: rgb(0, 132, 88);
 background-color: rgb(255, 255, 255);
 border-radius: 1rem;
 padding: 0.5rem;
 font-size: clamp(1.25rem, 2vw, 3rem);
 text-align: center;
 text-transform: uppercase;
 font-weight: 700;
 border: 7px double rgb(0, 132, 88);
}
@media only screen and (max-width:767px) {
 .promo-tag {
  right: 5vw;
  top: auto;
  bottom: 1.5rem;
  transform: translateY(0) rotate(4deg);
 }
}
.promo-tag small {
 display: block;
 font-size: 80%;
}
.arrow-down-divider {
 position: relative;
 display: block;
 width: 75%;
 height: 50px;
 margin-top: 5rem;
 border-top: 5px solid rgb(0, 132, 88);
}
@media (min-width:0em) and (max-width:46em) {
 .arrow-down-divider {
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;
 }
}
.arrow-down-divider::before {
 position: absolute;
 top: -5px;
 left: -150px;
 content: "";
 width: 150px;
 height: 5px;
 background-color: rgb(0, 132, 88);
}
.arrow-down-divider:after {
 position: absolute;
 top: calc(-50% - 4px);
 left: 25%;
 content: "";
 width: 50px;
 height: 50px;
 background-color: rgb(255, 255, 255);
 transform: rotate(45deg);
 border-bottom: 5px solid rgb(0, 132, 88);
 border-right: 5px solid rgb(0, 132, 88);
}
@media (min-width:0em) and (max-width:46em) {
 .arrow-down-divider::before {
  display: none;
 }
 .arrow-down-divider::after {
  left: 50%;
  transform: translate(-50%) rotate(45deg);
 }
}
/* Banner */
.banner img {
 cursor: pointer;
}
/* Cards */
.card {
 position: relative;
 display: grid;
 text-align: center;
 width: 100%;
 max-width: 305px;
 min-height: 220px;
 max-height: 350px;
 background-color: rgb(255, 255, 255);
 border: none;
 border-radius: 0 0 1.5rem 1.5rem;
 cursor: pointer;
 z-index: 0;
}
@media (min-width:0em) and (max-width:46em) {
 .card {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
 }
}
.card-header {
 position: relative;
 height: 75%;
 padding-bottom: 0;
 /*background-color: rgb(255, 255, 255);*/
 background-color: rgb(0, 132, 88);
 border: none;
}
.card-header img {
 position: relative;
 margin-left: auto;
 margin-right: auto;
 cursor: pointer;
 -webkit-transition: all 0.25s ease-in-out;
 -moz-transition: all 0.25s ease-in-out;
 transition: all 0.25s ease-in-out;
 filter: invert(100%);
 z-index: 2;
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .card-header img {
  width: 100%;
  height: auto;
 }
}
.card-body {
 position: relative;
 height: 25%;
 padding: 1vw;
 border: 3px solid rgb(0, 132, 88);
 background-color: rgb(0, 132, 88);
 border-top: 1px dashed rgba(255, 255, 255, 0.5);
 border-radius: 0 0 1.25rem 1.25rem;
}
.card-title {
 margin-bottom: 0;
 position: relative;
 top: 50%;
 transform: translateY(-50%);
 color: rgb(255, 255, 255);
}
.card-title h3 {
 font-size: clamp(1rem, 1.25vw, 1.25rem);
 color: rgba(255, 255, 255);
 margin-bottom: 0;
}
@media (min-width:0em) and (max-width:46em) {
 .card-title h3 {
  font-size: clamp(1.5rem, 2vw, 1.5rem);
 }
}
.card-link {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 z-index: 3;
}
/* Flipping cards: https://codepen.io/wanni/pen/DmNPXP */
.card-hotspot {
 position: relative;
 width: 100%;
 max-width: 320px;
 perspective: 800px;
}
.card-hotspot:focus, .card-hotspot:hover, .card-hotspot .card:focus, .card-hotspot .card:hover {
 opacity: 1;
}
.card-hotspot .card {
 height: 350px;
 margin-bottom: 2rem;
 transform-style: preserve-3d;
 transition: all 1s ease-in-out;
}
.card-hotspot .card-front, .card-hotspot .card-back {
 position: absolute;
 display: block;
 width: 100%;
 height: 100%;
 box-sizing: border-box;
 backface-visibility: hidden;
 transition: all 1s ease-in-out;
}
.card-hotspot .card-front {
 /*background-color: rgb(255, 255, 255);*/
 background-color: rgb(0, 132, 88);
 border-radius: 0 0 1.25rem 1.25rem;
}
.card-hotspot .card-front.card-info:after {
 position: absolute;
 /*right: 1.5rem;
 bottom: 1.5rem;*/
 right: 1rem;
 bottom: 1rem;
 content: "+";
 line-height: 15px;
 /*color: rgb(0, 132, 88);*/
 color: rgb(255, 255, 255);
 width: 20px;
 height: 20px;
 /*border: 1px solid rgb(0, 132, 88);*/
 border: 1px solid rgb(255, 255, 255);
 border-radius: 50%;
}
/*.card-hotspot .card-front .card-title {
 margin-bottom: 0;
 position: relative;
 top: 50%;
 transform: translateY(-50%);
}*/
.card-hotspot .card-back {
 font-size: 1.25rem;
 background-color: rgb(0, 132, 88);
 border-radius: 0 0 1.25rem 1.25rem;
 filter: opacity(0.5);
 transform: rotateY(180deg);
}
.card-hotspot .card-back .card-body {
 padding: 2rem;
}
.card-hotspot .card-back h3 {
 font-weight: bolder;
 margin-bottom: 1.5rem;
 color: rgb(255, 255, 255);
}
.card-hotspot .card-back h4 {
 font-weight: bolder;
 line-height: 1;
 color: rgb(255, 255, 255);
}
.card-hotspot .card-back ul {
 text-align: left;
 padding-left: 2rem;
 color: rgb(255, 255, 255);
}
.card-hotspot .card-back ul li {
 position: relative;
 line-height: 1.1;
 padding-bottom: 0.5rem;
}
.card-hotspot .card-back p {
 color: rgb(255, 255, 255);
}
.card-hotspot .card-back ion-icon {
 position: absolute;
 top: -2px;
 left: -2.25rem;
 font-size: 1.5rem;
 color: rgb(255, 255, 255);
}
.card-hotspot:hover .card {
 transform: rotateY(180deg) scale(1);
}
.card-hotspot:hover .card-front {
 filter: opacity(0.5);
}
.card-hotspot:hover .card-back {
 filter: opacity(1);
}
@media (min-width:0em) and (max-width:46em) {
 .card-hotspot:hover .card {
  transform: none;
 }
 .card-hotspot:hover .card-front, .card-hotspot:focus .card-front {
  filter: opacity(1);
 }
 .card-toggle:checked + .card-hotspot .card {
  transform: rotateY(180deg) scale(1);
 }
 .card-toggle:checked + .card-hotspot .card-front {
  filter: opacity(0);
 }
 .card-toggle:checked + .card-hotspot .card-back {
  filter: opacity(1);
 }
}
/**/
.page-header {
 margin-top: 10rem;
}
.page-header .title {
 top: 0;
}
.title-content-hz {
 position: relative;
 top: -0.5rem;
 left: -60px;
 font-family: "DIN Medium Regular", sans-serif;
 font-size: 1.25rem;
 text-transform: uppercase;
 line-height: 1;
 color: rgb(255, 255, 255);
 background-color: rgb(0, 132, 88);
 padding: 0.75rem 1rem 0.75rem 7rem;
 max-width: 333px;
}
@media (min-width:0em) and (max-width:46em) {
 .title-content-hz {
  left: -46px;
  font-size: 1.1rem;
  width: calc(100% - -46px);
  margin-bottom: 2rem;
  padding: 0.75rem 1rem 0.75rem 7.5rem;
 }
}
.title-content-hz:before {
 position: absolute;
 top: -1rem;
 left: 0;
 content: "";
 width: 1rem;
 height: 1rem;
 background-color: rgb(0, 132, 88);
 clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.title-content-hz:after {
 position: absolute;
 top: 0;
 right: -35px;
 content: "";
 width: 35px;
 height: 100%;
 background-color: rgb(0, 132, 88);
 clip-path: polygon(0 0, 0% 100%, 50% 50%);
}
.title-content-hz span {
 display: block;
}
.title-content-hz .icon-tag {
 position: absolute;
 top: -18px;
 left: 1rem;
 font-size: 2rem;
 width: 80px;
 height: 80px;
 background-color: rgb(255, 255, 255);
 border: 2px solid rgb(0, 132, 88);
 border-radius: 50%;
 overflow: hidden;
}
@media (min-width:0em) and (max-width:46em) {
 .title-content-hz .icon-tag {
  left: 1.5rem;
 }
}
.title-content-hz .icon-tag img {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translateX(-50%) translateY(-50%) scale(1.5);
}
.title-content-hz .icon-tag h3 {
 position: absolute;
 top: 50%;
 left: 50%;
 font-size: 1.8rem;
 margin-bottom: 0;
 transform: translateX(-50%) translateY(-50%);
}
.title-content-vt {
 position: relative;
 font-family: "DIN Medium Regular", sans-serif;
 font-size: 1.8rem;
 text-transform: uppercase;
 line-height: 1;
 color: rgb(0, 132, 88);
 padding-left: 4rem;
 padding-right: 1rem;
}
@media (min-width:0em) and (max-width:46em) {
 .title-content-vt {
  font-size: 1.6rem;
  margin-bottom: 3rem;
 }
}
.title-content-vt .icon-tag {
 position: absolute;
 top: -80px;
 left: -0.5rem;
 padding: 0.5rem;
 width: 56px;
 height: 120px;
 background-color: rgb(0, 132, 88);
}
@media (min-width:0em) and (max-width:46em) {
 .title-content-vt .icon-tag {
  top: -64px;
  height: 105px;
 }
}
.title-content-vt .icon-tag span:nth-of-type(2) {
 margin-top: -2px;
}
.title-content-vt .icon-tag:after {
 position: absolute;
 left: 0;
 bottom: -30px;
 content: "";
 width: 56px;
 height: 30px;
 background-color: rgb(0, 132, 88);
 clip-path: polygon(0% 0%, 100% 0, 100% 100%, 50% 50%, 0% 100%);
}
.title-content-vt .icon-tag::before {
 position: absolute;
 top: 0;
 right: -15px;
 content: "";
 width: 15px;
 height: 22px;
 background-color: rgb(0, 132, 88);
 clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
.title-content-vt .icon-tag ion-icon, .title-content-vt .icon-tag h3 {
 position: absolute;
 left: 50%;
 top: calc(150px - 70px);
 color: rgb(0, 132, 88);
 transform: translateX(-50%);
}
@media (min-width:0em) and (max-width:46em) {
 .title-content-vt .icon-tag ion-icon, .title-content-vt .icon-tag h3 {
  top: calc(150px - 88px);
 }
}
.title-content-vt .icon-tag h3 {
 top: auto;
 bottom: -0.35rem;
 font-size: 2.25rem;
}
.text-content h4 {
 font-family: "DIN Medium Regular", sans-serif;
 font-size: 1.5rem;
 text-transform: uppercase;
 color: rgb(0, 132, 88);
}
@media (min-width:0em) and (max-width:46em) {
 .text-content h4 {
  font-size: 1.2rem;
 }
}
.text-content a {
 color: rgb(0, 132, 88);
}
.content {
 position: relative;
 max-width: 1140px;
 height: 100%;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 5rem;
 padding: 2rem;
 border: 2px solid rgb(0, 132, 88);
 border-radius: 0 0 1.5rem 1.5rem;
}
@media (min-width:0em) and (max-width:46em) {
 .content {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  padding: 1rem;
 }
}
.content img {
 border-radius: 0.5rem;
 overflow: hidden;
}
.content .text-area {
 padding-top: 1.5rem;
}
/* Custom lists */
ul.hyphen-list {
 position: relative;
 margin-left: 1.5rem;
}
ul.hyphen-list li {
 position: relative;
}
ul.hyphen-list li:before {
 position: absolute;
 left: -1rem;
 content: "-";
}
@media (min-width:0em) and (max-width:46em) {
 ul.hyphen-list {
  margin-left: 0.5rem;
  margin-bottom: 1.5rem;
 }
 ul.hyphen-list li {
  line-height: 1.25;
 }
}
/* Buttons */
.btn {
 position: relative;
 display: inline-block;
 font-size: 1rem;
 font-weight: bolder;
 text-transform: uppercase;
 text-align: center;
 margin: 1.5rem 1rem 1rem;
 padding: 1rem 2rem;
 width: auto;
 min-width: 220px;
 background-color: transparent;
 border-radius: 2.5rem;
}
.btn.btn-primary {
 color: rgb(0, 132, 88);
 border: 2px solid rgb(0, 132, 88);
}
.btn.btn-primary:hover {
 border-color: rgb(0, 132, 88);
 background-color: rgb(0, 132, 88);
 color: rgb(255, 255, 255);
}
/* Responsive circle */
.circle {
 display: contents;
 position: relative;
 width: 100%;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 2rem;
}
@media (min-width:47em) and (max-width:50em) {
 .circle {
  margin-top: 5rem;
  max-width: 480px;
  max-height: 480px;
 }
}
.circle:after {
 content: "";
 display: block;
 padding-bottom: 100%;
}
.circle .circle-content {
 position: absolute;
 width: 100%;
 height: 100%;
 border: 2px solid rgb(255, 255, 255);
 border-radius: 50%;
 overflow: hidden;
}
.circle .circle-content img {
 position: absolute;
 top: 0;
 left: 50%;
 width: auto;
 height: 100%;
 transform: translateX(-50%);
}
.register .circle {
 transform: translateY(-1rem);
}
@media (min-width:0em) and (max-width:46em) {
 .register .circle {
  transform: translateY(1rem);
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .register .circle {
  transform: translateY(2rem);
 }
}
/* Squares and t-shirts squares */
.square {
 position: relative;
 width: 100%;
}
.square:after {
 content: "";
 display: block;
 padding-bottom: 100%;
}
.kits-tshirts .square {
 position: relative;
 border: 1px solid rgb(0, 132, 88);
 border-radius: 1rem;
}
.kits-tshirts .square:hover {
 cursor: default;
 border-color: rgb(0, 132, 88);
}
.square > .square-content {
 position: absolute;
 width: 100%;
 height: 100%;
}
.square .square-inner-content {
 position: absolute;
 top: 50%;
 width: 100%;
 transform: translateY(-50%);
}
.kits-tshirts .square .tshirt-gender {
 position: absolute;
 top: 0;
 left: 50%;
 font-size: 0.8rem;
 font-weight: bolder;
 text-transform: uppercase;
 background-color: rgb(0, 132, 88);
 color: rgb(0, 132, 88);
 padding: 2px 1rem;
 border-radius: 0 0 0.5rem 0.5rem;
 transform: translateX(-50%);
}
.kits-tshirts .square:hover .tshirt-gender {
 background-color: rgb(0, 132, 88);
 color: rgb(255, 255, 255);
}
.kits-tshirts .square .tshirt-size {
 position: relative;
 display: block;
 font-family: "DIN Medium Regular", sans-serif;
 font-size: 2.5rem;
 font-weight: bolder;
 text-align: center;
 line-height: 1;
 color: rgb(0, 132, 88);
 width: 100%;
}
.kits-tshirts .square .tshirt-size small {
 font-size: 1.5rem;
}
@media (min-width:0em) and (max-width:46em) {
 .kits-tshirts .square .tshirt-size {
  font-size: 2rem;
 }
}
.kits-tshirts .square:hover .tshirt-size {
 color: rgb(0, 132, 88);
}
.kits-tshirts .square .tshirt-size span {
 position: relative;
 display: block;
 font-size: 1rem;
}
.kits-tshirts .square .tshirt-specs {
 position: relative;
 bottom: -1.5rem;
 display: block;
 font-size: 0.9rem;
 font-weight: bolder;
 text-align: center;
 margin-top: 0.5rem;
 width: 100%;
}
@media (min-width:0em) and (max-width:46em) {
 .kits-tshirts .square .tshirt-specs {
  bottom: -0.5rem;
 }
}
.kits-tshirts .square:hover .tshirt-size, .kits-tshirts .square:hover .tshirt-specs {
 color: rgb(0, 132, 88);
}
.kits-tshirts .square .tshirt-icon img {
 display: none;
 position: absolute;
 top: 50%;
 left: 50%;
 width: 80%;
 max-width: 105px;
 transform: translateX(-50%) translateY(-50%) scale(1) rotate(0);
 -webkit-transition: all 0.25s ease-in-out;
 -moz-transition: all 0.25s ease-in-out;
 transition: all 0.25s ease-in-out;
 pointer-events: none;
 opacity: 0.075;
}
@media (min-width:0em) and (max-width:46em) {
 .kits-tshirts .square .tshirt-icon ion-icon {
  max-width: 70px;
 }
 .kits-tshirts .square .tshirt-icon img {
  max-width: 80px;
 }
}
.kits-tshirts .square:hover .tshirt-icon ion-icon, .kits-tshirts .square:hover .tshirt-icon img {
 transform: translateX(-50%) translateY(-50%) scale(1.1) rotate(5deg);
}
/* Supports */
.supports {
 position: relative;
 padding-top: 5rem;
 padding-bottom: 5rem;
}
@media (min-width:0em) and (max-width:46em) {
 .supports {
  padding-bottom: 0;
 }
}
.supports > .container {
 background-color: rgb(255, 255, 255);
 border-radius: 2rem;
}
.supports h5 {
 color: #777;
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .supports h5 {
  font-size: 0.9rem;
 }
}
.supports .logo {
 display: block;
 height: 120px;
 margin-top: 1rem;
 margin-left: auto;
 margin-right: auto;
}
@media (min-width:0em) and (max-width:46em) {
 .supports .logo:last-of-type {
  margin-bottom: 5rem;
 }
}
.supports .logo a {
 position: relative;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 100%;
}
.supports .logo img {
 width: auto;
 max-width: 180px;
 max-height: 100px;
 margin-left: auto;
 margin-right: auto;
}
/* Footer */
.footer {
 position: relative;
 padding-top: 3rem;
 padding-left: 1rem;
 padding-right: 1rem;
 background-color: rgba(0, 0, 0, 0.05);
}
.footer .about {
 margin-bottom: 0;
}
@media (min-width:0em) and (max-width:46em) {
 .footer .logo-footer {
  margin-bottom: 3rem;
 }
 .footer .logo-footer img {
  max-width: 180px;
 }
 .footer .about {
  margin-bottom: 4rem;
 }
 .footer .about p, .footer .contacts ul, .footer .credits {
  font-size: 1rem;
 }
}
@media (min-width:0em) and (max-width:60em) and (orientation: landscape) {
 .footer .logo-footer, .footer .about {
  margin-bottom: 4rem;
 }
 .footer .logo-footer img {
  max-width: 120px;
 }
 .footer .contacts ul {
  padding-right: 7vw;
 }
}
.footer .social {
 text-align: center;
}
.footer .social ul {
 margin-bottom: 4rem;
 padding: 0;
}
.footer .social ul li {
 display: inline-block;
 padding: 0;
}
.footer .social ul li a {
 position: relative;
 display: block;
 width: 50px;
 height: 50px;
}
.footer .social ion-icon {
 position: absolute;
 top: 50%;
 left: 50%;
 font-size: 1.5rem;
 transform: translateX(-50%) translateY(-50%);
}
@media (min-width:61em) {
 .footer > div > div > div:nth-child(2) {
  padding-left: 2.5vw;
  padding-right: 5vw;
 }
}
.footer h3 {
 margin-bottom: 2rem;
}
.footer p:last-of-type {
 margin-bottom: 0;
}
.footer ul li {
 position: relative;
 padding-left: 1.25rem;
}
.footer ul li ion-icon {
 position: absolute;
 top: 4px;
 left: -1rem;
}
.footer .credits {
 border-top: 1px solid rgba(0, 117, 74, 0.25);
}
@media (min-width:0em) and (max-width:46em) {
 .footer .credits span {
  display: block;
 }
}
.footer .credits ul {
 font-size: 1rem;
 margin-bottom: 0;
}
.footer .credits ul li {
 display: inline;
}
@media (min-width:0em) and (max-width:46em) {
 .footer .credits ul {
  padding-left: 0;
 }
 .footer .credits ul li {
  display: block;
  padding-left: 0;
 }
}
/* GDPR: https://codepen.io/henriquebaldy/pen/empMZWq */
.gdpr {
 align-items: flex-start;
 background-color: rgb(0, 132, 88);
 border: 2px solid rgb(255, 255, 255);
 bottom: 3.125rem;
 box-sizing: border-box;
 color: rgb(255, 255, 255);
 display: none;
 flex-direction: column;
 justify-content: space-between;
 opacity: 1;
 overflow: hidden;
 padding: 2.5rem 1.5rem 1.5rem;
 position: fixed;
 right: 3.125rem;
 width: 300px;
 z-index: 999;
}
.gdpr p {
 font-size: 0.85rem;
 text-align: justify;
}
.gdpr a {
 color: rgba(255, 255, 255, 0.75);
 text-decoration: underline;
 transition: color 0.3s ease;
}
.gdpr a:hover {
 color: rgba(255, 255, 255, 1);
}
.gdpr-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 0.8rem;
 justify-content: center;
 margin-top: 1rem;
 width: 100%;
}
.gdpr-btn.accept {
 background-color: rgba(255, 255, 255, 0.25);
 border-color: rgb(255, 255, 255);
 border-radius: 2.5rem;
 color: rgb(255, 255, 255);
 margin: 0;
 min-width: inherit;
 padding: 0.5rem 1rem;
}
.gdpr-btn.accept:hover {
 background-color: rgba(255, 255, 255, 1);
 border-color: rgb(255, 255, 255);
 color: rgb(0, 132, 88);
}
.gdpr-btn.reject {
 border: 1px solid rgb(255, 255, 255);
 border-radius: 2.5rem;
 color: rgb(255, 255, 255);
 margin: 0;
 min-width: inherit;
 padding: 0.5rem 1rem;
}
.gdpr-btn.reject:hover {
 background-color: rgba(255, 255, 255, 1);
 border-color: rgb(255, 255, 255);
 color: rgb(0, 132, 88);
}
.gdpr-close {
 align-items: center;
 background: none;
 border: none;
 color: rgb(255, 255, 255);
 cursor: pointer;
 display: flex;
 font-size: 1.5rem;
 height: 1.5rem;
 justify-content: center;
 opacity: 0.5;
 padding: 0;
 position: absolute;
 right: 0.5rem;
 top: 0.5rem;
 width: 1.5rem;
}
.gdpr-close:hover {
 color: rgb(255, 255, 255);
 opacity: 1;
}
.gdpr-manage {
 bottom: 0.5rem;
 font-size: 0.8rem;
 position: fixed;
 right: 1rem;
 z-index: 998;
}
.gdpr-manage a {
 color: #aaa;
 text-decoration: none;
 transition: color 0.3s ease;
}
.gdpr-manage a:hover {
 color: #FFF000;
}
@media (max-width: 600px) {
 .gdpr {
  align-items: center;
  border-left: none;
  border-radius: 0;
  border-right: none;
  bottom: 0;
  left: 0;
  padding: 1rem;
  right: 0;
  width: 100%;
 }
 .gdpr p {
  margin-bottom: 1rem;
  text-align: left;
 }
 .gdpr-actions {
  justify-content: center;
  gap: 0.6rem;
 }
 .gdpr-btn {
  flex: 1;
  max-width: 140px;
  text-align: center;
 }
 .gdpr-manage {
  bottom: auto;
  margin-top: 0.5rem;
  position: relative;
  right: auto;
  text-align: center;
  width: 100%;
 }
}
/* Pop-up overlay */
.popup-overlay {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-color: rgba(0, 0, 0, 0.5);
 display: flex;
 justify-content: center;
 align-items: center;
 opacity: 0;
 visibility: hidden;
 transition: opacity 0.3s, visibility 0.3s;
 z-index: 1031;
}
.popup-overlay.active {
 opacity: 1;
 visibility: visible;
}
.popup-container {
 position: relative;
 padding: 2.5rem;
 color: rgb(255, 255, 255);
 border: 2px solid rgb(255, 255, 255);
 background-color: rgb(0, 132, 88);
 border-radius: 0;
 max-width: 500px;
 width: 90%;
 transform: translateX(150%);
 transition: transform 0.5s ease-in-out;
 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
 z-index: 1031;
}
.popup-overlay.active .popup-container {
 transform: translateX(0);
}
.popup-overlay.closing .popup-container {
 transform: translateX(-150%);
}
.popup-close {
 position: absolute;
 top: 1rem;
 right: 1rem;
 background: none;
 border: none;
 color: rgb(255, 255, 255);
 font-size: 1.5rem;
 cursor: pointer;
 padding: 0;
}
.popup-close ion-icon {
 font-size: 150%;
}
.popup-content {
 margin-top: 10px;
 line-height: 1.5;
 text-align: justify;
}
.popup-content p:last-of-type {
 margin-bottom: 0;
}
.no-scroll {
 overflow: hidden;
 height: 100%;
 position: fixed;
 width: 100%;
}
/* Responsive tables: https://codepen.io/aurer/pen/kPZOPj */
table.responsive-table thead {
 font-family: "DIN Medium Regular", sans-serif;
 font-size: 1.1rem;
 color: rgb(0, 132, 88);
}
table.responsive-table th, table.responsive-table td {
 text-align: left;
}
table.responsive-table.layout {
 width: 100%;
 border-collapse: collapse;
}
table.responsive-table.display {
 margin: 1em 0;
 border: 2px solid rgba(0, 0, 0, 0.5);
}
table.responsive-table.display th, table.responsive-table.display td {
 border: 1px solid rgba(0, 0, 0, 0.5);
 padding: .5em 1em;
}
table.responsive-table.display th {
 background-color: rgba(177, 217, 69, 0.1);
}
table.responsive-table.display td {
 background-color: rgb(255, 255, 255);
}
table.responsive-table.display td span {
 white-space: nowrap;
}
table.responsive-table td:nth-child(1) {
 font-weight: bolder;
 white-space: nowrap;
}
table.responsive-table tr:hover td {
 background-color: rgba(177, 217, 69, 0.1);
 cursor: default;
}
@media (min-width:0em) and (max-width:46em) {
 table.responsive-table tr:hover td:nth-child(1) {
  background-color: rgba(177, 217, 69, 0.2);
 }
 table.responsive-table tr:hover td {
  background-color: transparent;
 }
}
@media (max-width: 30em) {
 table.responsive-table {
  box-shadow: none;
 }
 table.responsive-table thead {
  display: none;
 }
 table.responsive-table.display th, table.responsive-table.display td {
  padding: .5em;
 }
 table.responsive-table td:nth-child(1):before {
  display: none;
 }
 table.responsive-table td:nth-child(2):before {
  display: none;
 }
 table.responsive-table td:nth-child(1) {
  font-weight: bolder;
  padding-left: 0.5rem;
  background-color: rgba(177, 217, 69, 0.2);
  border-top: 1px solid rgba(0, 0, 0, 0.5);
 }
 @media (min-width:0em) and (max-width:46em) {
  table.responsive-table.display {
   margin-bottom: 0;
   border: none;
  }
 }
 table.responsive-table td:nth-child(1):before, table.responsive-table td:nth-child(2):before {
  position: absolute;
  left: .5em;
  font-weight: bolder;
 }
 table.responsive-table tr, table.responsive-table td {
  display: block;
 }
 table.responsive-table tr {
  position: relative;
  margin-bottom: 1em;
 }
 table.responsive-table td {
  border-top: none;
 }
}
/* Responsive YouTube videos */
.video-spot .container {
 max-width: 960px;
 margin-left: auto;
 margin-right: auto;
}
.video-container {
 position: relative;
 padding-bottom: 56.25%;
}
.video-container:before {
 position: absolute;
 top: 0;
 left: 0;
 display: block;
 content: "";
 width: 100%;
 height: 100%;
 border-radius: 2rem;
 background-color: rgb(0, 132, 88);
 transform: rotate(2deg);
 z-index: -1;
}
.video-container iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 padding: 0.5rem;
 background-color: rgb(255, 255, 255);
 border: none;
 border-radius: 1.5rem;
 box-shadow: 0px 4px 8px rgba(174, 228, 255, 0.3);
}
.video {
 aspect-ratio: 16 / 9;
 width: 100%;
}
/* Ion custom icons */
ion-icon-custom {
 position: relative;
 top: 50%;
 left: 50%;
 display: block;
 width: 25px;
 height: 25px;
 transform: translateX(-50%) translateY(-50%);
}
ion-icon-custom[name="logo-x"] {
 background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="utf-8"%3F><svg version="1.1" id="logo-x" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;fill:%23000000;" xml:space="preserve"><g><path d="M18.2,2.2h3.3l-7.2,8.3l8.5,11.2h-6.7L11,14.9l-6,6.8H1.7l7.7-8.8L1.3,2.2h6.8l4.7,6.2L18.2,2.2z M17.1,19.8h1.8L7.1,4.1h-2L17.1,19.8z"/></g></svg>');
}
ion-icon-custom[name="logo-x"]:hover {
 background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="utf-8"%3F><svg version="1.1" id="logo-x" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;fill:%23008458;" xml:space="preserve"><g><path d="M18.2,2.2h3.3l-7.2,8.3l8.5,11.2h-6.7L11,14.9l-6,6.8H1.7l7.7-8.8L1.3,2.2h6.8l4.7,6.2L18.2,2.2z M17.1,19.8h1.8L7.1,4.1h-2L17.1,19.8z"/></g></svg>');
}
/* Display content based on date and time: https://jsfiddle.net/eN6Sg/5/ */
.timedContent, .DateRange {
 display: none;
}