/* Custom fonts */
@font-face {
 font-display: swap;
 font-family: "Arial";
 font-style: normal;
 font-weight: normal;
 src: url("../fonts/ArialMT.eot");
 src: url("../fonts/ArialMT.eot?#iefix") format("embedded-opentype"), url("../fonts/ArialMT.woff2") format("woff2"), url("../fonts/ArialMT.woff") format("woff"), url("../fonts/ArialMT.ttf") format("truetype"), url("../fonts/ArialMT.svg#ArialMT") format("svg");
}
@font-face {
 font-display: swap;
 font-family: "Arial Bold";
 font-style: normal;
 font-weight: bold;
 src: url("../fonts/Arial-BoldMT.eot");
 src: url("../fonts/Arial-BoldMT.eot?#iefix") format("embedded-opentype"), url("../fonts/Arial-BoldMT.woff2") format("woff2"), url("../fonts/Arial-BoldMT.woff") format("woff"), url("../fonts/Arial-BoldMT.ttf") format("truetype"), url("../fonts/Arial-BoldMT.svg#Arial-BoldMT") format("svg");
}
/* Common */ :root {
 --primary-color: #E0001A;
 --secondary-color: #2A2D36;
 --background-color: #FFF;
 --text-color: #333;
 --border-color: rgba(0, 0, 0, 0.15);
 --hover-color: #F5F5F5;
 --arial-font: "Arial", sans-serif;
 --arial-bold-font: "Arial Bold", sans-serif;
 --bebas-font: "Bebas Neue", sans-serif;
 --big-shoulders-font: "Big Shoulders Inline Display", cursive;
}
body, html {
 /*height: 100%;*/
 scroll-behavior: smooth;
 scroll-padding-top: 15vh;
}
body {
 font-family: var(--arial-font);
 overflow-x: hidden;
}
h1, h2, h3 {
 font-family: var(--bebas-font);
 text-transform: uppercase;
}
h1 em, h2 em, h3 em {
 margin-left: 0.2rem;
 margin-right: 0.5rem;
}
h4, h5, h6 {
 font-family: var(--arial-bold-font);
 text-transform: none;
}
img {
 display: block;
 height: auto;
 outline: none;
 width: 100%;
}
img.grayscale {
 filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
 filter: gray;
 -webkit-filter: grayscale(100%);
 -webkit-transition: all .25s ease;
 -webkit-backface-visibility: hidden;
 opacity: .5
}
img.grayscale:hover {
 -webkit-filter: grayscale(0);
 cursor: pointer;
 filter: none;
 opacity: 1;
}
ul {
 list-style: none;
}
p .bi {
 margin-right: 0.5rem;
}
a, a:hover {
 color: var(--primary-color);
}
.input:focus {
 border: none !important;
 box-shadow: none !important;
 outline: none !important;
}
iframe {
 border: none;
}
blockquote {
 border-left: 2px solid rgba(0, 0, 0, 0.15);
 margin-left: 1.9rem;
 padding-left: 1.5rem;
}
hr.dashed {
 background-color: var(--background-color);
 border: none;
 border-top: 1px dashed #000;
 color: var(--background-color);
 height: 1px;
 width: 100%;
}
@media (min-width:0em) and (max-width:46em) {
 .mt-5 {
  margin-top: 1.5rem !important;
 }
 .mb-5 {
  margin-bottom: 1.5rem !important;
 }
}
.no-pointer {
 pointer-events: none;
}
/* Page loading fade effect */
.fade-in {
 -webkit-animation: fadeIn ease-in 1;
 -webkit-animation-delay: 1s;
 -webkit-animation-duration: 1s;
 -webkit-animation-fill-mode: forwards;
 animation: fadeIn ease-in 1;
 animation-delay: 1s;
 animation-duration: 1s;
 animation-fill-mode: forwards;
 -moz-animation: fadeIn ease-in 1;
 -moz-animation-delay: 1s;
 -moz-animation-duration: 1s;
 -moz-animation-fill-mode: forwards;
 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;
 }
}
/* Header */
.main-header {
 background-color: transparent;
 left: 0;
 position: fixed;
 top: 0;
 width: 100%;
 z-index: 3;
}
.navbar {
 background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 25%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 0.92) 75%, rgba(255, 255, 255, 0.90) 100%);
 background-color: rgba(255, 255, 255, 0.98);
 padding-left: calc(3.125rem - 0.75rem);
 padding-right: calc(3.125rem - 0.75rem);
 transition: all 0.5s ease-in-out;
 will-change: transform;
}
@media (min-width:46.0625em) and (max-width:74.9375em) {
 .navbar-nav {
  flex-direction: row;
 }
}
.navbar-brand {
 width: 100%;
}
@media (min-width:0em) and (max-width:46em) {
 .navbar-brand {
  width: 50%;
 }
}
.navbar-brand img {
 height: auto;
 margin: 0.5rem auto 0.5rem 0;
 max-width: 200px;
 transform: scale(1);
 transition: all 0.5s ease-in-out;
 width: 100%;
 will-change: transform;
}
@media (min-height:0em) and (max-height:720px) {
 .navbar-brand img {
  max-width: 160px;
 }
 .navbar-brand {
  margin-left: 0;
 }
}
.navbar .nav-item {
 font-weight: 700;
 text-transform: uppercase;
}
.navbar .nav-link {
 letter-spacing: 1px;
 margin: 0.5rem 1rem;
 outline: none;
 padding: 0.75rem 2rem;
}
.navbar-light .navbar-nav .nav-link {
 color: var(--secondary-color);
}
.navbar-light .navbar-nav .nav-link:hover {
 color: var(--primary-color);
}
.navbar .nav-link:hover {
 color: var(--primary-color);
}
/* Navbar toggler */
.navbar-toggler {
 align-items: center;
 background: transparent;
 border: none;
 display: flex;
 flex-direction: column;
 gap: 5px;
 height: 40px;
 justify-content: center;
 width: 40px;
}
.navbar-toggler .toggler-bar {
 background-color: var(--primary-color);
 display: block;
 height: 3px;
 transition: transform 0.3s, opacity 0.3s;
 width: 30px;
}
.navbar-toggler.collapsed .toggler-bar:nth-child(1) {
 transform: translateY(0) rotate(0);
}
.navbar-toggler.collapsed .toggler-bar:nth-child(2) {
 opacity: 1;
}
.navbar-toggler.collapsed .toggler-bar:nth-child(3) {
 transform: translateY(0) rotate(0);
}
.navbar-toggler:not(.collapsed) .toggler-bar {
 background-color: var(--secondary-color);
}
.navbar-toggler:not(.collapsed) .toggler-bar:nth-child(1) {
 transform: translateY(8px) rotate(45deg);
}
.navbar-toggler:not(.collapsed) .toggler-bar:nth-child(2) {
 opacity: 0;
}
.navbar-toggler:not(.collapsed) .toggler-bar:nth-child(3) {
 transform: translateY(-8px) rotate(-45deg);
}
.navbar-toggler:focus {
 box-shadow: none;
}
/* Dropdown */
.dropdown-menu {
 border: 1px solid var(--border-color);
 border-radius: 0;
 padding: 1rem 0.75rem 0.75rem !important;
 text-transform: none;
}
.dropdown-item {
 border-radius: 0;
 font-size: 1.0rem;
 font-weight: normal;
 text-transform: none;
}
.dropdown-item span {
 color: var(--primary-color);
 font-family: var(--bebas-font);
 font-size: 0.9rem;
 margin-left: 5px;
 text-transform: uppercase;
}
.dropdown-item:focus, .dropdown-item:hover {
 background: var(--primary-color);
 color: var(--background-color);
}
.dropdown-item:focus span, .dropdown-item:hover span {
 color: var(--background-color);
}
.dropdown-divider {
 margin: .5rem 1rem;
}
/* Navbar special cases */
.navbar .navbar-button, .navbar-nav.social {
 background-color: var(--secondary-color);
}
.navbar .navbar-button .nav-link.register {
 background-color: var(--background-color);
 border-color: var(--background-color);
 color: var(--secondary-color);
 margin: 0.5rem;
}
@media (min-width:0em) and (max-width:74.9375em) {
 .navbar .navbar-button .nav-link.register {
  padding: 0;
  width: calc(100% - 1rem);
 }
}
.navbar .navbar-button .nav-link.register:before, .navbar .navbar-button .nav-link.register:after {
 color: var(--secondary-color);
}
.navbar .navbar-button .nav-link.register:hover, .navbar .navbar-button .nav-link.register:focus, .navbar .navbar-button .nav-link.register:active, .navbar .navbar-button .nav-link.register:hover::before, .navbar .navbar-button .nav-link.register:hover::after, .navbar .navbar-button .nav-link.register:focus::before, .navbar .navbar-button .nav-link.register:focus::after, .navbar .navbar-button .nav-link.register:active::before, .navbar .navbar-button .nav-link.register:active::after {
 background-color: var(--primary-color);
 border-color: var(--primary-color);
 color: var(--background-color);
}
@media (min-width:0em) and (max-width:74.9375em) {
 .navbar-nav .nav-item {
  align-items: center;
  display: flex;
  flex: 1;
  justify-content: center;
 }
 .navbar-nav .nav-link {
  align-items: center;
  color: inherit;
  display: inline-flex;
  justify-content: center;
  text-decoration: none;
 }
}
@media (min-width:0em) and (max-width:74.9375em) {
 .navbar-nav.social {
  flex-direction: row;
 }
}
.navbar-nav.social .nav-link {
 color: var(--background-color);
 padding: 0.15rem 0;
}
.navbar-nav.social .nav-link .bi {
 font-size: 1.8rem;
}
@media (min-width:0em) and (max-width:74.9375em) {
 .navbar-nav.social .nav-link .bi {
  font-size: 1.5rem;
 }
}
.navbar-nav.social .nav-link:hover .bi {
 color: var(--primary-color);
}
/* Hero */
.carousel.slide {
 background-color: var(--primary-color);
 border-bottom: 3.125rem solid var(--background-color);
 border-left: 3.125rem solid var(--background-color);
 border-right: 3.125rem solid var(--background-color);
 height: calc(100svh - 127px);
 margin-top: 127px;
}
.carousel-inner, .carousel-item {
 background-position: center;
 background-repeat: no-repeat;
 background-size: auto 100%;
 height: 100%;
}
@media (min-width:0em) and (max-width:46em) {
 .carousel.slide {
  border-bottom: 1.25rem solid var(--background-color);
  border-left: 1.25rem solid var(--background-color);
  border-right: 1.25rem solid var(--background-color);
 }
 .carousel.slide, .carousel-inner, .carousel-item {
  background-size: cover;
 }
}
.carousel.slide:before {
 background-image: url("../img/layout/watermark.svg");
 background-position: center bottom;
 background-repeat: no-repeat;
 background-size: 100% auto;
 bottom: 0;
 content: "";
 height: 50vh;
 opacity: 0.05;
 position: absolute;
 right: 0;
 width: 75%;
}
.carousel-caption {
 background-color: rgba(255, 255, 255, 0.85);
 background-position: center;
 background-repeat: no-repeat;
 background-size: 75% auto;
 bottom: 1rem;
 display: table;
 left: 50%;
 padding: 1.5rem;
 position: absolute;
 text-align: left;
 transform: translateX(-50%);
 width: auto;
}
@media (min-width:0em) and (max-width:46em) {
 .carousel-caption {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding: 1rem;
  width: calc(100% - 2rem);
 }
}
.carousel-caption h3, .carousel-caption h4 {
 color: var(--primary-color);
 font-family: var(--bebas-font);
 margin-bottom: 0;
}
.carousel-caption span {
 display: block;
}
.carousel-caption span > span {
 display: block;
 font-size: 75%;
}
.carousel-caption h3 {
 font-size: clamp(2rem, 12vw, 4rem);
 line-height: 1;
}
.carousel-caption h4 {
 font-size: clamp(1rem, 5vw, 2rem);
 line-height: 1;
}
@media (min-width:0em) and (max-width:46em) {
 .carousel-caption span > span {
  display: block;
 }
}
.carousel-caption p {
 font-family: var(--big-shoulders-font);
 font-size: 2.7rem;
 font-weight: 500;
 line-height: 1.1;
}
.item-1 .carousel-caption p {
 font-size: 2.3rem;
 left: 27rem;
 position: absolute;
 top: 22.2rem;
}
.item-2 .carousel-caption p {
 left: 21rem;
 position: absolute;
 top: 22rem;
}
.item-3 .carousel-caption p {
 left: 0;
 position: absolute;
 top: 26rem;
}
.carousel-control-next-icon, .carousel-control-prev-icon {
 height: 4rem;
 width: 4rem;
}
.multimedia-card .carousel.slide {
 height: auto;
 margin-top: 0;
 background-color: transparent;
 border-bottom: none;
 border-left: none;
 border-right: none;
}
/* Home intro */
.intro {
 padding-bottom: 0;
 padding-top: 5rem;
}
@media (min-height:0em) and (max-height:720px) {
 .intro {
  padding-bottom: 0;
  padding-top: 5rem;
 }
}
.intro h1 {
 color: var(--primary-color);
 font-family: var(--big-shoulders-font);
 font-size: clamp(5rem, 10vw, 7rem);
 font-weight: 700;
}
.intro p {
 font-size: clamp(1.25rem, 3vw, 1.6rem);
 line-height: 1.25;
 padding-right: 2.5rem;
 margin-top: 1rem;
}
@media (min-width:0em) and (max-width:61.9375em) {
 .intro {
  padding-bottom: 1rem;
  padding-top: 1rem;
 }
 .intro p {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
 }
}
/* Content */
.wrapper {
 display: inline-block;
 margin: 0;
 overflow-x: hidden;
 padding: 0;
 position: relative;
 width: 100%;
 z-index: 0;
}
@media (min-width:0em) and (max-width:46em) {
 .wrapper {
  padding-top: 0;
  top: 0;
 }
}
.content-wrapper {
 margin-left: auto;
 margin-right: auto;
 max-width: 1200px;
 position: relative;
 z-index: 2;
}
@media (min-width:0em) and (max-width:46em) {
 .content-wrapper > div > div {
  width: 100%;
 }
}
.page {
 padding-top: 10rem;
}
@media (min-height:0em) and (max-height:720px) {
 .page {
  padding-top: 7rem;
 }
}
.heading-title span, .subheading-title span {
 color: var(--primary-color);
}
@media (min-width:0em) and (max-width:46em) {
 .heading-title span {
  display: block;
 }
}
.heading-title {
 background-color: var(--background-color);
 color: var(--secondary-color);
 display: block;
 font-size: clamp(3rem, 12vw, 4rem);
 padding-bottom: 2.5rem;
 padding-left: calc(3.125rem - 0.75rem);
 padding-right: calc(3.125rem - 0.75rem);
 padding-top: 5rem;
 text-align: center;
}
@media (min-height:0em) and (max-height:720px) {
 .heading-title {
  padding-bottom: 0;
  padding-top: 0;
 }
}
@media (min-width:0em) and (max-width:46em) {
 .heading-title {
  padding-top: 1rem;
 }
}
.subheading-title {
 display: block;
 margin-bottom: 1rem;
}
.separator {
 background-color: var(--secondary-color);
 color: var(--background-color);
 overflow: hidden;
 padding-bottom: 10rem;
 padding-top: 5rem;
 position: relative;
}
.separator:before {
 background-color: var(--background-color);
 bottom: -15%;
 content: "";
 height: 120px;
 left: -10%;
 position: absolute;
 right: -10%;
 transform: rotate(2deg);
 z-index: 1;
}
.separator:after {
 background-image: url("../img/layout/watermark.svg");
 background-position: center;
 background-repeat: no-repeat;
 background-size: cover;
 bottom: 0;
 content: "";
 left: 0;
 position: absolute;
 right: 0;
 top: 0;
 z-index: 0;
}
.separator h2 {
 font-family: var(--arial-bold-font);
 font-size: clamp(2rem, 5vw, 4rem);
 margin-bottom: 0;
 text-transform: none;
}
@media (min-height:0em) and (max-height:720px) {
 .separator h2 {
  padding-left: 4rem;
  padding-right: 4rem;
 }
}
@media (min-width:0em) and (max-width:46em) {
 .separator h2 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
 }
}
.pattern {
 background: rgba(0, 0, 0, 0.025);
 height: 75vh;
 left: 0;
 position: fixed;
 top: 10rem;
 width: 100%;
 z-index: -1;
}
.pattern-bg {
 background-image: url("../img/layout/watermark.svg");
 background-position: center;
 background-repeat: no-repeat;
 background-size: contain;
 height: 100%;
 left: 0;
 opacity: 0.025;
 position: absolute;
 top: 0;
 width: 100%;
 z-index: -1;
}
.register {
 padding: 3rem;
}
@media (min-width:0em) and (max-width:46em) {
 .register {
  padding: 1.5rem;
 }
}
.register .btn, .register .btn-block, .register .btn:focus, .register .btn-block:focus, .register .btn:active, .register .btn-block:active, .register .btn-check:checked + .btn, .register .btn.active, .register .btn.show, .register .btn:first-child:active, :not(.btn-check) + .register .btn:active {
 background: var(--primary-color);
 border: 1px solid;
 border-color: var(--primary-color);
 width: 17rem;
}
@media (min-width:0em) and (max-width:46em) {
 .register .btn {
  width: 100%;
 }
}
.register .custom-icon {
 height: auto;
 padding: 0 5rem 5rem;
 width: 100%;
}
.columns-info {
 padding: 5rem 0 10rem;
}
@media (min-height:0em) and (max-height:720px) {
 .columns-info {
  padding: 5rem 0 5rem;
 }
}
@media (min-width:0em) and (max-width:46em) {
 .columns-info {
  padding: 1rem 0 0;
 }
}
.columns-info .content-wrapper > div > div:nth-child(1) {
 margin-top: 0;
}
.columns-info .content-wrapper > div > div:nth-child(2) {
 margin-top: 50px;
}
.columns-info .content-wrapper > div > div:nth-child(3) {
 margin-top: 100px;
}
.columns-info .content-wrapper > div > div:nth-child(4) {
 margin-top: 0;
}
@media (min-width:0em) and (max-width:46em) {
 .columns-info .content-wrapper > div > div {
  margin-top: 0 !important;
 }
}
.info-card {
 -webkit-transition: all 0.2s ease-out 0.1s;
 -moz-transition: all 0.2s ease-out 0.1s;
 border: 1px solid rgba(0, 0, 0, 0.15);
 margin-left: -1px;
 margin-top: -1px;
 padding: 2.5rem;
 position: relative;
 transition: all 0.2s ease-out 0.1s;
 z-index: 1;
}
.info-card:hover {
 z-index: 2;
}
.info-card.light {
 background-color: var(--background-color);
 color: inherit;
}
.info-card.light:hover {
 border-color: rgba(0, 0, 0, 1);
}
.info-card.dark {
 background-color: var(--primary-color);
 border: 1px solid rgba(255, 255, 255, 0.75);
 color: var(--background-color);
}
.info-card.dark .custom-icon {
 filter: brightness(0) invert(1);
 margin-bottom: 1rem;
 position: relative;
 width: 48px;
}
.info-card h3 {
 font-size: clamp(2rem, 3vw, 2.25rem);
 line-height: 1;
}
.info-card p, .info-card ul {
 line-height: 1.25;
}
.info-card p:last-of-type, .info-card ul:last-of-type {
 margin-bottom: 0;
}
.info-card ul.hifen-list {
 padding-left: 1rem;
}
.info-card .btn {
 border: 1px solid var(--background-color);
 width: 100%;
}
.info-card .btn:hover {
 border-color: var(--secondary-color);
}
.info-card .btn:before, .info-card .btn:after {
 color: var(--background-color);
}
.square {
 margin: 0 0.5rem 1rem 0.5rem;
 position: relative;
 width: calc(100% - 1rem);
}
@media (min-width:0em) and (max-width:46em) {
 .square {
  margin: 0 0 1rem 0;
  width: 100%;
 }
}
.row .col:last-of-type .square {
 margin: 0 0 1rem 0;
 width: calc(100% - 0rem);
}
.square-content {
 border: 1px solid rgba(0, 0, 0, 0.05);
 height: auto;
 padding: 2rem;
 position: relative;
 width: 100%;
}
.square-content p {
 margin-top: 0.5rem;
}
.square-content p:last-of-type {
 margin-bottom: 0;
}
.square-content a {
 display: inline;
}
.square-content.bridge-right:before {
 color: var(--primary-color);
 content: "▶";
 font-size: 1.5rem;
 height: 1.5rem;
 position: absolute;
 right: -20px;
 text-align: center;
 top: 15%;
 width: 1.5rem;
 z-index: 1;
}
@media (min-width:0em) and (max-width:46em) {
 .square-content.bridge-right:before {
  content: "▼";
  right: calc(50% - 10px);
  top: calc(100% - 10px);
 }
}
.square-content.bridge-top:before {
 color: var(--primary-color);
 content: "▲";
 font-size: 1.5rem;
 height: 1.5rem;
 left: 50%;
 line-height: 1;
 position: absolute;
 text-align: center;
 top: -20px;
 width: 1.5rem;
 z-index: 1;
}
.local-map {
 position: relative;
}
.local-map .btn, .local-map .btn:focus {
 bottom: 3rem;
 position: absolute;
 right: 1rem;
 width: 13rem;
}
.local-map .btn:before, .local-map .btn:after {
 width: 90%;
}
@media (min-width:0em) and (max-width:46em) {
 .local-map .btn, .local-map .btn:focus {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
 }
}
/* Supports */
.supports {
 padding-bottom: 5rem;
}
.supports h5 {
 font-size: 1rem;
 font-weight: 700;
 margin-bottom: 1rem;
 margin-top: 5rem;
 text-transform: uppercase;
}
.supports figure {
 height: 100%;
}
.supports figure a {
 cursor: pointer;
 display: flex;
 height: 100%;
}
.supports figure img {
 display: block;
 margin: 0 auto;
 width: 180px;
 height: 100px;
 object-fit: contain;
 object-position: center;
 padding: 0.5rem;
}
@media (min-width:0em) and (max-width:46em) {
 .supports figure img {
  filter: none;
  max-width: 150px;
  opacity: 1;
 }
}
/* Custom accordions */
.accordion-header {
 font-family: var(--bebas-font);
}
.accordion-body {
 padding: 1rem 3rem;
}
@media (min-width:0em) and (max-width:46em) {
 .accordion-body {
  padding: 1rem 1.5rem;
 }
}
.accordion-body h3 {
 font-size: 1.5rem;
 text-transform: none;
}
.accordion-body .subheading-title {
 font-family: var(--arial-bold-font);
}
.accordion-body h4 {
 font-size: 1.25rem;
}
.accordion-body h4, .accordion-body p {
 padding-left: 1rem;
 padding-right: 1rem;
}
.accordion-body ul {
 padding-left: 3rem;
 padding-right: 3rem;
}
@media (min-width:0em) and (max-width:46em) {
 .accordion-body h3 {
  font-size: 1.25rem;
 }
 .accordion-body h4 {
  font-size: 1.15rem;
 }
 .accordion-body ul {
  padding-left: 1.8rem;
  padding-right: 1rem;
 }
}
.accordion-item {
 border-bottom: none;
 border-left: none;
 border-right: none;
 border-top: none;
 margin-bottom: 0.5rem;
 margin-top: 0.5rem;
}
.accordion-item:last-child {
 border-bottom: none;
}
.accordion-button {
 border: 1px solid var(--background-color);
 font-size: 1.5rem;
 outline: none;
}
@media (min-width:0em) and (max-width:46em) {
 .accordion-button {
  font-size: 1.2rem;
 }
}
.accordion-button:focus {
 border: 1px solid var(--background-color);
 box-shadow: none;
 outline: 0;
}
.accordion-button:hover {
 background-color: var(--background-color);
 border: 1px solid var(--primary-color);
 color: var(--primary-color);
}
.accordion-button:not(.collapsed) {
 background-color: var(--primary-color);
 border: 1px solid var(--primary-color);
 color: var(--background-color);
}
.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='white'%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");
}
/* Modals */
.modal-header {
 padding: 1rem 2rem;
}
.modal-body {
 padding: 1rem 2rem;
}
.modal-dialog {
 max-width: 960px;
}
.modal-dialog.zoom-map {
 height: calc(100% - 1rem);
 margin: 0.5rem auto;
 max-width: calc(1440px - 1rem);
}
@media (min-width:0em) and (max-width:46em) {
 .modal-dialog.zoom-map .modal-body {
  padding: 1rem 0.5rem;
 }
}
.modal-dialog.zoom-map .modal-content {
 height: 100%;
}
.map-frame {
 height: 100%;
 margin-bottom: 0;
 overflow: scroll;
 position: relative;
 width: 100%;
}
.map-frame-wrapper {
 background-image: url("../img/content/mapa_jamor-local.jpg");
 background-position: center;
 background-repeat: no-repeat;
 background-size: contain;
 cursor: all-scroll;
 height: calc(100% - 2rem);
 left: 0;
 position: absolute;
 top: 0;
 width: 100%;
}
.map-frame img {}
@media (min-width:0em) and (max-width:46em) {
 .map-frame-wrapper {
  height: 519px;
  width: 682px;
 }
}
.modal-content {
 border-radius: 0;
}
.modal-title {
 color: var(--primary-color);
 font-size: 2rem;
}
@media (min-width:0em) and (max-width:46em) {
 .modal-title {
  font-size: 1.8rem;
 }
}
/* Custom icons */
.custom-icon {
 margin-bottom: 2rem;
 max-width: 80px;
 position: relative;
}
/* 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.5rem;
 padding-left: 1.5rem;
}
ul.hifen-list li {
 position: relative;
}
ul.hifen-list li:before {
 content: " - ";
 left: -1rem;
 position: absolute;
}
ul.hifen-list li a {
 color: var(--primary-color);
}
ul.hifen-list ul {
 margin-top: 0 !important;
 padding-left: 1rem;
}
ul.hifen-list li ul li:before {
 content: " › ";
}
@media (min-width:0em) and (max-width:46em) {
 ul.hifen-list {
  padding-left: 1rem;
 }
}
/* Custom buttons: https://codepen.io/Zorlimar/pen/bmYRMW */
.btn, .btn:focus, .btn:active {
 background: var(--primary-color);
 border: 1px solid;
 border-color: var(--primary-color);
 border-radius: 0;
 color: transparent;
 display: block !important;
 font-weight: 700;
 height: 3rem;
 letter-spacing: 0.5px;
 margin: auto;
 outline: 0;
 overflow: hidden;
 position: relative;
 text-transform: uppercase;
 transition: background 0.15s;
 width: 10rem;
 z-index: 0;
}
.btn:hover {
 background: var(--secondary-color);
 border-color: var(--secondary-color);
 color: var(--background-color);
}
.btn, .btn:focus, .btn:active {
 background: var(--primary-color);
 border: 1px solid;
 border-color: var(--primary-color);
 border-radius: 0;
 color: transparent;
 display: block !important;
 font-weight: 700;
 height: 3rem;
 letter-spacing: 0.5px;
 margin: auto;
 outline: 0;
 overflow: hidden;
 position: relative;
 text-transform: uppercase;
 transition: background 0.15s;
 width: 10rem;
 z-index: 0;
}
.btn:before, .btn:after {
 color: var(--background-color);
 content: attr(data-text);
 height: 50%;
 left: 0%;
 line-height: calc(3rem - 2px);
 overflow: hidden;
 position: absolute;
 top: 0;
 transform: translate(0);
 transition: transform 0.3s cubic-bezier(0.75, -0.5, 0, 1.75);
 width: 100%;
 z-index: -1;
}
.btn:after {
 line-height: 0;
 padding-bottom: 1rem;
 top: 50%;
}
.btn:hover {
 background: var(--secondary-color);
 border-color: var(--secondary-color);
 color: var(--background-color);
}
.btn:hover::before, .btn:active::before {
 color: var(--background-color);
 transform: translate(1.25%, -1px) rotate(0.5deg);
}
.btn:hover::after, .btn:active::after {
 color: var(--background-color);
 transform: translate(-0.25%, 1px) rotate(-0.5deg);
}
/* Tables */
.datagrid {
 margin: 1rem auto;
}
.datagrid table {
 cursor: default;
 max-width: 640px;
 width: 100%;
}
.datagrid table h4 {
 padding: 0;
 text-align: center;
}
.datagrid table h6 {
 color: black;
 font-size: 1.1em;
 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 {
 background-color: #FFF000;
 color: var(--background-color);
 font-weight: normal;
 text-transform: uppercase;
}
.datagrid table thead th h5 {
 color: #0050AA;
 margin: 0;
}
.datagrid table tr {
 border-bottom: 2px solid var(--background-color);
 border-top: 2px solid var(--background-color);
}
.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 {
 background-color: transparent;
 border: none;
 font-weight: bold;
}
.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: var(--hover-color);
}
.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;
}
/* Footer */
.main-footer {
 background-color: #EFEFEF;
 border-top: 3.125rem solid var(--primary-color);
 position: relative;
}
@media (min-width:0em) and (max-width:61.9375em) {
 .main-footer {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
 }
}
.main-footer .about .logo {
 height: 75px;
 max-width: 150px;
}
.main-footer .heading {
 color: #EFEFEF;
 font-family: var(--bebas-font);
 font-size: 2.5rem;
 letter-spacing: 0.5px;
 margin-top: -36px;
 padding-bottom: 1rem;
 text-transform: uppercase;
}
@media (min-width:0em) and (max-width:61.9375em) {
 .main-footer .heading {
  color: var(--text-color);
  margin-top: 2rem;
 }
}
@media (min-width: 62em) {
 .main-footer [class^="col"] {
  color: var(--text-color);
  padding: 0 10% 2rem;
 }
}
.main-footer .credits {
 border-top: 1px solid var(--primary-color);
}
.main-footer .credits p, .main-footer .credits a {
 font-size: 0.7rem;
 margin-bottom: 0;
 outline: none;
 text-transform: uppercase;
}
.main-footer span {
 margin: 0 0.5rem;
}
@media (min-width:0em) and (max-width:46em) {
 .main-footer span {
  display: block;
  font-size: 0.7rem;
  padding-bottom: 0.25rem;
  padding-top: 0.25rem;
 }
}
.contacts ul li .bi {
 margin: 2px 9px -2px -1.9rem;
 position: relative;
 text-align: center;
}
/* GDPR: https://codepen.io/henriquebaldy/pen/empMZWq */
.gdpr {
 align-items: flex-start;
 background-color: var(--secondary-color);
 border: 1px solid rgba(255, 255, 255, 0);
 bottom: 3.125rem;
 box-sizing: border-box;
 color: #fff;
 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: 320px;
 z-index: 999;
}
.gdpr p {
 font-size: 0.85rem;
 text-align: justify;
}
.gdpr a {
 color: #fff;
 text-decoration: underline;
 transition: color 0.3s ease;
}
.gdpr a:hover {
 color: var(--primary-color);
}
.gdpr-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 0.8rem;
 justify-content: center;
 margin-top: 2rem;
 width: 100%;
}
.gdpr-btn.accept:hover {
 background-color: var(--primary-color);
 border-color: var(--primary-color);
}
.gdpr-btn.reject {
 background-color: transparent;
}
.gdpr-btn.reject:hover {
 border-color: var(--primary-color);
}
.gdpr-close {
 align-items: center;
 background: none;
 border: none;
 color: #fff;
 cursor: pointer;
 display: flex;
 font-size: 1.5rem;
 height: 1.5rem;
 justify-content: center;
 padding: 0;
 position: absolute;
 right: 0.5rem;
 top: 0.5rem;
 width: 1.5rem;
}
.gdpr-close:hover {
 color: var(--primary-color);
}
.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: #ff8f00;
}
@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%;
 }
}
/* Zoom in */
.zoom-in {
 cursor: zoom-in;
}
/* Video responsive */
.video-container {
 margin-left: calc(3.125rem - 0.75rem);
 margin-right: calc(3.125rem - 0.75rem);
 padding-bottom: 56.25%;
 position: relative;
}
@media (min-width:0em) and (max-width:46em) {
 .video-container {
  margin-left: calc(1.25rem - 0.75rem);
  margin-right: calc(1.25rem - 0.75rem);
 }
}
.video-container iframe {
 height: 100%;
 left: 0;
 position: absolute;
 top: 0;
 width: 100%;
}
.video {
 aspect-ratio: 16 / 9;
 width: 100%;
}
/* Five columns layout */
@media (min-width:62em) {
 col-md-20, .col-lg-20 {
  flex: 0 0 auto;
  width: 20%;
 }
}
/* =====================================================
   Prevent Rotation on Mobile Devices (SVG)
===================================================== */
@media (min-width:0em) and (max-width:67.4375em) and (orientation: landscape) {
 .rotate-container-vertical {
  align-items: center;
  background-color: var(--background-color);
  display: flex;
  height: 100dvh;
  justify-content: center;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100dvw;
  z-index: 9999;
 }
 .rotate-container-vertical > figure {
  text-align: center;
 }
 .rotate-container-vertical figure img, .rotate-container-vertical figure svg {
  display: block;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 100px;
 }
 .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;
 }
}