/* Custom fonts */
@font-face {
 font-family: 'Product Sans';
 src: url('../fonts/ProductSans-Regular.eot');
 src: url('../fonts/ProductSans-Regular.eot?#iefix') format('embedded-opentype'), url('../fonts/ProductSans-Regular.woff2') format('woff2'), url('../fonts/ProductSans-Regular.woff') format('woff'), url('../fonts/ProductSans-Regular.ttf') format('truetype'), url('../fonts/ProductSans-Regular.svg#ProductSans-Regular') format('svg');
 font-weight: normal;
 font-style: normal;
 font-display: swap;
}
@font-face {
 font-family: 'Product Sans';
 src: url('../fonts/ProductSans-Italic.eot');
 src: url('../fonts/ProductSans-Italic.eot?#iefix') format('embedded-opentype'), url('../fonts/ProductSans-Italic.woff2') format('woff2'), url('../fonts/ProductSans-Italic.woff') format('woff'), url('../fonts/ProductSans-Italic.ttf') format('truetype'), url('../fonts/ProductSans-Italic.svg#ProductSans-Italic') format('svg');
 font-weight: normal;
 font-style: italic;
 font-display: swap;
}
@font-face {
 font-family: 'Product Sans';
 src: url('../fonts/ProductSans-BoldItalic.eot');
 src: url('../fonts/ProductSans-BoldItalic.eot?#iefix') format('embedded-opentype'), url('../fonts/ProductSans-BoldItalic.woff2') format('woff2'), url('../fonts/ProductSans-BoldItalic.woff') format('woff'), url('../fonts/ProductSans-BoldItalic.ttf') format('truetype'), url('../fonts/ProductSans-BoldItalic.svg#ProductSans-BoldItalic') format('svg');
 font-weight: bold;
 font-style: italic;
 font-display: swap;
}
@font-face {
 font-family: 'Product Sans';
 src: url('../fonts/ProductSans-Bold.eot');
 src: url('../fonts/ProductSans-Bold.eot?#iefix') format('embedded-opentype'), url('../fonts/ProductSans-Bold.woff2') format('woff2'), url('../fonts/ProductSans-Bold.woff') format('woff'), url('../fonts/ProductSans-Bold.ttf') format('truetype'), url('../fonts/ProductSans-Bold.svg#ProductSans-Bold') format('svg');
 font-weight: bold;
 font-style: normal;
 font-display: swap;
}
/* Common */
body {
 font-family: "Product Sans", sans-serif;
 overflow-x: hidden;
}
html {
 scroll-behavior: smooth;
 scroll-padding-top: 15vh;
}
h1, h2, h3 {
 font-family: "Oswald", sans-serif;
 text-transform: uppercase;
}
h1 em, h2 em, h3 em {
 margin-left: 0.2rem;
 margin-right: 0.5rem
}
img {
 display: block;
 width: 100%;
 height: auto;
}
ul {
 list-style: none;
}
a {
 color: #333;
}
a:hover {
 color: #EC644D;
}
blockquote {
 border-left: 2px solid rgba(0, 0, 0, 0.15);
 margin-left: 1.9rem;
 padding-left: 1.5rem;
}
@media only screen and (max-width:767px) {
 .mt-5 {
  margin-top: 1.5rem !important;
 }
 .mb-5 {
  margin-bottom: 1.5rem !important;
 }
}
/* Fixed navigation: https://www.myprograming.com/bootstrap-5-navbar-fixed-on-scroll-sticky-top/ */
.fixed-top {
 top: -40px;
 background-color: rgba(255, 255, 255, 0.975);
 box-shadow: 0px 30px 40px -25px rgba(0, 0, 0, 0.15);
 transform: translateY(40px);
 transition: transform .3s linear;
 will-change: transform;
}
.fixed-top .navbar-brand img {
 max-width: 120px;
 height: 78px;
}
@media (min-width:0em) and (max-width:39em) {
 .fixed-top .navbar-brand img {
  margin: 0rem;
  height: 50px;
 }
}
/* Header */
.main-header {
 position: relative;
 background-color: transparent;
 z-index: 9;
}
.navbar-brand img {
 width: 15vw;
 max-width: 175px;
}
@media only screen and (max-width:1366px) {
 .navbar-brand img {
  margin: 0 1rem;
  width: 25vw;
 }
}
.navbar .nav-item {
 text-transform: uppercase;
 font-weight: 700;
}
.navbar .nav-link {
 color: #000;
 margin: 0.5rem 1rem;
 padding: 0.75rem 2rem;
 letter-spacing: 1px;
 outline: none;
}
.navbar .nav-link:hover {
 color: #EC644D;
}
.nav-link:focus-visible {
 box-shadow: none;
}
.dropdown-menu {
 text-transform: none;
 padding: 1rem 0.75rem 0.75rem !important;
 border-radius: 1rem;
 border: 1px solid rgba(0, 0, 0, 0.05);
 box-shadow: 0px 20px 30px -15px rgba(0, 0, 0, 0.4);
}
.dropdown-item {
 border-radius: 0.5rem;
 text-transform: none;
 font-weight: normal;
 font-size: 1.0rem;
}
.dropdown-item:focus, .dropdown-item:hover {
 background: #54B898;
 color: #FFF;
}
.navbar .navbar-button {
 background-color: rgba(84, 184, 152, 0.35);
 border-radius: 2rem;
 padding-right: 1rem;
}
@media only screen and (max-width:767px) {
 .navbar .navbar-button {
  display: -webkit-box;
  padding-right: 0;
  margin-left: 1rem;
  margin-right: 1rem;
 }
 .navbar .navbar-button .nav-item {
  text-align: center;
  width: 50%;
 }
 .navbar-nav .dropdown-menu {
  margin-left: 1rem;
  margin-right: 1rem;
  margin-bottom: 1rem;
 }
}
.navbar .navbar-button .nav-link.register {
 color: #EC644D;
 background-color: #FFF;
 border-radius: 2rem;
 margin: 0.5rem;
 padding: 0.75rem 2rem;
}
@media (min-width:0em) and (max-width:39em) {
 .navbar .navbar-button .nav-link.register {
  padding: 0.75rem 1rem;
 }
}
.navbar .navbar-button .nav-link.social {
 display: inline-block;
 font-size: 1.25rem;
 color: #54B898;
 margin: 0.5rem;
 padding: 0;
}
.navbar .navbar-button .nav-link.social:hover {
 color: #EC644D;
}
@media (min-width:0em) and (max-width:39em) {
 .navbar .navbar-button .nav-link.social {
  margin: 0;
  padding: 0;
 }
}
.navbar .navbar-button .nav-link.social ion-icon {
 font-size: 2rem;
 margin-top: 8px;
 padding: 0 0.25rem;
}
@media (min-width:0em) and (max-width:39em) {
 .navbar .navbar-button .nav-link.social ion-icon {
  font-size: 1.5rem;
  padding: 0.75rem 0.5rem;
 }
}
.navbar-toggler {
 position: relative;
 right: 1rem;
 width: 35px;
 height: 25px;
 padding: 0;
 border: none;
}
.navbar-toggler span {
 position: absolute;
 left: 0;
 display: block;
 width: 2rem;
 height: 3px;
 border-radius: 3px;
 background-color: #54B898;
 transition: all 0.25s ease;
}
.navbar-toggler:hover span {
 background-color: #54B898;
}
.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: #EC644D;
}
.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 {
 position: relative;
 margin-left: auto;
 margin-right: auto;
 padding-left: 1.5rem;
 padding-right: 1.5rem;
 max-width: 1280px;
 z-index: 1;
}
.video-spot:before {
 position: absolute;
 top: 50%;
 right: 0;
 content: "";
 width: 33%;
 height: 100%;
 background-image: url("../img/layout/logo-element.svg");
 background-position: center right;
 background-repeat: no-repeat;
 background-size: auto 85%;
 transform: translateX(10%) translateY(-50%) rotate(7deg);
 opacity: 0.1;
}
@media only screen and (min-width: 1366px) and (min-height: 769px) and (max-height: 1080px) {
 .hero-text {
  right: -35%;
  width: 50%;
 }
}
.hero-inner {
 display: block;
 position: relative;
 margin: 0 auto;
 padding: 5px;
 background-color: rgba(255, 255, 255, 0.25);
 border: 1px solid rgba(255, 255, 255, 0.5);
 border-radius: 2.5rem;
 z-index: 2;
}
@media (min-width:0em) and (max-width:39em) {
 .hero-inner {
  border-radius: 1.25rem;
 }
}
.hero-image_slide-01 {
 display: flex;
 position: absolute;
 top: 0.3rem;
 left: 0.3rem;
 width: calc(100% - 0.6rem);
 height: calc(100% - 0.6rem);
 background-image: url(../img/slider/slide-01.jpg);
 background-position: center;
 background-repeat: no-repeat;
 background-size: cover;
 border-radius: 2.1rem;
 overflow: hidden;
 z-index: 3;
}
.hero-image_slide-02 {
 display: flex;
 position: absolute;
 top: 0.3rem;
 left: 0.3rem;
 width: calc(100% - 0.6rem);
 height: calc(100% - 0.6rem);
 background-image: url(../img/slider/slide-02.jpg);
 background-position: center;
 background-repeat: no-repeat;
 background-size: cover;
 border-radius: 2.1rem;
 overflow: hidden;
 z-index: 3;
}
@media only screen and (max-width:767px) {
 .hero-image_slide-01 {
  background-position: 45% center;
 }
 .hero-image_slide-02 {
  background-position: 45% center;
 }
}
.hero-text {
 position: absolute;
 top: 5%;
 left: 3%;
 max-width: 445px;
 padding: 1rem 1.5rem;
 background-color: rgba(84, 184, 152, 0.75);
 color: #FFF;
 border-radius: 1rem;
 z-index: 4;
}
@media only screen and (max-width:767px) {
 .hero-text {
  top: 5%;
  left: 50%;
  width: 93%;
  padding: 0.5rem;
  transform: translateX(-50%);
 }
}
.hero-text h1 {
 position: relative;
 font-size: 300%;
 letter-spacing: -0.15rem;
 margin-bottom: 0;
}
.hero-text p {
 font-size: 200%;
 font-weight: 700;
}
@media only screen and (max-width:767px) {
 .hero-text h1 {
  font-size: 5vw;
  font-weight: normal;
  letter-spacing: inherit;
 }
 .hero-text h1 span {
  display: inline-block;
 }
}
.hero-text h2 {
 position: relative;
 font-size: 1.5rem;
 font-weight: 300;
 text-align: right;
 margin-top: 0.5rem;
 margin-bottom: 0;
 padding-top: 0.5rem;
 border-top: 1px solid #FFF;
}
.hero-text span {
 display: block;
}
.hero-text .logo-stroke {
 position: relative;
}
@media only screen and (max-width:767px) {
 .hero-text .logo-stroke:before {
  width: 83%;
 }
}
.hero-text .btn {
 background-color: transparent;
 border: 1.5px solid #FFF;
 color: #FFF;
}
@media only screen and (max-width:767px) {
 .hero-text .btn {
  position: absolute;
  bottom: -300%;
  left: 50%;
  margin: 0;
  min-width: 275px;
  background-color: rgba(255, 255, 255, 0.85);
  color: #000;
  transform: translateX(-50%);
 }
}
.hero-text .btn:hover {
 background-color: #000;
 border-color: #000;
 color: #FFF;
}
.carousel {
 overflow: hidden;
}
.carousel-inner {
 border-radius: 2.5rem;
}
.carousel-fade .carousel-item {
 border-radius: 2.5rem;
 overflow: hidden;
}
@media only screen and (max-width:767px) {
 .carousel, .carousel-inner, .hero, .hero-inner {
  height: auto;
 }
 .carousel-inner {
  border-radius: 1.25rem;
 }
 .carousel-fade .carousel-item {
  border-radius: 1.25rem;
 }
}
.carousel-control-next, .carousel-control-prev {
 position: absolute;
 top: 50%;
 bottom: 0;
 width: 50px;
 height: 50px;
 color: #000;
 background-color: #FFF;
 border-radius: 50%;
 transform: translateY(-50%);
 opacity: 0.85;
}
@media only screen and (max-width:767px) {
 .carousel-control-next, .carousel-control-prev {
  top: 70%;
 }
}
.carousel-control-next:hover, .carousel-control-prev:hover {
 opacity: 1;
}
.carousel-control-next {
 right: 25px;
}
.carousel-control-prev {
 left: 25px;
}
.carousel-control-prev-icon {
 background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235AA6DC'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.carousel-control-next-icon {
 background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235AA6DC'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
@media only screen and (max-width:1366px) {
 .carousel-control-next-icon, .carousel-control-prev-icon {
  width: 1.5rem;
  height: 1.5rem;
 }
 .carousel-control-next, .carousel-control-prev {
  bottom: 0;
  width: 50px;
  height: 50px;
 }
 .carousel-control-next {
  right: 25px;
 }
 .carousel-control-prev {
  left: 25px;
 }
}
.check-list {
 font-size: 2rem;
}
.check-list li {
 position: relative;
 padding-left: 2rem;
}
.check-list li ion-icon {
 position: absolute;
 top: 0.7rem;
 left: -0.5rem;
 font-size: 80%;
 line-height: 50px;
}
@media only screen and (max-width:767px) {
 .check-list {
  position: absolute;
  bottom: -15vh;
  font-size: 1rem;
  padding-left: 0.5rem;
 }
 .check-list li {
  padding-left: 0;
 }
 .check-list li ion-icon {
  top: 0.4rem;
  left: -1rem;
 }
}
/* Content */
.wrapper {
 position: relative;
 overflow-x: hidden;
 z-index: 0;
}
.row-flex {
 display: flex;
 flex-wrap: wrap;
}
.content-box, .content-box .content-box-inner {
 height: 100%;
}
.content-box {
 display: block;
 position: relative;
 margin: 0 auto;
 padding: 0.3rem;
 width: 100%;
 max-width: 1440px;
 background-color: rgba(255, 255, 255, 0.35);
 border: 2px solid #54B898;
 border-radius: 2.1rem;
 z-index: 1;
}
.content-box .content-box-inner {
 position: relative;
 padding: 2.5rem 0 1rem;
 border-radius: 1.9rem;
 background-color: rgba(255, 255, 255, 1);
 overflow: hidden;
 z-index: 1;
}
.content-box .content-box-inner .col {
 padding: 0 1.5rem;
 border-right: 1px dashed rgba(0, 0, 0, 0.25);
}
.content-box .content-box-inner .col:last-child {
 border-right: none;
}
@media only screen and (max-width:767px) {
 .content-box .content-box-inner .col {
  padding-bottom: 1.5rem;
  border-right: none;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.25);
 }
 .content-box .content-box-inner .col:nth-child(3) {
  padding-bottom: 0;
  border-bottom: none;
 }
 .content-box .content-box-inner .col:last-child {
  border-right: none;
  border-bottom: none;
  padding-bottom: 0;
 }
}
.content-box .heading-subtitle {
 font-weight: normal;
 font-size: 2rem;
 line-height: 1;
}
.content-box .heading-subtitle span {
 display: block;
 font-size: 150%;
}
.content-box .content-box-inner .btn, .content-box .content-box-inner .btn:focus {
 display: inline-block;
 padding: 0.5rem 1.5rem;
 color: #EC644D;
 border-color: #EC644D;
 margin: 0.5rem 0.25rem;
}
.content-box .content-box-inner .btn:hover {
 color: #FFF;
 border-color: #EC644D;
}
.content-box .price {
 font-weight: 700;
 font-size: 1.5rem;
 text-transform: uppercase;
 color: #EC644D;
}
.content-box ul {
 margin-top: 2rem;
 padding-left: 0;
}
/* About */
.container.about {
 max-width: 960px;
 margin-left: auto;
 margin-right: auto;
 padding-left: 1.5rem;
 padding-right: 1.5rem;
}
@media only screen and (max-width:767px) {
 .about .text-large span {
  display: block;
 }
}
/* Gallery: https://codepen.io/adnmanai/pen/CjaJs */
.gallery {
 overflow: hidden;
 height: 50vh;
 display: block;
 position: relative;
}
.gallery .imgWrap {
 cursor: pointer;
 float: left;
 width: 20%;
 height: 100%;
 overflow: hidden;
 position: relative;
 background-repeat: no-repeat;
 background-position: center center;
 background-size: cover;
 -webkit-transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 -moz-transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 -o-transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 will-change: transform;
}
.gallery .imgWrap:last-child {
 float: left;
}
.gallery .imgWrap .caption {
 position: absolute;
 left: 0;
 bottom: -100%;
 background-color: rgba(0, 0, 0, 0.5);
 border-top: 3px solid #54B898;
 padding: 20px 10%;
 color: #FFF;
 width: 100%;
 -webkit-transition: all 1s ease-in-out;
 -moz-transition: all 1s ease-in-out;
 transition: all 1s ease-in-out;
 will-change: transform;
}
.gallery .imgWrap:hover .caption {
 bottom: 0;
}
@media only screen and (max-width:767px) {
 .gallery .imgWrap .caption {
  left: 20%;
 }
}
.gallery .imgWrap .caption h3 {
 font-family: "Oswald", sans-serif;
 text-transform: uppercase;
 margin-bottom: 0;
 color: #FFF;
}
.gallery .imgWrap .caption p {
 font-size: calc(14px + 0.25vw);
}
.gallery .imgWrap .caption span {
 font-size: calc(8px + 0.25vw);
}
.gallery .current {
 width: 36%;
 -webkit-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 -moz-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 -o-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 will-change: transform;
}
.gallery .notCurrent {
 width: 16%;
 -webkit-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 -moz-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 -o-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 will-change: transform;
}
.gallery .current-full {
 position: absolute;
 left: 0;
 top: 0;
 z-index: -1;
 width: 100%;
 -webkit-transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 -moz-transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 -o-transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 will-change: transform;
}
.gallery .full-content {
 visibility: hidden;
 background: rgba(0, 0, 0, 0.6);
 height: 100%;
 width: 100%;
}
.gallery .notCurrent-full {
 width: 0%;
 -webkit-transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 -moz-transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 -o-transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 will-change: transform;
}
.gallery .images ul li {
 float: left;
 width: 150px;
 height: 125px;
 list-style: none;
 margin: 40px 40px 40px 40px;
 opacity: 1;
 box-shadow: #000 0px 0px 5px 0px;
 -webkit-animation: scale 3s ease-in-out infinite alternate;
 animation: scale 3s ease-in-out infinite alternate;
 will-change: transform;
}
.gallery .images ul li:hover {
 opacity: 1.0;
}
.gallery .current-full .close {
 visibility: visible;
}
.gallery .notCurrent-full .close {
 visibility: hidden;
}
.gallery .close {
 position: absolute;
 right: 0;
 top: 0;
 width: 50px;
 height: 50px;
 line-height: 50px;
 opacity: 0;
 background-color: #54B898;
 color: #FFF;
}
.gallery .close ion-icon {
 display: contents;
 position: absolute;
 left: 0;
 top: 0;
 width: 50px;
 height: 50px;
 line-height: 50px;
 text-align: center;
 opacity: 0;
 color: #FFF;
}
.gallery .close.notCurrent-full {
 opacity: 1;
}
.gallery .close:hover {
 background-color: #000;
 color: #FFF;
 opacity: 1;
}
/* Custom accordions */
.content-box-inner .accordion {
 padding-left: 2rem;
 padding-right: 2rem;
}
.accordion-body h3 {
 text-transform: none;
 font-size: 1.5rem;
}
.accordion-item {
 border-top: none;
 border-left: none;
 border-right: none;
 border-bottom: 1px dashed rgba(0, 0, 0, 0.25);
}
.accordion-item:last-child {
 border-bottom: none;
}
.accordion-button {
 font-size: 1.5rem;
 outline: none;
}
.accordion-button:focus {
 border: none;
 outline: 0;
 box-shadow: none;
}
.accordion-button:not(.collapsed) {
 color: #54B898;
 background-color: rgba(84, 184, 152, 0.1);
 box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .125);
}
.accordion-button:not(.collapsed)::after {
 background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235AA6DC'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
/* Other */
.event-info {
 position: relative;
}
.logo {
 position: relative;
 display: block;
 height: 150px;
}
.logo a {
 display: block;
}
.logo img {
 position: absolute;
 top: 50%;
 left: 50%;
 max-width: 150px;
 transform: translateX(-50%) translateY(-50%);
}
@media only screen and (max-width:767px) {
 .logo img {
  max-width: 120px;
 }
}
.divider {
 display: flex;
 width: 100%;
 height: 5rem;
}
@media only screen and (max-width:767px) {
 .divider {
  height: 1rem;
 }
}
.divider-double, .top-spacer {
 display: flex;
 width: 100%;
}
.divider-double {
 height: 10rem;
}
.top-spacer {
 height: 13rem;
}
.promote .heading-subtitle span {
 display: block;
 text-align: right;
}
.main-footer, .video-spot {
 position: relative;
 background-color: rgba(84, 184, 152, 0.1);
}
.main-footer::before {
 position: absolute;
 top: 0;
 left: 50%;
 content: "";
 width: 50px;
 height: 150px;
 background-image: url("../img/layout/logo-lighthouse.svg");
 background-position: center;
 background-repeat: no-repeat;
 background-size: contain;
 transform: translateX(-50%) translateY(-50%);
}
.main-footer .about .logo {
 max-width: 150px;
 height: 150px;
}
.main-footer .heading {
 font-size: 1.5rem;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: 1px;
}
.main-footer .col {
 color: #333;
 padding: 2rem 10%;
 border-right: 1px dashed #54B898;
}
@media only screen and (max-width:767px) {
 .main-footer .col {
  border-right: none;
  border-bottom: 1px dashed #54B898;
 }
}
.main-footer .col:last-of-type {
 border-right: none;
}
.main-footer .credits {
 border-top: 1px dashed #54B898;
 font-size: 0.85rem;
}
.main-footer .credits p, .main-footer .credits a {
 margin-bottom: 0;
 outline: none;
}
.main-footer span {
 margin: 0 0.5rem;
}
@media only screen and (max-width:767px) {
 .main-footer span {
  display: block;
  font-size: 0.9rem;
 }
}
.contacts ul li ion-icon {
 position: relative;
 margin: 2px 9px -2px -1.9rem;
 text-align: center;
}
/* Products banner: https://codepen.io/kravisingh/pen/pLGzgo */
.products-banner {
 position: relative;
 background-color: #EC644D;
 overflow: hidden;
 z-index: 1;
}
.products-banner:before {
 position: absolute;
 top: 55%;
 left: 50%;
 content: "";
 width: 90%;
 height: 40%;
 background-image: url("../img/layout/logo-stroke_white.svg");
 background-position: center;
 background-repeat: repeat-y;
 background-size: 90% auto;
 transform: rotate(2deg) translateX(-50%) translateY(-50%);
 opacity: 0.5;
 z-index: -1;
}
.products-banner p, .products-banner a, .products-banner h3 {
 color: #FFF;
}
.products-banner h3 {
 margin-bottom: 2rem;
 font-size: 3rem;
}
.products-banner p {
 display: block;
}
.products-banner .section-heading img {
 display: inline;
 position: relative;
 top: 0;
 max-width: 300px;
 margin: 0 1rem;
}
.products-banner .section-heading {
 display: block;
 margin-bottom: 0rem !important;
}
.products-banner .carousel {
 margin-top: 3rem;
 max-width: 1620px;
 margin-left: auto;
 margin-right: auto;
}
.products-banner figure {
 position: relative;
 width: 100%;
}
.products-banner figure:after {
 content: "";
 display: block;
 padding-bottom: 100%;
}
.products-banner figure img {
 position: absolute;
 left: 50%;
 top: 50%;
 height: auto;
 transform: translateX(-50%) translateY(-50%);
}
.products-banner .no-padding {
 padding-left: 0;
 padding-right: 0;
}
.product__category, .product__price {
 font-size: 1.2em;
 text-transform: uppercase;
 letter-spacing: 1.4px;
}
.product {
 position: relative;
 display: block;
 padding: 30px;
 border-radius: 12px;
 background-color: #FFF;
 margin: 1rem 1rem 2rem;
 width: 100%;
 z-index: 999;
}
.product p {
 color: inherit;
}
.product__image {
 width: 100%;
 margin-left: auto;
 margin-right: auto;
 margin-top: -5px;
 margin-bottom: 30px;
 max-width: none;
}
.product__title {
 font-size: 1.3rem;
 text-align: center;
 text-transform: uppercase;
 color: #54B898;
 margin: 0 0 0.5em 0;
 line-height: 1.1;
}
.product__title span {
 display: block;
 font-family: "Prompt", sans-serif;
 font-size: 1rem;
 font-weight: 700;
 text-transform: initial;
 color: #54B898;
 margin-top: 10px;
}
.product__info {
 font-size: 14px;
}
.product__price {
 position: absolute;
 display: flex;
 align-items: center;
 justify-content: center;
 top: -1rem;
 left: -1rem;
 width: 100px;
 height: 100px;
 font-family: "Oswald", sans-serif;
 background-color: rgba(0, 0, 0, 0.95);
 color: #FFF;
 border-radius: 50%;
 z-index: 9;
}
.product__price span {
 position: absolute;
 display: flex;
 align-items: center;
 justify-content: center;
 top: 1.5rem;
 left: 6rem;
 width: 52px;
 height: 52px;
 font-size: 0.9rem;
 background-color: #FFF;
 border: 1px dashed #E60A14;
 color: #E60A14;
 border-radius: 50%;
 z-index: 9;
}
@media only screen and (max-width:767px) {
 .product__title {
  font-size: 18px;
 }
 .product__title span {
  font-size: 16px;
 }
 .product__info {
  font-size: 16px;
 }
}
.product__category {
 display: block;
 color: #cf092c;
 margin-bottom: 1em;
}
.product .btn {
 display: table;
 position: absolute;
 left: calc(50% - 2rem);
 bottom: -1.5rem;
 background-color: #54B898;
 border-color: #54B898;
 color: #FFF;
 width: auto;
 padding: 0.75rem 1.5rem;
 box-shadow: 0px 30px 40px -25px rgba(0, 0, 0, 0.15);
 transform: translateX(-50%);
}
.product .btn:hover {
 background: #000;
 border-color: #000;
 color: #FFF;
}
/* Carousel products */
.products-banner .wrapper {
 position: relative;
 width: 100%;
 max-width: 1440px;
 overflow: hidden;
 z-index: 9;
}
.products-banner .main-card {
 display: flex;
 justify-content: space-evenly;
 width: 200%;
 margin-top: 3rem;
 transition: 1s;
}
@media only screen and (max-width:767px) {
 .products-banner .main-card {
  display: block;
  width: 100%;
  margin-top: 1rem;
  padding-left: 15px;
  padding-right: 15px;
 }
}
#two:checked ~ .main-card {
 margin-left: -100%;
}
.products-banner .main-card .cards {
 width: calc(100% / 2 - 10px);
 display: flex;
 flex-wrap: wrap;
 margin: 0 20px;
 justify-content: space-between;
}
@media only screen and (max-width:767px) {
 .products-banner .main-card .cards {
  width: 100%;
  margin: 0;
 }
}
.products-banner .main-card .cards .card {
 width: calc(100% / 4 - 25px);
 background: transparent;
 border-radius: 12px;
 border: none;
 padding: 0;
 box-shadow: none;
 transition: all 0.4s ease;
}
.products-banner .cards .card .content {
 width: 100%;
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
 text-align: center;
}
.button {
 width: 100%;
 display: flex;
 justify-content: center;
 margin: 2rem 0 0;
}
@media only screen and (max-width:767px) {
 .button {
  display: none;
 }
}
.button label {
 height: 50px;
 width: 50px;
 line-height: 50px;
 font-weight: 700;
 text-align: center;
 border-radius: 50px;
 background: #FFF;
 color: #000;
 margin: 0 1rem;
 transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
 cursor: pointer;
}
.button label ion-icon {
 font-size: 1.5rem;
 height: 50px;
}
.button label.active, .button label:hover {
 width: 50px;
 color: #FFF;
 background: #000;
}
#one:checked ~ .button .one {
 width: 50px;
}
#one:checked ~ .button .two {
 width: 50px;
}
#two:checked ~ .button .one {
 width: 50px;
}
#two:checked ~ .button .two {
 width: 50px;
}
.products-banner input[type="radio"] {
 display: none;
}
@media (max-width: 768px) {
 .products-banner .main-card .cards .card {
  margin: 20px 0 10px 0;
  width: calc(100% / 2 - 10px);
 }
}
@media (max-width: 600px) {
 .products-banner .main-card .cards .card {
  width: 100%;
 }
}
/* GDPR: https://codepen.io/moonbyt3/pen/GaBZay */
.gdpr {
 position: fixed;
 display: none;
 bottom: 1rem;
 right: 1rem;
 width: 250px;
 background-color: #EC644D;
 padding: 1rem 1.5rem;
 box-sizing: border-box;
 border-radius: 1rem;
 -webkit-transition: .3s ease;
 -moz-transition: .3s ease;
 -o-transition: .3s ease;
 transition: .3s ease;
 will-change: transform;
 overflow: hidden;
 z-index: 9999;
}
@media only screen and (max-width:767px) {
 .gdpr {
  width: calc(100% - 2rem);
 }
}
.gdpr p {
 display: block;
 margin-bottom: 1rem;
 font-size: 0.85rem;
 line-height: 1.2;
 color: #FFF;
}
.gdpr a {
 color: #FFF;
 outline: none;
 text-decoration: underline;
}
.gdpr .btn, .gdpr .btn:focus, .gdpr .btn:active {
 position: relative;
 left: 50%;
 font-size: 1rem;
 line-height: 1;
 margin: 0;
 background-color: transparent;
 border-color: #FFF;
 color: #FFF;
 transform: translateX(-50%);
}
.gdpr .btn:hover {
 background-color: #FFF;
 border-color: #EC644D;
 color: #EC644D;
}
.js-clear {
 text-decoration: underline;
 cursor: pointer;
 color: #333;
}
.js-clear:hover {
 color: #EC644D;
}
@media (min-width:0em) and (max-width:39em) {
 .gdpr .btn-default {
  margin-top: 20px;
  margin-bottom: 20px;
 }
}
/* Language selectors */
.lang_container {
 line-height: 100px;
 text-align: center;
 background-color: transparent;
}
.lang_container a {
 color: #54B898;
 font-weight: 700;
 text-decoration: none;
 padding: 0 10%;
 opacity: 0.75;
}
.lang_container a:hover {
 color: #EC644D;
 text-decoration: none;
 opacity: 1;
}
@media (min-width:0em) and (max-width:39em) {
 .lang_container a {
  padding: 0 12%;
 }
}
.lang_container a.active {
 color: #EC644D;
 opacity: 1;
}
/* Modals */
.modal-dialog {
 max-width: 960px;
}
.modal-content {
 border-radius: 1.5rem;
}
.modal-title {
 font-size: 2rem;
 color: #54B898;
}
/* Custom lists */
ul.highlight-list li:nth-child(1) {
 font-size: 1.2rem;
 font-weight: 700;
 text-transform: uppercase;
}
ul.hifen-list {
 margin-top: 0;
 padding-left: 2rem;
}
ul.hifen-list li {
 position: relative;
}
ul.hifen-list li:before {
 position: absolute;
 left: -1rem;
 content: " - ";
}
ul.hifen-list ul {
 margin-top: 0 !important;
 padding-left: 2rem;
}
ul.hifen-list li ul li:before {
 content: " › ";
}
@media only screen and (max-width:767px) {
 ul.hifen-list {
  padding-left: 1rem;
 }
}
/* Typography */
.heading {
 position: relative;
}
.heading-title {
 position: relative;
 font-size: 320%;
 letter-spacing: -0.15rem;
 z-index: 1;
}
@media (min-width:0em) and (max-width:39em) {
 .heading-title {
  font-size: 10vw;
 }
}
.heading-title span {
 position: absolute;
 left: 0;
 top: 15%;
 width: 100vw;
 font-family: "Prompt", sans-serif;
 font-size: 10vw;
 text-transform: uppercase;
 letter-spacing: normal;
 transform: translateX(-20%) translateY(-50%);
 opacity: 0.5;
 z-index: -1;
}
.heading-subtitle {
 position: relative;
 font-size: 2.5rem;
 font-weight: 400;
 letter-spacing: -0.05rem;
 z-index: 1;
}
@media (min-width:0em) and (max-width:39em) {
 .heading-subtitle {
  font-size: 1.95rem;
 }
}
.heading-attach {
 position: absolute;
 top: 60%;
 right: 0;
 font-family: "Oswald", sans-serif;
 font-size: 2.5rem;
 text-transform: uppercase;
 text-align: right;
 z-index: 1;
}
.heading-attach:before {
 position: absolute;
 top: 60%;
 left: -150%;
 content: "";
 width: 120%;
 height: 1px;
 background-color: #EC644D;
 z-index: 0;
}
@media (min-width:0em) and (max-width:39em) {
 .heading-attach {
  position: relative;
  font-size: 2.5rem;
 }
 .heading-attach:before {
  left: 0;
  width: 50%;
 }
}
@media (min-width:0em) and (max-width:39em) {
 .supports h5 {
  font-size: 1rem;
 }
}
.text-green {
 color: #54B898;
}
.text-gray {
 color: #EC644D;
}
/* Custom buttons */
.btn, .btn:active, .btn:focus {
 font-family: "Prompt", sans-serif;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: 1px;
 margin: 0 2rem;
 padding: 1rem 1.5rem;
 background-color: #FFF;
 color: #EC644D;
 border: 1.5px solid #EC644D;
 border-radius: 2.5rem;
 box-shadow: none;
 -webkit-appearance: none;
}
.btn-primary:hover {
 color: #FFF;
 background-color: #EC644D;
 border-color: #EC644D;
}
.btn ion-icon {
 font-size: 1.2rem;
 margin-bottom: -2px;
}
/* Tables */
.datagrid {
 margin: 1rem auto;
}
.datagrid table {
 width: 100%;
 max-width: 640px;
 cursor: default;
}
.datagrid table h4 {
 text-align: center;
 padding: 0;
}
.datagrid table h6 {
 font-size: 1.1em;
 color: black;
 margin-top: 10px;
}
.datagrid table .fa {
 font-size: 1.5em;
 margin-right: 5px;
}
.datagrid table thead th {
 text-align: center;
}
.datagrid table th {
 padding: 10px;
}
.datagrid table td {
 padding: 10px;
 vertical-align: middle;
}
.datagrid table thead th {
 font-weight: normal;
 text-transform: uppercase;
 background-color: #FFF000;
 color: #FFF;
}
.datagrid table thead th h5 {
 margin: 0;
 color: #54B898;
}
.datagrid table tr {
 border-top: 2px solid white;
 border-bottom: 2px solid white;
}
.datagrid table thead tr th:nth-child(2n) {
 background-color: #FFF000;
}
.datagrid table thead tr th:nth-child(2n+1) {
 background-color: #FFF000;
}
.datagrid table tbody td {
 font-size: 1em;
 font-weight: normal;
}
.datagrid table tbody td input {
 font-weight: bold;
 background-color: transparent;
 border: none;
}
.datagrid table td:nth-child(2n) {
 background-color: rgba(0, 0, 0, 0.05);
}
.datagrid table td:nth-child(2n+1) {
 background-color: rgba(0, 0, 0, 0.09);
}
.datagrid table td.strong {
 font-weight: 400;
}
.datagrid table tbody tr:hover {
 background-color: #F5F5F5;
}
.datagrid table tbody tr:hover .tt-column {
 background-color: #8cbbab;
}
.datagrid table tbody tr td.tt-column {
 background-color: #8bd4bc;
 font-weight: 400;
}
.data-tables h2 {
 font-weight: normal;
}
.data-tables h2 {
 font-weight: normal;
}
.row.text-center {
 text-align: center;
}
/* Effects */
.text-large {
 font-size: 150%;
}
@media only screen and (max-width:767px) {
 .text-large {
  font-size: 120%;
 }
}
.no-pointer {
 pointer-events: none;
}
.outline-text.white.stroke-1px {
 -webkit-text-stroke: 1px rgba(255, 255, 255, 1);
 -webkit-text-fill-color: rgba(255, 255, 255, 0);
}
.outline-text.white.stroke-2px {
 -webkit-text-stroke: 2px rgba(255, 255, 255, 1);
 -webkit-text-fill-color: rgba(255, 255, 255, 0);
}
@media only screen and (max-width:767px) {
 .outline-text.white.stroke-2px {
  -webkit-text-stroke: 1px rgba(255, 255, 255, 1);
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
 }
}
.outline-text.blue.stroke-1px {
 -webkit-text-stroke: 1px rgba(0, 178, 197, 1);
 -webkit-text-fill-color: rgba(0, 178, 197, 0);
}
.outline-text.blue.stroke-2px {
 -webkit-text-stroke: 1.5px rgba(0, 178, 197, 1);
 -webkit-text-fill-color: rgba(0, 178, 197, 0);
}
@media only screen and (max-width:767px) {
 .outline-text.blue.stroke-2px {
  -webkit-text-stroke: 1px rgba(0, 178, 197, 1);
  -webkit-text-fill-color: rgba(0, 178, 197, 0);
 }
}
.outline-text.green.stroke-1px {
 -webkit-text-stroke: 1px #54B898;
 -webkit-text-fill-color: rgba(137, 189, 33, 0);
}
.outline-text.green.stroke-2px {
 -webkit-text-stroke: 1.5px #54B898;
 -webkit-text-fill-color: rgba(137, 189, 33, 0);
}
@media only screen and (max-width:767px) {
 .outline-text.green.stroke-2px {
  -webkit-text-stroke: 1px #54B898;
  -webkit-text-fill-color: rgba(137, 189, 33, 0);
 }
}
.glass {
 background: rgb(255, 255, 255);
 background: linear-gradient(145deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.1) 100%);
 -webkit-backdrop-filter: blur(20px);
 backdrop-filter: blur(20px);
}
/* Background effects */
.box-shadow {
 box-shadow: 0px 30px 40px -25px rgba(0, 0, 0, 0.15);
}
.dots {
 position: absolute;
 top: 0;
 left: 0;
 width: 100vw;
 height: 100vh;
 z-index: -1;
}
.dot {
 position: absolute;
 border-radius: 50%;
}
.dot.green {
 width: 25%;
 height: 50%;
 -webkit-filter: blur(50px);
 filter: blur(50px);
 top: 55%;
 left: 50%;
 background: rgba(137, 189, 33, 0.2);
 transform: translate3d(0, 0, 0);
}
.dot.blue {
 width: 22%;
 height: 45%;
 -webkit-filter: blur(100px);
 filter: blur(100px);
 top: 30%;
 left: 0%;
 background: rgba(0, 170, 187, 0.2);
 transform: translate3d(0, 0, 0);
}
.dot.red {
 width: 35%;
 height: 40%;
 -webkit-filter: blur(100px);
 filter: blur(100px);
 top: 50%;
 left: 10%;
 background: rgba(236, 100, 77, 0.2);
 transform: translate3d(0, 0, 0);
}
.border-green {
 border: 0.3rem solid #54B898;
}
.border-red {
 border: 0.3rem solid #EC644D;
}
/* Page loading fade effect */
.fade-in {
 opacity: 0;
 -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;
}
@-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;
 }
}
/* ========================================================
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 iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 border-radius: 1rem;
}
.video {
 aspect-ratio: 16 / 9;
 width: 100%;
}
/* Display content based on date and time: https://codepen.io/doublecaffe/pen/vYQLaev */
.timedContent .DateRange {
 display: none;
}
/* =====================================================
Prevent Rotation on Mobile Devices (SVG)
===================================================== */
@media (min-width:0em) and (max-width:67.4375em) and (orientation: landscape) {
 .rotate-container-vertical {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FFF;
  pointer-events: none;
  z-index: 9999;
 }
 .rotate-container-vertical > figure {
  text-align: center;
 }
 .rotate-container-vertical figure img, .rotate-container-vertical figure svg {
  display: block;
  max-width: 100px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
 }
 .rotate-container-vertical p {
  font-size: 120%;
  margin-bottom: 0;
 }
 .wrapper {
  display: none;
 }
}
@media (min-width:37.5em) and (min-height:31.25em) {
 .rotate-container-vertical {
  display: none;
 }
}
@media (min-width:60em) {
 .rotate-container-vertical {
  display: none;
 }
}
@media (orientation: portrait) {
 .rotate-container-vertical {
  display: none;
 }
}
/**/