@font-face {
    font-family: 'Outfit';
    src: url('../fonts/Outfit-Light.eot');
    src: url('../fonts/Outfit-Lightd41d.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Outfit-Light.woff2') format('woff2'),
        url('../fonts/Outfit-Light.woff') format('woff'),
        url('../fonts/Outfit-Light.ttf') format('truetype'),
        url('../fonts/Outfit-Light.svg#Outfit-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('../fonts/Outfit-Regular.eot');
    src: url('../fonts/Outfit-Regulard41d.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Outfit-Regular.woff2') format('woff2'),
        url('../fonts/Outfit-Regular.woff') format('woff'),
        url('../fonts/Outfit-Regular.ttf') format('truetype'),
        url('../fonts/Outfit-Regular.svg#Outfit-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('../fonts/Outfit-SemiBold.eot');
    src: url('../fonts/Outfit-SemiBoldd41d.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Outfit-SemiBold.woff2') format('woff2'),
        url('../fonts/Outfit-SemiBold.woff') format('woff'),
        url('../fonts/Outfit-SemiBold.ttf') format('truetype'),
        url('../fonts/Outfit-SemiBold.svg#Outfit-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('../fonts/Outfit-Bold.eot');
    src: url('../fonts/Outfit-Boldd41d.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Outfit-Bold.woff2') format('woff2'),
        url('../fonts/Outfit-Bold.woff') format('woff'),
        url('../fonts/Outfit-Bold.ttf') format('truetype'),
        url('../fonts/Outfit-Bold.svg#Outfit-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

:root{
    accent-color: #E21F26;
  --facebook: #1877F2;
  --instagram: #E4405F;
  --linkedin: #0A66C2;
  --twitter: black;
  --youtube: #CD201F;
}


/**********************
 GENERAL
 **********************/
body, h1, .h1, h2, h3, h4, h5, h6, p, ul li, ol li { font-family: 'Outfit', sans-serif; }
body, p, ul li, ol li { color: #464534; font-size: 18px; font-weight: 300; line-height: 24px; }
strong, b { font-weight: bold; }
a, button, [type="submit"] { text-decoration: none; transition: .5s all ease; -webkit-transition: .5s all ease; }
a { color: var(--site1); }
a[href*="tel:"]:not(.button), a[href*="mailto:"]:not(.button) { color: var(--site1); }
a[href*="tel:"]:not(.button)::hover, a[href*="mailto:"]:not(.button)::hover { color: var(--site2); }
button, input[type="submit"] { appearance: none; -webkit-appearance: none; border: 0; box-shadow: none; }

h1, .h1, h2, h3, h4, h5 { color: black; font-weight: 600; }
h6 { color: black; }
h1, .h1 { font-size: 48px; line-height: 52px; }
h1.xl, .h1.xl { font-size: 68px; line-height: 72px; }
h2 { font-size: 40px; line-height: 44px; }
h3 { font-size: 30px; line-height: 34px; }
h4 { font-size: 28px; line-height: 32px; }
h5 { font-size: 20px; line-height: 24px; }
h6 { font-size: 26px; font-weight: 300; line-height: 30px; }

@media (min-width: 1300px) {
    .container { max-width: 1270px; }
}

@media (min-width: 1400px) {
    .container { max-width: 1370px; }
}

@media (min-width: 1500px) {
    .container { max-width: 1470px; }
}

.w-100 { width: 100%!important; }

.text-site1 { color: var(--site1); }
.text-site2 { color: var(--site2); }
.text-site3 { color: var(--site3); }
.text-site4 { color: var(--site4); }

.minw-150 { min-width: 150px; }

.button { background-color: var(--site1); border-radius: 35px; border: 2px solid var(--site1); color: white; display: inline-block; font-size: 18px; font-weight: 600; line-height: 24px; padding: 9px 24px; text-align: center; width: fit-content; }
.button:hover { background-color: var(--site2); border-color: var(--site2); color: white; }

.button.regular { background-color: transparent; border-color: transparent; color: var(--site1)!important; padding: 0; text-decoration: underline; }
.button.regular:hover { color: var(--site2)!important; }

.button.outline { background-color: transparent; border: 2px solid var(--site1); color: var(--site1); }
.button.outline:hover { background-color: var(--site1); color: white; }

.button.button-white { background-color: white; border-color: white; color: black; }
.button.button-white:hover { background-color: black; border-color: black; color: white; }

.button.button-white.outline { background-color: transparent; border: 2px solid white; color: white; }
.button.button-white.outline:hover { background-color: white; border-color: white; color: black; }

.text-link { background-color: transparent; color: black; font-weight: 500; }

.button.arrow-right:after, .text-link.arrow-right:after { content: "\f061"; display: inline-block; font-family: 'Font Awesome 6 Free'; font-size: 85%; font-weight: bold; margin-left: 8px; transform: translateX(0); -webkit-transform: translateX(0); transition: .2s all ease; -webkit-transition: .2s all ease; }
.button.arrow-right:hover::after, .text-link.arrow-right:hover::after { transform: translateX(5px); -webkit-transform: translateX(5px); }

.button.button-white.outline.arrow-right:after { color: white; }
.button.button-white.outline.arrow-right:hover::after { color: black; }

.four-three, .sixteen-nine, .three-four, .three-5-four { display: inline-block; position: relative; width: 100%; }
.four-three { aspect-ratio: 4/3; }
.three-four { aspect-ratio: 3/4; }
.sixteen-nine { aspect-ratio: 16/9; }
.three-5-four { aspect-ratio: 3.5/4; }
.four-three > a:not([class]), .three-four > a:not([class]), .sixteen-nine > a:not([class]), .three-5-four > a:not([class]) { height: 100%; left: 0; position: absolute; top: 0; width: 100%; }

.light-text *, .light-text a { color: white; }

.br-32 { border-radius: 32px; }

.p-relative { position: relative; }

@media (max-width: 1199px) {
    h1, .h1 { font-size: 45px; line-height: 49px; }
    h1.xl, .h1.xl { font-size: 65px; line-height: 69px; }
    h2 { font-size: 37px; line-height: 41px; }
    h3 { font-size: 28px; line-height: 32px; }
    h4 { font-size: 26px; line-height: 30px; }
    h5 { font-size: 18px; line-height: 22px; }
    h6 { font-size: 24px; line-height: 28px; }
    body, p, ul li, ol li { font-size: 17px; line-height: 23px; }

    .button { font-size: 17px; line-height: 23px; }

    .margin-bottom-xxl { margin-bottom: 75px; }
    .margin-top-xxl { margin-top: 75px; }

    .padding-bottom-xxl { padding-bottom: 75px; }
    .padding-top-xxl { padding-top: 75px; }
}

@media (max-width: 992px) {
    h1, .h1 { font-size: 42px; line-height: 46px; }
    h1.xl, .h1.xl { font-size: 62px; line-height: 66px; }
    h2 { font-size: 34px; line-height: 38px; }
    h3 { font-size: 26px; line-height: 30px; }
    h4 { font-size: 23px; line-height: 27px; }
    h5 { font-size: 17px; line-height: 21px; }
    h6 { font-size: 22px; line-height: 26px; }
    body, p, ul li, ol li { font-size: 16px; line-height: 22px; }

    .button { font-size: 16px; line-height: 22px; }

    .margin-bottom-xxl { margin-bottom: 60px; }
    .margin-top-xxl { margin-top: 60px; }

    .padding-bottom-xxl { padding-bottom: 60px; }
    .padding-top-xxl { padding-top: 60px; }

    .bkg-fixed { background-attachment: inherit!important; }
}

@media (max-width: 767px) {
    h1, .h1 { font-size: 36px; line-height: 40px; }
    h1.xl, .h1.xl { font-size: 59px; line-height: 63px; }
    h2 { font-size: 32px; line-height: 36px; }
    h3 { font-size: 24px; line-height: 28px; }
    h4 { font-size: 21px; line-height: 25px; }
    h5 { font-size: 16px; line-height: 20px; }
    h6 { font-size: 20px; line-height: 24px; }
    body, p, ul li, ol li { font-size: 15px; line-height: 21px; }
}

@media (min-width: 577px) {
    .button + .button { margin-left: 25px; }
}

@media (max-width: 576px) {
    h1, .h1 { font-size: 32px; line-height: 36px; }
    h1.xl, .h1.xl { font-size: 55px; line-height: 59px; }
    h2 { font-size: 30px; line-height: 34px; }
    h6 { font-size: 18px; line-height: 22px; }

    .button { font-size: 15px; line-height: 21px; }
}

/*** Bootstrap ***/
@media (min-width: 993px) {
    .col-lg-20 { flex: 0 0 20%; -ms-flex: 0 0 20%; max-width: 20%; }

    .mt-lg-15p { margin-top: 15%!important; }
}

.rounded { border-radius: 16px!important; }

/*** Lightbox ***/
.lightboxOverlay { z-index: 99999999; }
.lightbox { z-index: 9999999999; }

/*** Browser. Alert ***/
.browser-alert { position: absolute; top: 30px; left: 30px; z-index: 99999999; background-size: contain; max-width: 500px; width: 100%; }
.browser-alert p:last-child { margin: 0!important; }

/**********************
 HEADER
 **********************/
#header { background-color: transparent; left: 0; padding: 25px 0 20px; position: absolute; top: 0; width: 100%; z-index: 9999; transition: .5s all ease; }
#header.open { position: fixed; }
#header.open:before { content: ''; background: var(--site2) url('../img/lines-bkg.webp') no-repeat center; background-size: cover; border-radius: 0 0 120px 0; display: inline-block; height: 100vh; left: 0; position: absolute; top: 0; width: 100%; }
#header ul, #header ul > li { display: inline-block; list-style: none; }
#header ul { margin-bottom: 0; padding-left: 0; }
#header ul > li > a { color: white; }

#header .col-12 { left: 0; position: absolute; top: -25px; }
#header .col-12:before { content: ''; background-color: white; display: inline-block; height: 100%; left: calc(100% - 15px); position: absolute; width: calc(calc(calc(100vw - 100%) / 2) + 6px); }
#header .top-information { background-color: white; border-radius: 0 0 0 25px; float: right; padding: 7px 0 0 25px; }
#header .top-information > li { float: left; font-size: 13px; padding-bottom: 7px; position: relative; }
#header .top-information > li:first-child:after { content: ''; background-color: #dddddd; display: inline-block; float: right; height: 23px; margin-left: 10px; position: relative; top: 1px; width: 1px; }
#header .top-information > li:not(:last-child) { margin-right: 15px; }
#header .top-information > li > img { margin-right: 2px; }
#header .top-information > li img[src*="smart"] { height: 21px; }
#header .top-information > li .lang:after { content: "\f0d7"; display: inline-block; font-family: FontAwesome; font-size: 11px; margin-left: 6px; transform: rotate(0) translateY(0); -webkit-transform: rotate(0) translateY(0); transition: .5s all ease; -webkit-transition: .5s all ease; }
#header .top-information > li.switcher { cursor: pointer; }
#header .top-information > li.switcher:hover { color: var(--site2); }
#header .top-information > li.switcher:hover .lang:after { transform: rotate(180deg) translateY(15%); -webkit-transform: rotate(180deg) translateY(15%); }
#header .top-information > li.subscribe .button {font-size: 12px;padding: 0px 14px;}
#header .top-information > li.subscribe .button:hover {color: var(--site1)!important; background: var(--white);}
#header .top-information > li.subscribe .button i { margin-right: 2px;}

/*** Language Selector ***/
#header .top-information > li > ul { background-color: white; border-radius: 25px 0 4px 4px; display: none; padding: 10px 15px 5px; position: absolute; right: 0; top: 100%; width: 140px; z-index: 999999999; }
#header .top-information > li.switcher:hover > ul { display: block; }
#header .top-information > li > ul > li, #header .top-information > li > ul > li > a { display: inline-block; width: 100%; }
#header .top-information > li > ul > li > a { color: black; padding: 5px 0; }
#header .top-information > li > ul > li > a img { height: 16px; margin-right: 4px; position: relative; top: -1px; }
#header .top-information > li > ul > li:not(:last-child) > a { border-bottom: 1px solid #cccccc; }
#header .top-information > li > ul > li > a:hover { color: var(--site2); }

#header ul.actions > li:not(:last-child) { margin-right: 12px; }
#header ul.actions > li > a { font-size: 22px; }
#header ul.actions > li > a img { height: 26px; position: relative; top: -1px; }
#header ul.actions > li > a > span.badge { font-size: 12px; height: 20px; line-height: 20px; padding: 0 6px; position: relative; bottom: 3px; right: 27px; transform: translate(50%, 50%); }

#header .open-menu { font-size: 16px; font-weight: 600; line-height: 24px; padding: 4px 18px; margin-left: 15px; }
#header .open-menu.open i:before { content: '\f00d'; }

/*
#header .open-menu { display: inline-block; height: 19px; margin-left: 15px; position: relative; top: 2px; width: 30px; }
#header .open-menu .line { background: white; border-radius: 2px; display: inline-block; float: right; height: 3px; width: 30px; transition: .5s all ease; -webkit-transition: .5s all ease; }
#header .open-menu .line:not(:last-child) { margin-bottom: 5px; }
#header .open-menu .line:nth-child(2) { width: 75%; }
#header .open-menu .line:last-child { width: 50%; }
#header .open-menu:hover .line:nth-child(2), #header .open-menu:hover .line:last-child { width: 100%; }

#header .open-menu.open .line { left: 0; position: absolute; top: 50%; transform: rotate(45deg); -webkit-transform: rotate(45deg); }
#header .open-menu.open .line:nth-child(2) { opacity: 0; }
#header .open-menu.open .line:last-child { width: 100%; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
*/

#header .brand-logo img {max-height: 150px;}

#header.sticky { background-color: var(--site2); padding-block: 15px; position: fixed; }
#header.sticky .brand-logo img { max-height: 47px; }

@media (min-width: 993px) {
    #header.sticky .col-12 { display: none; }

    #header ul.actions { margin-left: 30px }

    #header .menu > li { position: static; }
    #header .menu > li:not(:last-child) { margin-right: 30px; }
    #header .menu > li > a { font-size: 21px; line-height: 25px; }
    #header .menu > li.parent > a:after { content: "\f0d7"; display: inline-block; font-family: FontAwesome; font-size: 14px; margin-left: 1px; transform: rotate(0) translateY(0); -webkit-transform: rotate(0) translateY(0); transition: .5s all ease; -webkit-transition: .5s all ease; }
    #header .menu > li.parent.open > a:after { transform: rotate(180deg) translateY(5%); -webkit-transform: rotate(180deg) translateY(5%); }

    /*** Submenu ***/
    #header .menu > li > ul { border-radius: 0 0 120px 0; display: inline-block; left: 0; padding: 80px 0; position: absolute; top: 100%; width: 100%; }
    #header .menu > li:not(.open) > ul { display: none; }
    #header .menu > li > ul > li { display: inline-block; float: left; text-align: left; width: 33.333333334%; }
    #header .menu > li > ul > li a { border-radius: 25px; color: white; display: inline-block; font-size: 18px; line-height: 22px; padding: 6px 22px; }
    #header .menu > li > ul > li > a { font-size: 28px; font-weight: 600; line-height: 32px; margin-bottom: 10px; }

    /*** Submenu 2 ***/
    #header .menu > li > ul > li > ul, #header .menu > li > ul > li > ul > li { display: inline-block; width: 100%; }
    #header .menu > li > ul > li > ul > li > a:after { content: '\f105'; color: white; font-family: FontAwesome; margin-left: 5px; }
    #header .menu > li > ul > li > ul > li.active > a, #header .menu > li > ul > li > ul > li > a:hover { background-color: white; color: var(--site2); }
    #header .menu > li > ul > li > ul > li.active > a:after, #header .menu > li > ul > li > ul > li > a:hover:after { color: var(--site2); }
}

@media (max-device-width: 1399px) {
    #header .col-12:before { width: calc(calc(calc(100vw - 100%) / 2) + 15px); }
}

@media (max-width: 1199px) {
    #header ul.actions { margin-left: 25px }

    #header .menu > li:not(:last-child) { margin-right: 25px; }
    #header .menu > li > a { font-size: 19px; line-height: 23px; }
    #header .menu > li.parent > a:after { font-size: 13px; }

    /*** Submenu ***/
    #header .menu > li > ul > li a { font-size: 17px; line-height: 21px; }
    #header .menu > li > ul > li > a { font-size: 26px; line-height: 30px; }

    #header ul.actions > li > a { font-size: 22px; }
}

@media (max-width: 992px) {
    #header { padding-top: 30px; }
    #header.open:before { border-radius: 0; }
    #header .col-12 { bottom: 0; position: fixed; top: auto; z-index: 99; }
    #header:not(.open) .col-12 { display: none; }

    #header .top-information { border-radius: 25px 0 0 0; }
    #header .top-information > li.app-download { display: none; }
    #header .top-information > li > ul { border-radius: 4px 4px 0 25px; bottom: 100%; top: auto; }

    #header ul.actions { margin-left: 0; }

    #header .brand-logo img { max-height: 56px; }

    #header.sticky { padding-block: 10px; }
}

@media (max-width: 767px) {
    #header { padding-top: 15px; }
}


/**********************
 OFFCANVAS
 **********************/
#offCanvas { display: flex; left: 0; height: calc(100% - 180px); position: fixed; top: 180px; width: 100%; z-index: 99998; }
#offCanvas:not(.open) { display: none; }
#offCanvas header { margin-bottom: 30px; }
#offCanvas header p { font-size: 18px; line-height: 22px; }
#offCanvas header a { color: white; }
#offCanvas header a .fa { margin-right: 3px; }

#offCanvas ul { list-style: none; margin-bottom: 0; margin-left: 0; padding-left: 0; }

/*** Menu ***/
#offCanvas .menu { max-width: 800px; width: 100%; }
#offCanvas .menu > li { margin-bottom: 4px; }
#offCanvas .menu > li > a { border: 2px solid transparent; border-radius: 30px; color: white; display: inline-block; font-size: 28px; font-weight: 600; line-height: 32px; padding: 4px 25px; }
#offCanvas .menu > li.parent > a:after { content: '\f105'; font-family: FontAwesome; font-size: 22px; margin-left: 6px; }
#offCanvas .menu > li > a:hover, #offCanvas .menu > li.open > a { border-color: white; color: white; }

/*** Submenu ***/
#offCanvas .menu > li:not(.open) > ul { display: none; }
#offCanvas .menu > li > ul { display: inline-block; margin-top: 25px; width: 100%; }
#offCanvas .menu > li > ul > li > a { border-radius: 30px; color: white; display: inline-block; font-size: 19px; line-height: 23px; margin: 2px 0; padding: 6px 25px; }
#offCanvas .menu > li > ul > li.active > a, #offCanvas .menu > li > ul > li > a:hover { background-color: white; color: var(--site2); }

/*** Social ***/
.social { display: inline-block; margin-top: 20px; }
.social > li { display: inline-block; }
.social > li:not(:last-child) { margin-right: 15px; }
.social > li > a { color: white; font-size: 32px; }
.social > li > a[href*="facebook"]:hover { color: var(--facebook)!important; }
.social > li > a[href*="instagram"]:hover { color: var(--instagram)!important; }
.social > li > a[href*="linkedin"]:hover { color: var(--linkedin)!important; }
.social > li > a[href*="twitter"]:hover { color: var(--twitter)!important; }
.social > li > a[href*="youtube"]:hover { color: var(--youtube)!important; }

@media (min-width: 993px) {
    #offCanvas .menu, #offCanvas .menu > li > ul { column-count: 2; }
    #offCanvas .menu > li > ul { width: 200%; }

    #offCanvas .social { display: none; }
}

@media (max-width: 992px) {
    #offCanvas { height: calc(100% - 185px); padding-inline: 15px; top: 140px; }
    #offCanvas header { margin-bottom: 15px; }
    #offCanvas header p { font-size: 16px; line-height: 20px; }

    /*** Menu ***/
    #offCanvas .menu { max-height: calc(100vh - 190px); overflow-y: auto; }
    #offCanvas .menu > li > a { border: 0; border-radius: 0; padding: 0; font-size: 21px; font-weight: normal; line-height: 25px; margin: 2px 0; padding-inline: 0; }
    #offCanvas .menu > li.open > a { font-weight: 600; }
    #offCanvas .menu > li.parent > a:after { font-size: 17px; }

    #offCanvas .menu > li.divider:not(.open) { border-bottom: 3px solid white; margin-bottom: 15px; padding-bottom: 15px; }

    /*** Submenu ***/
    #offCanvas .menu > li > ul { margin-top: 10px; }
    #offCanvas .menu > li > ul > li > a { border-radius: 0; font-size: 17px; line-height: 21px; margin: 3px 0; padding: 0; }

    #offCanvas .menu > li.parent.d-lg-none.open > a { display: none; }
    #offCanvas .menu > li.parent.open > a:after { content: none; }

    #offCanvas .menu > li.parent.d-lg-none.open > ul { margin-top: 0; }
    #offCanvas .menu > li.parent.d-lg-none.open > ul > li + li { margin-top: 20px; }
    #offCanvas .menu > li.parent.d-lg-none.open > ul > li > a { font-size: 21px; font-weight: 600; line-height: 25px; }
    #offCanvas .menu > li.parent.d-lg-none.open > ul > li > ul { margin-top: 5px; }
    #offCanvas .menu > li.parent.d-lg-none.open > ul > li > ul > li > a { color: white; display: inline-block; font-size: 17px; line-height: 21px; margin: 3px 0; }
}

@media (max-width: 767px) {
    #offCanvas { height: calc(100% - 100px); top: 145px; }
}

@media (height <= 700px) {
    #offCanvas .menu { max-height: calc(100vh - 210px); }
    #offCanvas .menu > li > a { padding-bottom: 3px; padding-top: 3px; }

    #offCanvas .social { margin-top: 15px; }
}


/**********************
 SMART GUIDE
 **********************/
#smart-guide-modal, #homepage-video-modal { background-color: white; display: none; height: 100%; left: 0; padding: 120px 15px; position: fixed; text-align: center; top: 0; width: 100%; transition: .5s all ease; z-index: 99999999999999; }
#smart-guide-modal.open, #homepage-video-modal.open { display: block; }
#smart-guide-modal .close-smart, #homepage-video-modal .close-video-modal { position: absolute; right: 40px; top: 40px; rotate: 0deg; transition: .65s all ease; }
#smart-guide-modal .close-smart:hover, #homepage-video-modal .close-video-modal:hover { rotate: 180deg; }
#smart-guide-modal h2 { margin-bottom: 12px; }
#smart-guide-modal img[src*="smart-guide-logo"] { margin-bottom: 30px; margin-top: 50px; }
#smart-guide-modal a + a { margin-left: 20px; }

#homepage-video-modal video { max-height: 100%; max-width: 100%; }

@media (max-width: 992px) {
    #smart-guide-modal, #homepage-video-modal { padding-block: 90px; }
    #smart-guide-modal .close-smart, #homepage-video-modal .close-video-modal { right: 25px; top: 25px; }
    #smart-guide-modal .close-smart img, #homepage-video-modal .close-video-modal img { height: 26px; width: 26px; }
}

@media (max-width: 576px) {
    #smart-guide-modal, #homepage-video-modal { padding-block: 60px; }
    #smart-guide-modal .close-smart, #homepage-video-modal .close-video-modal { right: 20px; top: 20px; }
    #smart-guide-modal img[src*="smart-guide-logo"] { max-height: 52px; }
    #smart-guide-modal a + a { margin-left: 10px; }
    #smart-guide-modal p > a img { max-height: 46px; }
}


/**********************
 FOOTER
 **********************/
#newsletter h3 { margin-bottom: 20px; }
#newsletter .fields { display: flex; align-items: center; justify-content: center; }
#newsletter .fields > div { padding: 10px; }
#newsletter input[type="text"], #newsletter input[type="email"] { background: white; border: 0; border-radius: 35px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); color: black; padding: 9px 24px; width: 100%; }
#newsletter input[type="text"]::placeholder, #newsletter input[type="email"]::placeholder { color: #a7a7a7; }

#footer { background: url('../img/europa-point.webp') no-repeat center right; background-size: cover; padding-bottom: 20px; padding-top: 120px; position: relative; }
#footer:before { content: ''; background: linear-gradient(to bottom, rgba(247,247,250,1) 5%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.6) 60%); height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 0; }
#footer .anchor { background-color: rgba(0,0,0,0.5); border-radius: 50%; bottom: 30px;; color: white; display: inline-block; height: 44px; line-height: 44px; opacity: 0; position: fixed; right: 30px; text-align: center; width: 44px; transition: .5s all ease; -webkit-transition: .5s all ease; }
#footer .anchor.visible { opacity: 1; }
#footer .anchor:after { content: none; }
#footer .anchor:hover { background-color: var(--site1); text-decoration: none; }
#footer > * { position: relative; z-index: 1; }
#footer ul { list-style: none; padding-left: 0; margin-bottom: 35px; }
#footer ul, #footer ul > li { display: inline-block; margin-left: 0; width: 100%; }

#footer .social { margin-bottom: 80px; margin-top: 35px; }
#footer .social > li > a:after { content: none; }

#footer h5, #footer p, #footer a, #footer .menu > li > a { color: white; }
#footer p { margin-bottom: 0; padding-bottom: 0; }
#footer p, #footer .menu > li > a { font-size: 15px; line-height: 30px; }

#footer a { position: relative; }
#footer a:after, #footer .menu > li > a:after { content: ''; background: white; border-radius: 15px; bottom: -3px; display: block; height: 2px; left: 0; position: absolute; width: 0; transition:.5s all ease; -webkit-transition:.5s all ease; }
#footer a:hover:after, #footer .menu > li > a:hover:after { width: 100%; }

#footer #logos { margin-top: 20px; }
#footer #logos a { display: inline-block; margin-bottom: 10px; margin-top: 10px; }
#footer #logos a:after { content: none; }
#footer #logos a:not(:last-child) { margin-right: 50px; }
#footer #logos img { transform: scale(1); -webkit-transform: scale(1); transition: .5s all ease; -webkit-transition: .5s all ease; }
#footer #logos a:hover img { transform: scale(1.15); -webkit-transform: scale(1.15); }

#copyright { margin-top: 50px; padding-top: 12px; position: relative; }
#copyright:before { content: ''; background: white; height: 1px; left: 13px; position: absolute; top: 0; width: calc(100% - 26px); }
#copyright .menu { margin-bottom: 0; }
#copyright .menu, #copyright .menu > li, #footer .social > li { width: auto; }
#copyright .menu > li:not(:last-child) { margin-right: 20px; }

@media (min-width: 993px) {
    #newsletter .fields > div:not(:last-child) { min-width: 350px; }
}

@media (max-width: 1199px) {
    #footer { padding-top: 110px; }
}

@media (max-width: 992px) {
    #footer { padding-top: 100px; }
    #footer #logos { margin-top: 35px; }
    #footer #logos a:not(:last-child) { margin-right: 40px; }

    #footer p, #footer .menu > li > a { font-size: 14px; line-height: 24px; }
}

@media (max-width: 767px) {
    #newsletter .fields, #newsletter .fields > div { display: inline-block; width: 100%; }
    #newsletter .fields > div { padding: 8px 0; }
    #newsletter label, #newsletter .button { width: 100%; }

    #footer { padding-top: 90px; }
    #footer #logos a:not(:last-child) { margin-right: 30px; }
    #footer #logos img { max-height: 90px; max-width: 160px; }
}


@media (max-width: 576px) {
    #footer { padding-top: 80px; }
    #footer #logos a:not(:last-child) { margin-right: 20px; }
    #footer #logos img { max-height: 65px; max-width: 110px; }
}


/**********************
 CONTENT
 **********************/
section#content { min-height: 130px; }


/**********************
 PAGES
 **********************/
#page-header { background-position: center; background-repeat: no-repeat; background-size: cover; border-radius: 0 0 120px 0; position: relative; }
#page-header .container > .row { height: calc(100vh - 60px); }
#page-header .col-12 > div { background: rgba(0,0,0,0.6); border-radius: 45px; padding: 45px 30px 40px; }
#page-header * { color: white; }
#page-header h4 { font-weight: normal; }

#page-header.small.rect { border-radius: 0; }
#page-header.small.rect .col-12 > div { margin-inline: auto; max-width: 500px; }
#page-header.small .container > .row { height: 50vh; }
#page-header.small .col-12 > div { margin-top: 10vh; }

.breadcrumbs, .breadcrumbs > li { display: inline-block; list-style: none; margin-top: 5px; padding-left: 0; }
.breadcrumbs { margin-bottom: 30px; margin-top: 15px; }
.breadcrumbs > li, .breadcrumbs > li > a { font-size: 16px; font-weight: 300; line-height: 20px; }
.breadcrumbs > li { color: var(--site1); }
.breadcrumbs > li > a { color: black; }
.breadcrumbs > li > a:hover { color: var(--site2); }
.breadcrumbs > li:not(:last-child):after { content: '/'; color: #BEBEBE; margin-left: 7px; margin-right: 4px; }

.video-container { margin-bottom: 15px; }
.video-container iframe { border-radius: 20px; }

.video-bkg::before, .video-bkg::after { pointer-events: none; }

.white-gradient-top { position: relative; }
.white-gradient-top:after { content: ''; background: linear-gradient(to bottom, white, transparent); height: 50%; left: 0; position: absolute; top: 0; width: 100%; z-index: 0 }
.white-gradient-top > * { position: relative; z-index: 1; }

.bordered, a.bordered > img { border-radius: 20px; }

.bordered-white-image { background-color: white; border-radius: 16px; box-shadow: 0 0 10px rgba(0,0,0,0.1); display: flex; align-items: center; justify-content: center; flex: 0 0 100%; -ms-flex: 0 0 100%; height: 150px; max-width: 100%; }
.bordered-white-image img { height: auto; max-height: 80%; max-width: 80%; width: auto; }

.white-box { background-color: white; border-radius: 32px; box-shadow: 0 0 10px rgba(0,0,0,0.1); padding: 45px 45px 60px; }
.white-box.col-12 { margin-left: 15px; max-width: calc(100% - 30px); }
.white-box h3 { display: inline-block; }
.white-box h3 img { display: inline-block; float: left; margin-right: 10px; max-height: 38px; }
.white-box h3 + p { margin-top: 15px; }

.visitor-guides .bordered img { transform: rotate(0) scale(1); -webkit-transform: rotate(0) scale(1); transition: .5s all ease; -webkit-transition: .5s all ease; }
.visitor-guides .bordered:hover img { transform: rotate(2deg) scale(1.05); -webkit-transform: rotate(2deg) scale(1.05); }

/*** Submenu ***/
.submenu { border-bottom: 1px solid #eaeaea; padding-bottom: 30px; margin-bottom: 60px; overflow-y: auto; text-align: center; width: 100%; }
.submenu .menu, .submenu .menu > li, .submenu .menu > li > a { display: inline-block; }
.submenu .menu { list-style: none; margin-bottom: 0; padding-left: 0; }
.submenu .menu > li:not(:last-child) { margin-right: 20px; }
.submenu .menu > li > a { border: 2px solid #e8e8e8; border-radius: 25px; color: black; display: inline-block; font-weight: bold; padding: 10px 24px; }
.submenu .menu > li > a:hover { border-color: var(--site1); }
.submenu .menu > li.active > a, .submenu .menu > li > a.active { border-color: var(--site2); border-bottom-color: var(--site2); }

/*** Categories Listing ***/
.categories-listing-container { border-bottom: 1px solid #dddddd; display: inline-block; margin-bottom: 60px; margin-top: 15px; padding-bottom: 30px; width: 100%; }
.categories-listing-row { overflow-y: hidden; }
.categories-listing, .categories-listing > li { display: inline-block; float: left; list-style: none; }
.categories-listing { padding-left: 0; width: 100%; }
.categories-listing > li { margin: 8px 0; }
.categories-listing > li:not(:last-child) { margin-right: 16px; }
.categories-listing > li > a { background-color: white; border: 2px solid #e8e8e8; border-radius: 25px; color: black; display: inline-block; font-weight: 600; line-height: 40px; min-width: 105px; padding-inline: 20px; text-align: center; }
.categories-listing > li img { display: inline-block; margin-right: 6px; }
.categories-listing > li.active > a, .categories-listing > li > a:hover { border-color: var(--site2); }
.categories-listing > li.active > a { background-color: var(--site2); color: white; }
.categories-listing > li.active img { filter: brightness(0) invert(1); -webkit-filter: brightness(0) invert(1); }
.categories-listing > li > a:hover { background-color: transparent; }
.categories-listing > li.active > a:hover { background-color: var(--site1); border-color: var(--site1); }

/*** Top Things to do ***/
.top-things-slider, .top-places-slider, .popular-slider { margin-top: 20px; width: calc(100% - 5px); }
.top-things-slider .slick-list, .top-places-slider .slick-list, .popular-slider .slick-list { margin-inline: -10px; }
.top-things-slider .slick-slide > div, .top-places-slider .slick-slide > div, .popular-slider .slick-slide > div { padding-inline: 10px; }

.popular-slider { max-width: calc(100% + calc(calc(calc(100vw - 100%) / 2) - 48px)); width: calc(100% + calc(calc(calc(100vw - 100%) / 2) - 48px)); }
.popular-slider .slick-next { right: 35px; }

.slick-prev, .slick-next { background-color: white; border-radius: 50%; box-shadow: 0 0 10px rgba(0,0,0,0.1); color: black; display: inline-block; height: 40px; position: absolute; top: 50%; width: 40px; z-index: 9; transform: translateY(-50%); -webkit-transform: translateY(-50%); }
.slick-prev { left: -20px; }
.slick-next { right: -20px; }
.slick-prev:before, .slick-next:before { opacity: 1; }
.slick-prev:hover, .slick-next:hover, .slick-prev:focus, .slick-next:focus { background-color: var(--site1); }
.slick-next:before { content: "\f061"; color: black; font-family: 'Font Awesome 6 Free'; font-weight: bold; }
.slick-prev:before { content: "\f060"; color: black; font-family: 'Font Awesome 6 Free'; font-weight: bold; }
.slick-next:hover::before, .slick-next:focus::before,
.slick-prev:hover::before, .slick-prev:focus::before { color: white; }
.slick-next i, .slick-prev i { display: none; }

.bullet-carousel.arrows .slick-prev { left: 30px; }
.bullet-carousel.arrows .slick-next { right: 0px; }

@media (max-width: 767px) {
    .slick-prev { left: 0; }
    .slick-next { right: 0; }
}

.slick-dots li { margin-inline: 8px; }
.slick-dots li, .slick-dots li button { height: 9px; width: 9px; }
.slick-dots li button { background-color: #dddddd; border: 1px solid transparent; border-radius: 50%; padding: 0; }
.slick-dots li button:before { content: none; }
.slick-dots li.slick-active { scale: 1.5; }
.slick-dots li.slick-active button { background-color: transparent; border-color: var(--site2); }

[class*="-with-dots"] { margin-bottom: 100px!important; }
[class*="-with-dots"] .slick-dots { bottom: -70px; }

/*** Attraction ***/
.attraction .bkg-cover { border: 1px solid #eaeaea; border-radius: 15px 15px 0 0; margin-bottom: 15px; position: relative; }
.bkg-cover .favourite { background: white; border-radius: 50%; color: black; height: 30px; line-height: 32px; padding: 0; position: absolute; right: 15px; top: 15px; width: 30px; }
.bkg-cover .favourite .fa-solid { color: var(--site1); }
.bkg-cover .favourite:hover { background: var(--site1); color: white; }
.attraction .bkg-cover .button { bottom: 15px; left: 15px; font-size: 15px; line-height: 20px; padding: 6px 16px; position: absolute; }
.attraction .bkg-cover .button:hover { background-color: white; border-color: white; color: black; }
.attraction p { color: black; font-size: 16px; line-height: 20px; margin-bottom: 8px; padding-bottom: 0; }
.attraction p:last-child { margin-bottom: 0; }
.attraction .text-with-icon { padding-left: 25px; position: relative; }
.attraction .text-with-icon i { left: 0; position: absolute; top: 0; }
.attraction .text-with-icon i.fa-location-dot { color: var(--site1); left: 3px; }
.attraction .text-with-icon i.fa-ticket { transform: rotate(-45deg); }
.attraction p a { color: black; }
.attraction p a[href*="http"], .attraction p a[href*="mailto"] { word-break: break-word; }
.attraction p a + a { margin-left: 6px; }
.attraction p .price { color: #77797a; font-weight: 600; margin-left: 14px; }

.attraction .bkg-cover, .event .bkg-cover {background-color: #eee;transition: .5s all ease;-webkit-transition: .5s all ease;}
.attraction .bkg-cover:hover, .event .bkg-cover:hover { transform: scale(0.98); box-shadow: 0 0 5px rgba(0,0,0,0.3); }

.attractions-slider .attraction .bkg-cover {border: 1px solid #eaeaea;border-radius: 15px;margin-bottom: 15px;position: relative;}
.attractions-slider .attraction .title {text-align: center;position: absolute;bottom: 0px;padding: 15px;width: 100%;}
.attractions-slider .attraction .title img { width: 40px; height: auto; filter: invert(100%); margin-bottom: 10px; }
.attractions-slider .attraction .title h5 { color: #fff; min-height: 2lh; }
.attractions-slider .bkg-cover .button { bottom: auto; top: 15px; left: 15px; font-size: 15px; line-height: 20px; padding: 6px 16px; position: absolute; }

.attraction img { display: inline-block; height: 22px; margin-right: 5px; }
.rating { color: var(--site1); font-size: 13px; line-height: 17px; }
.rating { margin-right: 14px; }

.fwb-border-bottom { border-radius: 0 0 125px 0; }
.fwb-border-bottom *, .fwb-border-bottom a[href*="tel:"], .fwb-border-bottom a[href*="mailto:"] { color: white; }

.fwb-border-top { border-radius: 0 125px 0 0; position: relative; }
.fwb-border-top:before { content: ''; background: linear-gradient(to bottom, rgba(0,0,0,0.5), transparent); border-radius: 0 125px 0 0; height: 75%; left: 0; position: absolute; top: 0; width: 100%; }
.fwb-border-top * { position: relative; }

.cti-bordered *, .cti-bordered a[href*="tel:"], .cti-bordered a[href*="mailto:"] { color: white; }

.cti-bordered { border-radius: 20px; }
.cti-bordered .col-lg-6.bkg-cover:first-child, .cti-bordered .col-lg-6:first-child img { border-radius: 20px 0 0 20px; }
.cti-bordered .col-lg-6.bkg-cover:last-child, .cti-bordered .col-lg-6:last-child img { border-radius: 0 20px 20px 0; }

/*** Bullet List and Carousel ***/
.bullet-boxes { margin-top: 30px; }
.bullet-boxes ul { display: grid; grid-gap: 30px; grid-template-columns: repeat(3, 1fr); list-style: none; margin-bottom: 0; padding-left: 0; }
.bullet-boxes.fw ul { grid-gap: 0; grid-template-columns: repeat(1, 1fr); }
.bullet-boxes ul > li, .bullet-box { border-radius: 20px; box-shadow: 0 0 10px rgba(0,0,0,0.1); color: black; padding: 40px 40px 40px 100px; position: relative; }
.bullet-boxes ul > li:before, .bullet-box:before { content: ''; background: url('../img/icons/info-icon.webp') no-repeat center; background-size: contain; display: block; height: 44px; left: 40px; position: absolute; top: 40px; width: 44px; }
.bullet-boxes.clock ul > li:before, .bullet-box.clock:before, .bullet-carousel.clock .bullet-box:before { background-image: url('../img/icons/clock-icon.webp'); }
.bullet-boxes.plane ul > li:before, .bullet-box.plane:before, .bullet-carousel.plane .bullet-box:before { background-image: url('../img/icons/plane-icon.webp'); }
.bullet-boxes.train ul > li:before, .bullet-box.train:before, .bullet-carousel.train .bullet-box:before { background-image: url('../img/icons/train-icon.webp'); }
.bullet-boxes.facts ul > li:before, .bullet-box.facts:before, .bullet-carousel.facts .bullet-box:before { background-image: url('../img/icons/facts-icon.webp'); }
.bullet-boxes ul > li strong, .bullet-box strong { color: var(--site1); font-size: 110%; margin-bottom: 5px; }
.bullet-carousel.black .bullet-box strong { color: black; }

.bullet-carousel { margin-left: -10px; width: calc(100% + calc(calc(100vw - 100%) / 2)); }
.bullet-carousel .item { padding: 10px; }
.bullet-box { background-color: white; width: calc(100% - 10px); }
.bullet-boxes ul > li a, .bullet-box a { color: var(--site1); }
.bullet-boxes ul > li a, .bullet-box a { word-break: break-all; }
.bullet-boxes ul > li a:hvoer, .bullet-box a:hover { color: var(--site2); }

.bullet-carousel { margin-bottom: 50px; }
.bullet-carousel .slick-dots { border-bottom: 1px solid #DDDDDD; bottom: -40px; display: table; left: 10px; width: calc(100% - 60px); }
.bullet-carousel .slick-dots > li { display: table-cell; height: auto; margin: 0; padding: 0; width: auto; }
.bullet-carousel .slick-dots > li > button { background: transparent; border-radius: 2px; height: 3px; margin: 0; padding: 0; width: 100%; }
.bullet-carousel .slick-dots > li.slick-active > button { background: var(--site1); }
.bullet-carousel .slick-dots > li > button:before { content: none; }

/*** Accordion ***/
details, details:after, details summary:before, details summary:after { transition: .5s all ease; -webkit-transition: .5s all ease; }
details { border-bottom: 1px solid #dddddd; padding: 28px 30px; position: relative; }
details:after { content: ''; border: 2px solid black; border-radius: 50%; display: block; height: 34px; position: absolute; right: 25px; top: 26px; width: 34px; }
details summary { color: black; font-size: 26px; font-weight: normal; line-height: 30px; padding-right: 49px; }
details summary::marker { content: none; }
details summary:before, details summary:after { content: ''; background: black; border-radius: 2px; cursor: pointer; display: block; opacity: 1; position: absolute; z-index: 999; }
details summary:before { height: 3px; right: 33px; top: 42px; width: 17px; }
details summary:after { height: 17px; right: 40px; top: 35px; width: 3px; }

details strong, details a:not(.button), .tab-pane strong, .tab-pane a:not(.button) { color: black; }
details a:not(.button)::hover, .tab-pane a:not(.button)::hover { color: black; }

details ul > li > a { color: var(--site1)!important; text-decoration: underline; }
details ul > li > a:hover { color: var(--site2); }

details[open] { border-bottom-color: transparent; box-shadow: 0 0 15px rgba(0,0,0,0.15); }
details[open]:after { border-color: var(--site2); }
details[open] summary { color: var(--site2); margin-bottom: 20px; }
details[open] summary:before { background: var(--site1); }
details[open] summary:after { background: transparent; opacity: 0; }

.highlighted strong { background: var(--site2); color: white; font-weight: normal; padding: 1px 6px 3px; }
.light-text .highlighted strong { background: white; color: var(--site2); font-weight: normal; padding: 1px 6px 3px; }

/*** Timeline ***/
.timeline details { border-bottom: 0; padding: 5px 0 60px 80px; }
.timeline details:after { background-color: #bebebe; border: 0; border-radius: 0; height: calc(100% - 15px); left: 22px; position: absolute; top: 15px; width: 4px; }
.timeline details:last-child::after { content: none; }
.timeline summary { font-size: 32px; font-weight: 600; line-height: 36px; padding: 0; }
.timeline summary:before { background-color: var(--site2); border-radius: 50%; height: 48px; left: 0; top: 0; width: 48px; }
.timeline summary:after { background-color: white; border-radius: 50%; height: 34px; left: 7px; top: 7px; width: 34px; }
.timeline details[open] { box-shadow: none; }
.timeline details[open] summary:before { background-color: var(--site2); }
.timeline details[open] summary:after { background: white; opacity: 1; }

.timeline .row[style*="background-color: rgb"], .highlighted-box { border-radius: 20px; margin-bottom: 30px; margin-inline: 0; padding: 35px; width: 100%; }
.highlighted-box { background-color: rgb(247, 247, 250); }
.timeline .row[style*="background-color: rgb"] ul:last-child { margin-bottom: 0; }
.timeline details img { border-radius: 20px; margin-top: 15px; }


/*** Tabs ***/
.nav.nav-tabs { border-bottom: 1px solid #dddddd; display: inline-block; margin-bottom: 50px; margin-top: 20px; text-align: center; width: 100%; }
.nav.nav-tabs > li { display: inline-block; margin: 0 10px 30px; }
.nav.nav-tabs > li > button { border: 2px solid #e8e8e8; border-radius: 25px; color: black; display: inline-block; font-weight: bold; padding: 10px 24px; }
.nav.nav-tabs > li > button:hover { border-color: var(--site1); }
.nav.nav-tabs > li > button.active { border-color: var(--site2); border-bottom-color: var(--site2); }

.custom-tabs { border-bottom: 1px solid #dddddd; padding-bottom: 45px; }
.custom-tabs .tab-content { margin-bottom: 0; }

/*** Big Boxes Slider ***/
#big-boxes-slider .sixteen-nine { border-radius: 20px; position: relative; }
#big-boxes-slider .sixteen-nine:before { content: ''; background: linear-gradient(to top, rgba(0,0,0,0.75), transparent); border-radius: 0 0 20px 20px; bottom: 0; height: 50%; left: 0; position: absolute; width: 100%; z-index: 0; }
#big-boxes-slider .slider-info { bottom: 0; left: 0; padding: 35px; position: absolute; width: 100%; z-index: 1; }
#big-boxes-slider .slider-info *:last-child { margin-bottom: 0; padding-bottom: 0; }
#big-boxes-slider .slider-info * { color: white }
#big-boxes-slider .slider-info h4:after { content: "\f061"; display: inline-block; font-family: 'Font Awesome 6 Free'; font-size: 70%; font-weight: bold; margin-left: 10px; transform: translateX(0); -webkit-transform: translateX(0); transition: .2s all ease; -webkit-transition: .2s all ease; }
#big-boxes-slider .slider-info h4:hover::after { transform: translateX(5px); -webkit-transform: translateX(5px); }
#big-boxes-slider .slider-info p { max-width: 500px; }

/*** Feature Box ***/
.feature-box { align-items: center; background: white; border-radius: 16px; box-shadow: 0 0 10px rgba(0,0,0,0.1); display: block; flex: 0 0 100%; -ms-flex: 0 0 100%; height: calc(100% - 75px); justify-content: center; margin-top: 75px; max-width: 100%; padding: 90px 30px 40px; position: relative; text-align: center; }
.feature-box:before { content: ''; background: var(--site2) url('../img/icons/check-circle-icon.webp') no-repeat center; background-size: 41px; border-radius: 50%; display: block; height: 81px; left: 50%; position: absolute; top: 0; width: 81px; translate: -50% -50%; }
.feature-box, .feature-box p { text-align: center; }
.feature-box p strong { color: var(--site1); font-size: 24px; font-weight: 600; line-height: 29px; }

.feature-box-with-text { position: relative; }
.feature-box-with-text p { margin-bottom: 0; padding-bottom: 0; }
.feature-box-with-text img:not([src*="-icon"]) { aspect-ratio: 4/3; border-radius: 20px; box-shadow: 0 0 10px rgba(0,0,0,0.1); height: auto; object-fit: cover; }
.feature-box-with-text .icon { background-color: white; border-radius: 50%; height: 90px; left: 50%; line-height: 90px; opacity: 1; position: absolute; text-align: center; top: 50%; translate: -50% -50%; width: 90px; transition: .5s all ease; -webkit-transition: .5s all ease; }
.feature-box-with-text:hover .icon { opacity: 0; }
.feature-box-with-text .icon p { left: 50%; position: absolute; top: 50%; translate: -50% -50%; }
.feature-box-with-text img[src*="-icon"] { max-height: 45px; }

.feature-box-with-text .overlay-text { background: var(--site1) url('../img/lines-bkg.webp') no-repeat center; background-size: cover; border-radius: 20px; height: 100%; left: 0; opacity: 0; position: absolute; text-align: center; top: 0; width: 100%; transition: .5s all ease; -webkit-transition: .5s all ease; }
.feature-box-with-text:hover .overlay-text { opacity: 1; }
.feature-box-with-text .overlay-text p { color: white; left: 50%; position: absolute; top: 50%; width: 80%; translate: -50% -50%; }

/*** Images Slider ***/
.images-slider { margin-bottom: 0!important; }
.images-slider img { aspect-ratio: 16/9!important; border-radius: 32px; object-fit: cover; width: 100%; }
.images-slider .slick-dots { bottom: 50px; }

/*** Google Maps ***/
.gm-style .gm-style-iw-c > button { right: 0!important; top: 0!important; }
.gm-style .gm-style-iw-d { padding-inline: 15px; }


@media (min-width: 993px) {
    .cti-bordered img { height: 100%; object-fit: cover; width: 100%; }

    /*** Big Boxes Slider ***/
    #big-boxes-slider { width: calc(100% + calc(calc(calc(100vw - 100%) / 2) - 24px)); }
    #big-boxes-slider .slick-list { margin-inline: -15px; }
    #big-boxes-slider .slick-slide > div { padding-inline: 15px; }

    /*** Images Slider ***/
    .images-slider-container { margin-bottom: -150px; }
    .images-slider-container + div { padding-top: 240px; }
}

@media (max-width: 1299px) {
    .breadcrumbs > li, .breadcrumbs > li > a { font-size: 15px; line-height: 19px; }

    /*** Submenu ***/
    .submenu { overflow-x: auto; padding-bottom: 0; text-align: left; -webkit-overflow-scrolling: touch; }
    .submenu .menu { display: flex; justify-content: flex-start; }
    .submenu .menu > li { flex-grow: 1; flex-shrink: 0; }
    .submenu .menu > li:not(:last-child) { margin-right: 15px; }
    .submenu .menu > li > a { margin-block: 5px; }

    /*** Feature Box ***/
    .feature-box p { font-size: 22px; line-height: 27px; }
}

@media (max-width: 1199px) {
    .popular-slider { max-width: calc(100% + calc(calc(calc(100vw - 100%) / 2) - 33px)); width: calc(100% + calc(calc(calc(100vw - 100%) / 2) - 33px)); }

    /*** Categories Listing ***/
    .categories-listing > li { margin: 7px 0; }
    .categories-listing > li:not(:last-child) { margin-right: 14px; }

    details summary { font-size: 25px; }

    /*** Timeline ***/
    .timeline details { padding-bottom: 70px; }
    .timeline summary { font-size: 30px; line-height: 34px; }
}

@media (max-width: 992px) {
    #page-header .container > .row { min-height: 350px; height: 60vh; }
    #page-header .col-12 > div { padding: 30px 25px 25px; }

    #page-header.small .container > .row { height: 40vh; min-height: 250px; }

    .bordered-white-image { height: 130px; margin-bottom: 20px; }

    .breadcrumbs > li, .breadcrumbs > li > a { font-size: 14px; line-height: 18px; }

    .popular-slider { max-width: calc(100% + calc(calc(calc(100vw - 100%) / 2) - 25px)); width: calc(100% + calc(calc(calc(100vw - 100%) / 2) - 25px)); }

    /*** Categories Listing ***/
    .categories-listing-container { border-bottom: 0; padding-top: 35px; position: relative; }
    .categories-listing-container:before { content: ''; background-color: #EFEFEF; display: inline-block; height: 100%; left: 50%; position: absolute; top: 0; width: calc(100vw - 9px); z-index: 0; transform: translateX(-50vw); -webkit-transform: translateX(-50vw); }
    .categories-listing { position: relative; z-index: 1; }
    .categories-listing > li { margin: 6px 0; }
    .categories-listing > li:not(:last-child) { margin-right: 12px; }

    .top-things-slider, .top-places-slider { width: calc(calc(100% + calc(100vw - 100%) / 2) - 20px); }

    .attraction p { font-size: 15px; line-height: 19px; }

    .cti-bordered .col-lg-6.bkg-cover { aspect-ratio: 16/9; }
    .cti-bordered .col-lg-6.bkg-cover:first-child, .cti-bordered .col-lg-6.bkg-cover:last-child,
    .cti-bordered .col-lg-6:first-child img, .cti-bordered .col-lg-6:last-child img { border-radius: 20px 20px 0 0; }

    /*** Bullet List and Carousel ***/
    .bullet-boxes ul { grid-gap: 25px; grid-template-columns: repeat(2, 1fr); }
    .bullet-boxes ul > li, .bullet-box { padding: 30px 30px 30px 85px; }
    .bullet-boxes ul > li:before, .bullet-box:before { height: 39px; left: 30px; top: 30px; width: 39px; }

    .bullet-box { width: 100%; }

    /*** Accordion ***/
    details { padding: 26px 25px; }
    details:after { height: 32px; right: 20px; top: 24px; width: 32px; }
    details summary { font-size: 24px; line-height: 28px; }
    details summary:before { right: 28px; top: 39px; width: 15px; }
    details summary:after { height: 15px; right: 34px; top: 33px; }

    /*** Big Boxes Slider ***/
    #big-boxes-slider .sixteen-nine { margin-bottom: 20px; margin-top: 20px; }
    #big-boxes-slider .slider-info { padding: 30px; }

    /*** Feature Box ***/
    .feature-box p { font-size: 20px; line-height: 25px; }

    .images-slider-container { margin-bottom: 75px; }

    /*** Timeline ***/
    .timeline details { padding-bottom: 60px; padding-left: 70px; }
    .timeline details:after { left: 20px; }
    .timeline summary { font-size: 28px; line-height: 32px; }
    .timeline summary:before { height: 44px; width: 44px; }
    .timeline summary:after { height: 32px; left: 6px; top: 6px; width: 32px; }

    .timeline .row[style*="background-color: rgb"], .highlighted-box { padding: 30px; }

    .timeline .row[style*="background-color: rgb"] { padding: 25px 15px; }
}

@media (max-device-width: 992px) {
    .categories-listing-container:before { width: 100vw; }

    .top-things-slider, .top-places-slider { width: calc(calc(100% + calc(100vw - 100%) / 2) - 10px); }
}

@media (max-width: 767px) {
    /*** Categories Listing ***/
    .categories-listing { min-width: 820px; }
    .categories-listing > li { margin: 5px 0; }
    .categories-listing > li:not(:last-child) { margin-right: 10px; }

     /*** Bullet List and Carousel ***/
    .bullet-boxes ul { grid-gap: 20px; grid-template-columns: repeat(1, 1fr); }
    .bullet-boxes ul > li, .bullet-box { padding: 25px 25px 25px 70px; }
    .bullet-boxes ul > li:before, .bullet-box:before { height: 34px; left: 20px; top: 25px; width: 34px; }

    /*** Accordion ***/
    details { padding: 24px 15px; }
    details:after { height: 28px; right: 15px; top: 22px; width: 28px; }
    details summary { font-size: 19px; line-height: 23px; padding-right: 39px; }
    details summary:before { height: 2px; right: 23px; top: 35px; width: 12px; }
    details summary:after { height: 12px; right: 28px; top: 30px; width: 2px; }

    /*** Big Boxes Slider ***/
    #big-boxes-slider .slider-info { padding: 25px; }

    .rating { font-size: 12px; line-height: 16px; }

    .images-slider-container { margin-bottom: 60px; }

    /*** Timeline ***/
    .timeline details { padding-bottom: 50px; padding-left: 65px; }
    .timeline summary { font-size: 26px; line-height: 30px; }
    .timeline .row[style*="background-color: rgb"], .highlighted-box { padding: 30px; }
}

@media (max-width: 576px) {
    #page-header .container > .row { height: 50vh; }

    #page-header.small .container > .row { height: 30vh; }
    #page-header.small .col-12 > div { margin-top: 5vh; }

    .attraction p { font-size: 14px; line-height: 18px; }

    /*** Big Boxes Slider ***/
    #big-boxes-slider .slider-info { padding: 20px; }

    /*** Timeline ***/
    .timeline details { padding-bottom: 40px; padding-left: 54px; }
    .timeline details:after { left: 16px; }
    .timeline summary { font-size: 22px; line-height: 26px; }
    .timeline summary:before { height: 36px; width: 36px; }
    .timeline summary:after { height: 26px; left: 5px; top: 5px; width: 26px; }

    .highlighted-box .button + .button { display: block; margin: 15px auto 0; }
}


/**********************
 HOMEPAGE
 **********************/
#home-header { border-radius: 0 0 120px 0; position: relative; }
#home-header *:not(:is(video, iframe)), #page-header *:not(:is(video, iframe)) { position: relative; z-index: 1; }
#home-header:before, #page-header:before { content: ''; background: linear-gradient(to bottom, rgba(0,0,0,0.5) 5%, rgba(0,0,0,0) 100%); height: 40%; left: 0; position: absolute; top: 0; width: 100%; z-index: 0; }
#home-header .container > .row, #page-header .container > .row { align-items: center; height: 80vh; justify-content: center; }


#search { background-color: rgba(0, 0, 0, 0.4); border-radius: 32px; display: block; margin: 0 auto; max-width: 810px; padding: 40px 50px; width: 100%; }
#search h1 { font-size: 40px; font-weight: bold; line-height: 44px; margin-bottom: 25px; }

#search .input-group {display: flex;flex-wrap: nowrap;justify-content: flex-start;margin-bottom: 15px;overflow-x: auto;scrollbar-color: white transparent;gap: 10px;}
#search label { border: 2px solid transparent; border-radius: 25px; color: white; cursor: pointer; flex-grow: 1; flex-shrink: 0; font-size: 16px; font-weight: bold; line-height: 20px; padding: 4px 14px 3px; }
#search label.checked { border-color: white; }
#search label input[type="radio"] { display: none; }
#search label img { display: inline-block; float: left; margin-right: 6px; max-height: 24px; position: relative; }
#search label img[src*="bed"], #search label img[src*="shop"] { max-height: 20px; }
#search label img:not([src*="ticket"]) { top: 2px; }

#search .label {border: 2px solid #fff;border-radius: 25px;color: white;cursor: pointer;flex-grow: 1;flex-shrink: 0;font-size: 16px;font-weight: bold;line-height: 20px;padding: 4px 14px 3px;text-align: center;}
#search .label img {display: inline-block;float: left;margin-right: 6px;max-height: 24px;position: relative;}
#search .label img[src*="bed"], #search .label img[src*="shop"] { max-height: 20px; }
#search .label img:not([src*="ticket"]) { top: 2px; }
#search .label:hover {background: #fff;color: #000;}
#search .label:hover img { filter: invert(1);}

#search .search-row { background-color: white; border-radius: 25px; position: relative; }
#search .search-row:before { content: "\f002"; color: black; display: inline-block; font-family: 'Font Awesome 6 Free'; font-size: 18px; font-weight: 600; left: 15px; position: absolute; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); z-index: 9; }
#search input[type="text"] { background-color: transparent; border: 0; border-radius: 25px; box-shadow: none; font-size: 16px; line-height: 21px; padding: 12px 90px 12px 50px; width: 100%; }
#search input[type="text"]:focus { box-shadow: none; outline: 0; }
#search [type="submit"] { background-color: var(--site1); border-radius: 25px; color: white; font-size: 15px; line-height: 20px; padding: 9px 15px; position: absolute; right: 4px; top: 4px; }

.home-video-button {position: absolute;right: 60px;bottom: 60px;z-index: 999;}
.open-video-modal { background-color: var(--site1); border-radius: 50%; color: white; display: inline-block; font-size: 26px; height: 60px; line-height: 60px; scale: 1; text-align: center; width: 60px; transition: .5s all ease; }
.open-video-modal:before { content: ''; border: 20px solid rgba(255,255,255,0.5); border-radius: 50%; display: inline-block; height: calc(100% + 40px); left: -20px; position: absolute; top: -20px; width: calc(100% + 40px); z-index: 0; }
.open-video-modal:hover { scale: 1.1; }

.latest-events { width: calc(100% + calc(calc(calc(100vw - 150%) - 130px) / 2)); }
.latest-events .slick-list, .other-events .slick-list { margin-inline: -10px; }
.latest-events .item > article, .other-events .item > article { padding-inline: 10px; }

.events-categories { width: calc(100% + calc(calc(calc(100vw - 150%) - 130px) / 2)); }
.events-categories .slick-list, .other-events .slick-list {margin-inline: -10px;}
.events-categories .item > article, .other-events .item > article { padding-inline: 10px; }

.event { position: relative; }
.event .bkg-cover {border-radius: 20px 20px 0 0;background-size: contain;background-color: #000;aspect-ratio: 1 / 1.414 !important; /* A4 aspect ratio  */}
/* .event .bkg-cover:before { content: ''; background: linear-gradient(to bottom, transparent, black); border-radius: 0 0 20px 20px; bottom: 0; height: 50%; left: 0; position: absolute; width: 100%; z-index: 0; } */
.event .event-info {border-radius: 0 0 20px 20px;bottom: 0;left: 0;padding: 15px 0;position: relative;z-index: 1;}
.event .event-info h5 a { color: #000; }
.event .event-info h5 a:hover { color: #cccccc; }
.event .event-info p span { background-color: var(--site1); border-radius: 50%; color: #fff; display: inline-block; height: 32px; line-height: 32px; margin-right: 6px; text-align: center; width: 32px; }

.latest-events .event { position: relative; }
.latest-events .event .bkg-cover {border-radius: 20px;background-size: contain;background-color: #eee;aspect-ratio: 1 / 1.414 !important; /* A4 aspect ratio  */}
.latest-events .event .bkg-cover:before { content: ''; background: linear-gradient(to bottom, transparent, black); border-radius: 0 0 20px 20px; bottom: 0; height: 50%; left: 0; position: absolute; width: 100%; z-index: 0; }
.latest-events .event .event-info { border-radius: 0 0 20px 20px; bottom: 0; left: 0; padding: 30px; position: absolute; z-index: 1; }
.latest-events .event .event-info * { color: white; }
.latest-events .event .event-info h5 a:hover { color: #cccccc; }
.latest-events .event .event-info p span { background-color: var(--site1); border-radius: 50%; display: inline-block; height: 32px; line-height: 32px; margin-right: 6px; text-align: center; width: 32px; }

.events-categories .event { position: relative; }
.events-categories .event .bkg-cover {border-radius: 20px;background-size: cover;background-color: #eee; /* A4 aspect ratio  */aspect-ratio: 3.5 / 4!important;!importan;!importa;!import;!impor;!impo;!imp;!im;!i;!;}
.events-categories .event .bkg-cover:before { content: ''; background: linear-gradient(to bottom, transparent, black); border-radius: 0 0 20px 20px; bottom: 0; height: 50%; left: 0; position: absolute; width: 100%; z-index: 0; }
.events-categories .event .event-info { border-radius: 0 0 20px 20px; bottom: 0; left: 0; padding: 30px; position: absolute; z-index: 1; }
.events-categories .event .event-info * { color: white; }
.events-categories .event .event-info h5 a:hover { color: #cccccc; }
.events-categories .event .event-info p span { background-color: var(--site1); border-radius: 50%; display: inline-block; height: 32px; line-height: 32px; margin-right: 6px; text-align: center; width: 32px; }

.other-events .event .bkg-cover:before { left: 10px; width: calc(100% - 20px); }

#big-boxes-slider .slick-prev, .latest-events .slick-prev { left: 15px; }
#big-boxes-slider .slick-next, .latest-events .slick-next { right: 15px; }

.box-half-top { margin-top: 190px; }
.box-half-top .box-col { margin-bottom: 60px; margin-top: -190px; padding: 90px 60px; position: relative; }
.box-half-top .box-col, .box-half-top .box-col:before { border-radius: 20px; }
.box-half-top .box-col:before { content: ''; background: linear-gradient(to bottom right, rgba(0,0,0,0.7), rgba(0,0,0,0.15)); height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 0; }
.box-half-top .box-col * { color: white; position: relative; z-index: 1; }
.box-half-top .box-col p { max-width: 550px; }

@media (min-width: 993px) {
    .box-half-top .box-col { flex: 0 0 calc(100% - 30px); -ms-flex: 0 0 calc(100% - 30px); margin-left: 15px; max-width: calc(100% - 30px); }
}

@media (max-width: 1299px) {
    .event .event-info { padding: 25px; }
}

@media (max-width: 1199px) {
    #search h1 { font-size: 37px; line-height: 41px; }

    .box-half-top { margin-top: 190px; }
    .box-half-top .box-col { margin-top: -190px; padding: 75px 45px; }
}

@media (max-width: 992px) {
    #search { max-width: 100%; padding: 35px 25px; }
    #search h1 { font-size: 34px; line-height: 38px; }

    .latest-events { margin-top: 30px; width: calc(100% + calc(calc(calc(100vw - 100%) - 70px) / 2)); }

    .box-half-top { margin-top: 0; }
    .box-half-top .box-col { flex: 0 0 calc(100vw - 9px); -ms-flex: 0 0 calc(100vw - 9px); margin-top: 0; left: 50%; max-width: calc(100vw - 9px); padding-inline: 30px; transform: translateX(-50vw); -webkit-transform: translateX(-50vw); }
    .box-half-top .box-col, .box-half-top .box-col:before { border-radius: 0; }
}

@media (max-device-width: 992px) {
    .box-half-top .box-col { flex: 0 0 100vw; -ms-flex: 0 0 100vw; max-width: 100vw; }

    .latest-events { width: calc(100% + calc(calc(calc(100vw - 100%) - 54px) / 2)); }
    .events-categories { width: calc(100% + calc(calc(calc(100vw - 100%) - 54px) / 2)); }
}

@media (max-width: 767px) {
    #search { padding: 30px 20px; }
    #search h1 { font-size: 32px; line-height: 36px; text-align: center; }

    #search .search-row { padding-inline: 10px; }
    #search .search-row:before { top: 12px; transform: translateY(0); -webkit-transform: translateY(0); }
    #search label { font-size: 15px; line-height: 19px; }
    #search label img { max-height: 21px; }
    #search input[type="text"] { padding-left: 40px; }
}

@media (max-width: 576px) {
    #search h1 { font-size: 30px; line-height: 34px; }

    .box-half-top .box-col { padding-block: 60px; }
}

@media (max-width: 480px) {
    #search input[type="text"] { border-bottom: 1px solid #cccccc; padding-left: 35px; padding-right: 15px; }
    #search [type="submit"] { font-size: 17px; font-weight: bold; line-height: 21px; margin-block: 10px; padding: 10px 20px; position: relative; right: 0; text-align: center; top: 0; width: 100%; }
}


/**********************
 ATTRACTIONS LISTING
 **********************/
.popular-section { margin-bottom: 60px; padding-left: 90px; padding-top: 90px; position: relative; }
.popular-section:before { content: ''; background: var(--site2) url('../img/lines-bkg.webp') no-repeat center; background-size: cover; border-radius: 125px 0 0 0; display: block; height: 70%; left: 0; position: absolute; top: 0; width: calc(calc(calc(100% + calc(100vw - 100%) / 2)) - 9px); }
.popular-section *:not(button) { position: relative; }
.popular-section h2 { color: white; }

.event-categories-slider {margin-bottom: 60px;padding: 90px 0 90px 90px;position: relative;}
.event-categories-slider:before {content: '';background: var(--site2) url('../img/lines-bkg.webp') no-repeat center;background-size: cover;border-radius: 125px 0 0 0;display: block;height: 100%;left: 0;position: absolute;top: 0;width: calc(calc(calc(100% + calc(100vw - 100%) / 2)) - 9px);}
.event-categories-slider *:not(button) { position: relative; }
.event-categories-slider h2 { color: white; }
.event-categories-slider .slick-slide {max-width: 350px;}

.order-by label, .order-by select { color: black; }
.order-by label { font-size: 16px; font-weight: 500; line-height: 20px; }
.order-by select { background: url("data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>") no-repeat; background-position: calc(100% - 0.75rem) center !important; border: 1px solid #cccccc; border-radius: 30px; font-weight: bold; margin-left: 10px; padding: 7px 32px 7px 16px; position: relative; appearance: none; }

.attractions-listing, .attractions-listing > li { list-style: none; padding-left: 0; }
.attractions-listing { display: grid; grid-gap: 12px; grid-template-columns: repeat(3, 1fr); margin-top: 20px; }
.attractions-listing.four-columns { grid-template-columns: repeat(4, 1fr); }
.attractions-listing .attraction { margin-bottom: 40px; }

nav[role="navigation"] { text-align: right; }
nav[role="navigation"] > div:first-child, nav[role="navigation"] > div > div:first-child { display: none; }
nav[role="navigation"] span { box-shadow: none!important; }
nav[role="navigation"] span > span, nav[role="navigation"] span > a { border: 0!important; border-radius: 50%; display: inline-block; height: 30px; line-height: 30px; padding: 0!important; text-align: center; width: 30px; }
nav[role="navigation"] svg { fill: var(--site1); position: relative; top: -2px; width: 20px; }
nav[role="navigation"] svg:hover { filter: var(--site2); }
nav[role="navigation"] span[aria-current="page"] > span { background-color: var(--site2)!important; color: white; }
nav[role="navigation"] a:not([rel]) { background-color: #f6f6f6!important; color: var(--site1); }
nav[role="navigation"] a:not([rel])::hover { background-color: var(--site1)!important; color: white; }

@media (max-width: 1199px) {
    .popular-section { padding-left: 60px; padding-top: 75px; }
    .popular-section:before { border-radius: 100px 0 0 0; }

    .attractions-listing.four-columns { grid-template-columns: repeat(3, 1fr); }
    .attractions-listing .attraction { margin-bottom: 30px; }
}

@media (max-width: 992px) {
    .popular-section { padding-left: 45px; padding-top: 60px; }
    .popular-section:before { border-radius: 80px 0 0 0; height: 60%; }

    .attractions-listing, .attractions-listing.four-columns { grid-template-columns: repeat(2, 1fr); }
    .attractions-listing .attraction { margin-bottom: 25px; }
}

@media (max-device-width: 992px) {
    .popular-section:before { width: calc(calc(100% + calc(100vw - 100%) / 2)); }
}

@media (max-width: 767px) {
    .order-by { margin-top: 20px; }
}

@media (max-width: 576px) {
    .attractions-listing, .attractions-listing.four-columns { grid-gap: 0; grid-template-columns: repeat(1, 1fr); }
}


/**********************
 HOTELS LISTING
 **********************/
.hotels-listing { display: grid; grid-gap: 30px; grid-template-columns: repeat(2, 1fr); list-style: none; margin-bottom: 50px; margin-left: 0; margin-top: 20px; padding-left: 0; }
.hotels-listing article { border-radius: 20px; position: relative; transition: .5s all ease; -webkit-transition: .5s all ease; }
.hotels-listing article .button-white { font-size: 15px; left: 20px; line-height: 20px; padding: 6px 16px; position: absolute; top: 22px; }
.hotels-listing article .hotel-info { background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.7)); border-radius: 0 0 20px 20px; bottom: 0; left: 0; padding: 30px; position: absolute; width: 100%; }
.hotels-listing article .hotel-info h5, .hotels-listing article .hotel-info p { margin-bottom: 10px; padding-bottom: 0; }
.hotels-listing article .hotel-info h5, .hotels-listing article .hotel-info h5 a, .hotels-listing article .hotel-info p { color: white; }
.hotels-listing article .hotel-info p:last-child { margin-bottom: 0; padding-bottom: 0; }
.hotels-listing article .hotel-info .fa-location-dot { color: var(--site1); margin-right: 4px; }
.hotels-listing article .hotel-info img { height: 22px; }
.hotels-listing article .hotel-info img:not(:last-child) { margin-right: 5px; }

@media (min-width: 993px) {
    .hotels-listing article:hover { scale: 1.05; }
}

@media (max-width: 992px) {
    .hotels-listing { grid-template-columns: repeat(1, 1fr); }
    .hotels-listing article .hotel-info { padding: 20px 20px }
}

@media (max-width: 767px) {
    .hotels-listing article .hotel-info h5 { margin-bottom: 14px; }
    .hotels-listing article .hotel-info img { height: 20px; }
}


/**********************
 RESTAURANTS LISTING
 **********************/
.restaurants-listing { display: grid; grid-gap: 20px; grid-template-columns: repeat(5, 1fr); list-style: none; margin-bottom: 20px; margin-left: 0; margin-top: 30px; padding-left: 0; }
.restaurants-listing > li { margin-bottom: 30px; }

@media (max-width: 1299px) {
    .restaurants-listing { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 992px) {
    .restaurants-listing { grid-template-columns: repeat(3, 1fr); grid-gap: 15px; }
    .restaurants-listing > li { margin-bottom: 35px; }
}

@media (max-width: 767px) {
    .restaurants-listing { grid-template-columns: repeat(2, 1fr); grid-gap: 10px; }
    .restaurants-listing > li { margin-bottom: 40px; }
}

@media (max-width: 480px) {
    .restaurants-listing { grid-template-columns: repeat(1, 1fr); grid-gap: 0; }
}


/**********************
 EVENTS LISTING
 **********************/
.events-listing { display: grid; grid-gap: 20px; grid-template-columns: repeat(4, 1fr); list-style: none; margin-bottom: 50px; margin-left: 0; margin-top: 30px; padding-left: 0; }

@media (max-width: 992px) {
    .events-listing { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 576px) {
    .events-listing { grid-template-columns: repeat(1, 1fr); }
}


/**********************
 DETAILS PAGE
 **********************/
#attraction-header { background-position: center; background-repeat: no-repeat; background-size: cover; height: 80vh; position: relative; }
#attraction-header, #attraction-header:after { border-radius: 0 0 120px 0; }
#attraction-header:before, #attraction-header:after { content: ''; height: 40%; left: 0; position: absolute; width: 100%; z-index: 0; }
#attraction-header:before { background: linear-gradient(to bottom, rgba(0,0,0,0.5) 5%, rgba(0,0,0,0) 100%); top: 0; }
#attraction-header:after {  background: linear-gradient(to top, rgba(0,0,0,0.5) 5%, rgba(0,0,0,0) 100%); bottom: 0; }
#attraction-header .container { height: 100%; position: relative; z-index: 99; }
#attraction-header .row { margin-inline: 0; }
#attraction-header .title { left: 0; position: absolute; top: 50%; translate: 0 -50%; width: 100%; }
#attraction-header .actions { left: 0; position: absolute; top: 155px; width: 100%; }
#attraction-header .actions a { color: white; }
#attraction-header .actions a:hover { color: var(--site2); }
#attraction-header .actions a .fa-solid { margin-right: 5px; }

#attraction-header .buttons, #attraction-header .buttons > li { display: inline-block; list-style: none; margin-left: 0; padding-left: 0; }
#attraction-header .buttons > li:not(:last-child) { margin-right: 2px; }
#attraction-header .buttons > li > a, #attraction-header .buttons > li > button { background-color: white; border-radius: 50%; color: black; display: inline-block; height: 34px; line-height: 36px; text-align: center; width: 34px; transform: scaleX(1); -webkit-transform: scaleX(1); }
#attraction-header .buttons > li > a:hover, #attraction-header .buttons > li > button:hover { background-color: var(--site2); color: white; transform: scaleX(-1); -webkit-transform: scaleX(-1); }

#attraction-header h1 { background: rgba(0,0,0,0.6); border-radius: 45px; color: white; display: inline-block; padding: 35px 60px; }
#attraction-header .bottom { bottom: 30px; position: absolute; left: 0; width: 100%; }
#attraction-header .bottom span { left: 15px; position: absolute; top: 0; }
#attraction-header .button { padding-block: 6px; }
#attraction-header .button:not(.outline):hover { background-color: white; border-color: white; color: black; }
#attraction-header .button.outline { padding-inline: 36px; }

.attractions-info { border: 1px solid #dddddd; border-radius: 20px; display: table; grid-gap: 0; grid-template-columns: repeat(3, 1fr); margin-block: 30px; padding-left: 0; width: 100%; }
.attractions-info, .attractions-info > li { list-style: none; }
.attractions-info > li { display: table-cell; padding: 18px; text-align: center; }
.attractions-info > li [class*="fa-"] { color: black; margin-right: 5px; }
.attractions-info > li [class*="location-dot"] { color: var(--site1); }
.attractions-info > li [class*="ticket"] { rotate: -35deg; }
.attractions-info > li a { border: 1px solid var(--site1); border-radius: 50%; display: inline-block; font-size: 14px; height: 20px; line-height: 19px; margin-left: 6px; text-align: center; width: 20px; }
.attractions-info > li a:hover { background-color: var(--site1); }
.attractions-info > li a:hover [class*="fa-"] { color: white; }
.attractions-info > li a [class*="fa-"] { margin-right: 0; }

nav#tabs { margin-bottom: 25px; }
nav#tabs .nav.nav-tabs { border-bottom: 1px solid #dddddd; margin-bottom: 0; padding-bottom: 15px; text-align: left; }
nav#tabs .nav.nav-tabs button { background-color: transparent; border: 0; border-radius: 25px; color: black; display: inline-block; font-size: 15px; font-weight: 600; line-height: 20px; padding: 8px 20px; }
nav#tabs .nav.nav-tabs button + button { margin-left: 10px; }
nav#tabs .nav.nav-tabs button:hover { background-color: var(--site1); color: white; }
nav#tabs .nav.nav-tabs button.active { background-color: var(--site2); color: white; }

.tab-content { margin-bottom: 45px; }
.tab-content > .tab-pane > [class*="container"] { padding-inline: 0; }

#attraction-details .main-image { border-radius: 22px; }
#attraction-details .w-100 { display: block; }

#attraction-details .p-sticky { margin-top: 20px; position: sticky; top: 15px; }

#attraction-details .white-box { padding: 30px; }
#attraction-details .white-box .button { display: block; }
#attraction-details .white-box img { margin-bottom: 15px; margin-top: 5px; max-width: 80%; opacity: 0.7; }
#attraction-details .white-box [class*="fa-"] { color: var(--site2); float: left; font-size: 22px; margin-right: 10px; position: relative; }
#attraction-details .white-box [class*="envelope"] { top: 2px; }
#attraction-details .white-box [class*="globe"] { top: 2px; }
#attraction-details .white-box a:not(.button) { color: black; }
#attraction-details .white-box a:not(.button):hover { color: var(--site2); }

#attraction-information .white-box { margin-bottom: 30px; }
#attraction-information .white-box [class*="fa-"] { color: black; position: relative; top: 2px; }
#attraction-information .white-box [class*="ticket"] { rotate: -35deg; }
#attraction-information .white-box hr { margin-bottom: 20px; margin-top: 10px; }
#attraction-information .white-box p { font-size: 15px; line-height: 20px; }
#attraction-information .white-box *:last-child { margin-bottom: 0; padding-bottom: 0; }

#attraction-information .white-box dl { display: inline-block; margin-bottom: 0; margin-top: 15px; width: 100%; }
#attraction-information .white-box dl dt, #attraction-information .white-box dl dd { display: inline-block; float: left; font-size: 16px; font-weight: normal; line-height: 20px; margin-block: 4px; width: 50%; }

#attraction-map, .caribe-google-maps { height: 60vh; margin-top: 50px; min-height: 350px; }

.attraction-modal { background-color: white; height: 100vh; left: 0; overflow-y: auto; padding-block: 35px; position: fixed; top: 0; width: 100%; z-index: 999999; -ms-overflow-style: none;  scrollbar-width: none; }
.attraction-modal::-webkit-scrollbar { display: none; }
.attraction-modal .col-12 { position: relative; }

.attraction-modal .close-modal { background-color: transparent; height: 30px; position: absolute; right: 15px; top: 0; width: 30px; }
.attraction-modal .close-modal:before, .attraction-modal .close-modal:after { content: ''; background-color: black; display: inline-block; height: 100%; left: 50%; position: absolute; top: 0; width: 3px; transition: .5s all ease; -webkit-transition: .5s all ease; }
.attraction-modal .close-modal:before { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
.attraction-modal .close-modal:after { transform: rotate(45deg); -webkit-transform: rotate(45deg); }
.attraction-modal .close-modal:hover::before, .attraction-modal .close-modal:hover::after { background-color: var(--site2); }
.attraction-modal .close-modal:hover::before { transform: rotate(-135deg); -webkit-transform: rotate(-135deg); }
.attraction-modal .close-modal:hover::after { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
.attraction-modal ul, .attraction-modal ul > li { display: inline-block; float: left; list-style: none; padding-left: 0; }
.attraction-modal ul { width: 100%; }
.attraction-modal ul > li { padding: 6px; position: relative; width: 50%; }
.attraction-modal ul > li:after { content: "\f424"; bottom: 30px; color: white; display: inline-block; font-family: 'Font Awesome 6 Free'; font-size: 20px; font-weight: bold; position: absolute; right: 30px; }
.attraction-modal ul > li img { aspect-ratio: 16/9; border-radius: 10px; display: inline-block; object-fit: cover; width: 100%; }

@media (max-width: 1199px) {
    #attraction-header, #attraction-header:after { border-radius: 0 0 100px 0; }
    #attraction-header h1 { padding: 30px 50px; }
}

@media (min-width: 993px) {
    .attractions-info > li:not(:last-child) { border-right: 1px solid #dddddd; }
}

@media (max-width: 992px) {
    #attraction-header { height: 60vh; min-height: 350px; }
    #attraction-header, #attraction-header:after { border-radius: 0 0 80px 0; }
    #attraction-header .actions { top: 100px; }
    #attraction-header h1 { padding: 25px 40px; }

    .attractions-info { grid-template-columns: repeat(1, 1fr); }
    .attractions-info > li:not(:last-child) { border-bottom: 1px solid #dddddd; }

    #attraction-details .main-image { margin-bottom: 30px; }

    nav#tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    nav#tabs .nav-tabs { display: flex; flex-wrap: nowrap; justify-content: flex-start; }
    nav#tabs .nav-tabs > button { flex-grow: 1; flex-shrink: 0; }
}

@media (max-width: 767px) {
    #attraction-header, #attraction-header:after { border-radius: 0 0 60px 0; }
    #attraction-header h1 { padding: 20px 30px; }
}

@media (min-width: 577px) {
    .attraction-modal ul > li:first-child, .attraction-modal ul > li:nth-child(3n+1) { width: 100%; }
}

@media (max-width: 576px) {
    #attraction-header, #attraction-header:after { border-radius: 0 0 40px 0; }

    #attraction-header .bottom { bottom: 15px; }
    #attraction-header .button.outline { padding-inline: 26px; }

    .attraction-modal { padding-top: 50px; }
    .attraction-modal .close-modal { top: -40px; }
    .attraction-modal ul > li { padding: 6px 0; width: 100%; }
    .attraction-modal ul > li:after { bottom: 25px; font-size: 18px; right: 25px; }
}



/**********************
 EVENT DETAILS PAGE
 **********************/
#attraction-header.event-header { background: linear-gradient(to bottom right, #762e54, var(--site2)); height: 50vh; }
#attraction-header.event-header:before { content: none; }
#attraction-header.event-header .title { top: 57%; }


/**********************
 HISTORY
 **********************/
.heritage-trust-container .col-12 { padding: 90px 60px; position: relative; }

@media (min-width: 993px) {
    .heritage-trust-container .col-12:first-child { border-radius: 32px 0 0 32px; }
    .heritage-trust-container .col-12:last-child { border-radius: 0 32px 32px 0; }
    .heritage-trust-container .col-12 img { left: 50%; position: absolute; top: 50%; translate: -50% -50%; }
}

@media (max-width: 1299px) {
    .heritage-trust-container .col-12 { padding: 60px 45px; }
}

@media (max-width: 992px) {
    .heritage-trust-container .col-12 { padding-block: 45px; }
    .heritage-trust-container .col-12:first-child { border-radius: 0 0 32px 32px; }
    .heritage-trust-container .col-12:last-child { border-radius: 32px 32px 0 0; padding-block: 75px; }
}

@media (max-width: 767px) {
    .heritage-trust-container .col-12:first-child { padding-inline: 30px; }
}

@media (max-width: 576px) {
    .heritage-trust-container .col-12:first-child { padding-inline: 25px; }
}


/**********************
 NEWS
 **********************/
.news-item { margin-bottom: 45px; }
.news-item .bkg-cover, .news-item .bkg-cover > a { border-radius: 20px 20px 0 0; }
.news-item .bkg-cover { margin-bottom: 15px; }
.news-item .bkg-cover > a { color: transparent; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
.news-item h4 a { color: black }
.news-item h4 a:hover { color: var(--site2); }
.news-item .date { color: #77797A; }
.news-item .excerpt a { color: var(--site1); font-weight: 600; text-transform: uppercase; }
.news-item .excerpt a:hover { color: black; }


/**********************
 ERROR PAGE
 **********************/
@media (max-width: 480px) {
    #error-page .button { display: block; margin-block: 15px; width: 100%; }
}


/***********************
 SHARE MODAL
 ***********************/
.share-modal { background-color: rgba(0,0,0,0.9); height: 100%; left: 0; min-height: 100vh; overflow: auto; position: fixed; top: 0; width: 100%; z-index: 9999999999999999; }
.share-modal > .modal-box { background-color: #ffffff; border-radius: 10px; display: inline-block; height: auto; max-width: 300px; position: absolute; width: 100%; }
.share-modal > .modal-box ul { display: inline-block; list-style: none; margin: 0 15px; padding: 0; width: calc(100% - 30px); }
.share-modal > .modal-box ul > li { display: inline-block; width: 100%; }
.share-modal > .modal-box ul > li > a { border-bottom: 1px solid #cccccc; color: #000000; display: inline-block; font-size: 18px; line-height: 22px; padding: 15px 0; width: 100%; }
.share-modal > .modal-box ul > li:last-child > a { border-bottom: 0; }
.share-modal > .modal-box ul > li > a:hover { color: #000000; }
.share-modal > .modal-box ul > li > a .fa { margin-right: 10px; }
.share-modal > .modal-box ul > li > a small { color: #1DBDBC!important; }
.share-modal > .modal-box > .header { border-bottom: 1px solid #cccccc; display: inline-block; margin-bottom: 0; padding: 15px 25px 15px; width: 100%; }
.share-modal > .modal-box > .header > h5 { display: inline-block; float: left; font-size: 24px; line-height: 28px; margin-bottom: 0; margin-top: 0; max-width: calc(100% - 45px); position: relative; top: 3px; }
.share-modal > .modal-box > .header > a.close-modal { border: 1px solid #cccccc; border-radius: 5px; color: #333333; display: inline-block; float: right; font-size: 20px; height: 36px; line-height: 34px; padding: 0; text-align: center; width: 36px; }
.share-modal > .modal-box > .header > a.close-modal:hover { background-color: #cccccc; color: #ffffff; }

.share-modal > .modal-box > .content { display: inline-block; padding: 20px 15px; width: 100%; }
.share-modal > .modal-box > .content h5 { color: #999999; }

.share-modal input[type="text"], .share-modal input[type="email"] { border: 1px solid #eaeaea; border-radius: 6px; display: inline-block; font-size: 16px; line-height: 20px; padding: 10px; width: 100%; }
.share-modal input[type="text"]:focus, .share-modal input[type="email"]:focus { border-color: var(--site2); box-shadow: none; outline: 0; }

@media (min-width: 577px) {
    .share-modal > .modal-box { left: 50%; top: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); }
}

@media (max-width: 576px) {
    .share-modal > .modal-box { min-height: 100vh; left: 0; max-width: 100%; top: 0; width: 100%; }
}

/*******************
 SEARCH FORM
 *******************/
 .search-form { background-color: rgba(0,0,0,0.9); display: none; height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 9999999999999999999999; }
 .search-form > button.close { background-color: transparent; border: 0; box-shadow: none; color: #ffffff; font-size: 30px; padding: 0; position: absolute; right: 30px; top: 30px; }
 .search-form > form { display: inline-block; left: 50%; max-width: 500px; position: absolute; top: 50%; border-bottom: 1px solid #ffffff; transform: translate(-50%, -50%); width: 100%; }
 .search-form > form > input {background-color: transparent;border: 0!important;border-radius: 0;color: #ffffff!important;display: inline-block;float: left;font-size: 30px;line-height: 34px;padding: 5px 0;width: calc(100% - 59px);}
 .search-form > form > input::placeholder { color: #ffffff; }
 .search-form > form > input:focus { background-color: transparent; box-shadow: none; outline: 0; }
 .search-form > form > button { background-color: transparent; border: 0;  box-shadow: none; color: #ffffff; display: inline-block; float: left; font-size: 24px; height: 59px; line-height: 59px; width: 59px; }
 
 @media (max-width: 767px) {
     .search-form > form > input { font-size: 20px; line-height: 24px; width: calc(100% - 44px); }
     .search-form > form > button { font-size: 20px; height: 44px; line-height: 44px; width: 44px; }
 }
 
 @media (max-width: 576px) {
     .search-form > form { max-width: calc(100vw - 40px); }
 }
 #searchResults {margin: 40px 0px}
 #searchResults ul { padding: 0; }
 #searchResults ul li {list-style: none;border-top: 1px solid #ccc;padding-top: 20px;}


/*******************
 Default Forms
*******************/
form section { margin-bottom: 30px; }
form .form-group { margin-bottom: 10px; }
form label { display: inline-block; margin-bottom: 5px; }
form .select2-container--default .select2-selection--multiple { border-color: #dee2e6; height: 38px; }

/*****************************
  NO HEADER NO FOOTER PAGES
******************************/
.no-header header, .no-footer footer { display: none; }
.no-footer #newsletter { display: none; }

.close-no-header-no-footer-page { border-top: 5px solid var(--site1); }
.close-no-header-no-footer-page .close-button { margin: 10px 10px 0 0;}
.close-no-header-no-footer-page .close-button a { background: var(--site2); border-radius: 50%; color: var(--site1); display: inline-block; font-size: 30px; height: 50px; line-height: 48px; text-align: center; width: 50px; }
.close-no-header-no-footer-page .close-button a:hover { background: var(--site1); color: var(--site2); }

.charities-supported-groups-header { margin-bottom: 45px; }
.charities-supported-groups-header:after { content: ""; background-color: var(--site2); height: 5px; position: absolute; width: 25%; }

@media (max-width: 992px) {
  .charitie-support-group-img { margin-bottom: 15px; }
}

/*****************************
  WIFI PAGE
******************************/
.wifi-section{ min-height: 100vh;  background: var(--site2) url('../img/lines-bkg.webp') no-repeat center; background-size: cover; }
.wifi-section .invalid-feedback { color: white; }
.wifi-section label a { text-decoration: underline; }