/* CSS Document */

@font-face { font-family: Caprasimo; src: url('/fonts/Caprasimo-Regular.woff') format('woff'); }
@font-face { font-family: Caprasimo; src: url('/fonts/Caprasimo-Regular.woff2') format('woff2'); }

@font-face { font-family: DMSans; src: url('/fonts/DMSans.woff') format('woff'); }
@font-face { font-family: DMSans; src: url('/fonts/DMSans.woff2') format('woff2'); }
@font-face { font-family: DMSans; src: url('/fonts/DMSans-Italic.woff') format('woff'); font-style: italic; }
@font-face { font-family: DMSans; src: url('/fonts/DMSans-Italic.woff2') format('woff2'); font-style: italic; }

@font-face { font-family: Poppins; src: url('/fonts/Poppins-Regular.woff') format('woff'); font-weight: 400; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-Light.woff') format('woff'); font-weight: 300; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-ExtraLight.woff') format('woff'); font-weight: 200; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-Thin.woff') format('woff'); font-weight: 100; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-Medium.woff') format('woff'); font-weight: 500; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-SemiBold.woff') format('woff'); font-weight: 600; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-Bold.woff') format('woff'); font-weight: 700; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-ExtraBold.woff') format('woff'); font-weight: 800; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-Black.woff') format('woff'); font-weight: 900; }

@font-face { font-family: Poppins; src: url('/fonts/Poppins-Italic.woff') format('woff'); font-weight: 400; font-style: italic; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-LightItalic.woff') format('woff'); font-weight: 300; font-style: italic; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-ExtraLightItalic.woff') format('woff'); font-weight: 200; font-style: italic; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-ThinItalic.woff') format('woff'); font-weight: 100; font-style: italic; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-MediumItalic.woff') format('woff'); font-weight: 500; font-style: italic; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-SemiBoldItalic.woff') format('woff'); font-weight: 600; font-style: italic; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-BoldItalic.woff') format('woff'); font-weight: 700; font-style: italic; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-ExtraBoldItalic.woff') format('woff'); font-weight: 800; font-style: italic; }
@font-face { font-family: Poppins; src: url('/fonts/Poppins-BlackItalic.woff') format('woff'); font-weight: 900; font-style: italic; }

:root {
	--field-error-background-color: #fcc;
}

html,body { font-family: DMSans; overflow-x: hidden; }
.btn { font-size: 16px; padding: 15px 33px; border-radius: 12px; border: none; }
.btn.btn-outline-primary, .btn.btn-yes, .btn.btn-no { border: 1px solid #a440bf; color: #a440bf; }
.btn.btn-outline-primary:hover, .btn.btn-yes:hover, .btn.btn-no:hover { border: 1px solid #882299; color: #882299; background-color: #dbbde3; }
.btn.btn-yes.active:hover, .btn.btn-no.active:hover { border: 1px solid #882299; color: #ffffff; background-color: #a440bf; }
.btn-yes.active, .btn-no.active, .btn-yes:first-child:active, .btn-no:first-child:active { border: 1px solid #882299; color: #ffffff; background-color: #a440bf; }
.btn.btn-primary,
.btn.btn-success { background: #a440bf; color: #fff; }
.btn.btn-primary:hover,
.btn.btn-success:hover { background: #882299; }
.btn.btn-sm { font-size: 13px; padding: 10px 40px; border-radius: 8px; }
.btn > i { font-size: 20px; line-height: 16px; position: relative; bottom: -2px; }
.hidden { display: none !important; visibility: hidden !important; }

input,select,textarea,.select2-selection { outline-color: #8E4199; }

div.narrow { width: 820px; max-width: 100%; margin: 0 auto; }
i.points-bullet { content: ''; display: inline-block; width: 14px; height: 14px; position: relative; top: 2.5px; background-image: url('/img/redesign/points-bullet.png'); background-size: contain; }

section.full-width,
.row.full-width { width: 100vw; margin-left: calc(-50vw + 550px); }
section.full-width section.full-width { margin-left: 0; }
section.horizontal-scroll { overflow-x: auto; scrollbar-width: none; }
section.horizontal-scroll > .row {  }
section.horizontal-scroll > .row > .col-1  { width:  8.33333333vw; }
section.horizontal-scroll > .row > .col-2  { width: 16.66666667vw; }
section.horizontal-scroll > .row > .col-3  { width: 25.00000000vw; }
section.horizontal-scroll > .row > .col-4  { width: 33.33333333vw; }
section.horizontal-scroll > .row > .col-5  { width: 41.66666667vw; }
section.horizontal-scroll > .row > .col-6  { width: 50.00000000vw; }
section.horizontal-scroll > .row > .col-7  { width: 58.33333333vw; }
section.horizontal-scroll > .row > .col-8  { width: 66.66666666vw; }
section.horizontal-scroll > .row > .col-9  { width: 75.00000000vw; }
section.horizontal-scroll > .row > .col-10 { width: 83.33333333vw; }
section.horizontal-scroll > .row > .col-11 { width: 91.66666667vw; }
section.horizontal-scroll > .row > .col-12 { width: 100.0000000vw; }

html:has(body.modal-open) { scrollbar-width: none; }
.modal-backdrop.show { background: #1b3466; opacity: 0.7; }
.modal-header { border-bottom: 0; padding: 28px 32px 0 30px; }
.modal-dialog .modal-content { border-radius: 16px; }
.modal-title { line-height: 1; margin-top: 8px; margin-bottom: 12px; }
.modal-footer .btn { height: 50px; border-radius: 12px; padding: 0 30px; line-height: 50px; }


section#top-bar { font-family: Poppins; background: #1b3466; color: #fff; font-size: 14px; text-align: center; line-height: 1.4; padding: 8px 4px; }
section#top-bar a { color: #fff; font-weight: 500; text-decoration: none; letter-spacing: 0.03em; }
section#top-bar a:hover { text-decoration: underline; }

header { width: 100%; max-width: 100vw; height: 27.8vw; background-size: cover; background-position: center; position: relative; }
header::before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; max-width: 100vw; height: 222px; background-image: url('/img/redesign/header-images/header_gradient.png'); background-repeat: repeat-x; }

header > nav.navbar { padding-top: 25px; --bs-navbar-nav-link-padding-x: 1.25rem; position: relative; z-index: 10; }
header > nav.navbar#header-search-tablet { z-index: 11; }
header > nav.navbar > .container-fluid { padding-left: 50px; padding-right: 50px; }
header .navbar-toggler { border: 0; background: #8E4199; color: #fff; padding: 4px 8px; position: relative; z-index: 1; }
header .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
header #book-now-link { padding: 10px 24px !important; color: #fff !important; margin-right: 12px; }

header #header-logo { width: 152px; }

header #header-tablet-search-bar,
header #header-search-bar { display: flex; position: absolute; z-index: 10; top: 0; right: 62px; overflow: hidden; background: #1b3466; box-shadow: 0 10px 40px rgba(0,0,0,0.05); padding-right: 6px; width: auto; height: 40px; border-radius: 0 0 16px 16px; }
header #header-search-bar #header-phone-link,
header #header-tablet-search-bar #header-tablet-phone-link { color: #EBDBF0; font-weight: 400; width: 180px; padding: 8px 20px; text-align: center; transition: all 0.3s; }
header #header-tablet-search-bar #header-tablet-phone-link i,
header #header-search-bar #header-phone-link i { /*color: #a440bf;*/ color: #c460df; }
header #header-tablet-search-bar #header-tablet-phone-link:hover,
header #header-search-bar #header-phone-link:hover { color: #fff; }
header #header-search-bar .btn-group,
header #header-tablet-search-bar .btn-group { background: none; }
header #header-tablet-search-bar .btn-group #tablet-collapseSearch,
header #header-search-bar .btn-group #collapseSearch { padding-top: 0; padding-bottom: 2px; }
header #header-search-bar #header-search-icon,
header #header-tablet-search-bar #header-tablet-search-icon { font-weight: 400; position: relative; height: 36px; padding: 0; width: auto; min-width: 30px; color: #ebdbf0; text-transform: uppercase; }
header #header-search-bar #header-search-icon i,
header #header-tablet-search-bar #header-tablet-search-icon i { position: absolute; top: 8px; left: 6px; font-size: 20px; line-height: 1; transition: all 0.3s; color: #c460df; }
header #header-tablet-search-bar #header-tablet-search-icon span,
header #header-search-bar #header-search-icon span { padding-left: 30px; padding-right: 15px; position: relative; top: 1px; }
header #header-search-bar #header-search-icon:hover,
header #header-tablet-search-bar #header-tablet-search-icon:hover { color: #fff; }
header #header-search-bar #header-search-icon.collapsed i.bi-search,
header #header-search-bar #header-search-icon i.bi-x-lg,
header #header-tablet-search-bar #header-tablet-search-icon.collapsed i.bi-search,
header #header-tablet-search-bar #header-tablet-search-icon i.bi-x-lg { opacity: 0; z-index: 0; }
header #header-search-bar #header-search-icon.collapsed i.bi-x-lg,
header #header-search-bar #header-search-icon i.bi-search,
header #header-tablet-search-bar #header-tablet-search-icon.collapsed i.bi-x-lg,
header #header-tablet-search-bar #header-tablet-search-icon i.bi-search { opacity: 1; z-index: 1; }
header #header-search-bar #header-search,
header #header-tablet-search-bar #header-tablet-search { background: #fff; border: 0; border-radius: 12px 0 0 12px; font-size: 15px; padding: 6px 12px; outline: none; field-sizing: content; min-width: 300px; max-width: calc(100vw - 600px); } 
header #header-search-bar #header-search:focus-visible,
header #header-tablet-search-bar #header-tablet-search:focus-visible { box-shadow: none; }
header #header-search-bar #collapseSearch .input-group,
header #header-tablet-search-bar #tablet-collapseSearch .input-group { min-width: 350px; }
header #header-search-bar #header-search-submit,
header #header-tablet-search-bar #header-tablet-search-submit { padding: 6px 12px; background: #fff; border-radius: 0 12px 12px 0; }
header #header-search-bar #header-search-submit:hover,
header #header-tablet-search-bar #header-tablet-search-submit:hover { color: #a440bf; }
.Pages.home header #header-search-bar,
.Pages.home header #header-tablet-search-bar { background: #fff; }
.Pages.home header #header-search-bar #header-phone-link,
.Pages.home header #header-tablet-search-bar #header-tablet-phone-link { color: #1f1f1f; }
.Pages.home header #header-search-bar #header-phone-link:hover,
.Pages.home header #header-search-bar #header-search-icon:hover i,
.Pages.home header #header-tablet-search-bar #header-tablet-phone-link:hover,
.Pages.home header #header-tablet-search-bar #header-tablet-search-icon:hover i { color: #a440bf; }
.Pages.home header #header-search-bar #header-search,
.Pages.home header #header-search-bar #header-search-submit,
.Pages.home header #header-tablet-search-bar #header-tablet-search,
.Pages.home header #header-tablet-search-bar #header-tablet-search-submit { background: #EBDBF0; } 
.Pages.home header #header-search-bar .btn-group #collapseSearch,
.Pages.home header #header-tablet-search-bar .btn-group #tablet-collapseSearch { padding-top: 2px; }
.Pages.home header #header-search-bar #header-search-icon,
.Pages.home header #header-tablet-search-bar #header-tablet-search-icon { height: 40px; color: #1f1f1f; }
.Pages.home header #header-search-bar #header-search-icon i,
.Pages.home header #header-tablet-search-bar #header-tablet-search-icon i { top: 10px; }
.Pages.home header #header-search-bar #header-search-icon:hover,
.Pages.home header #header-tablet-search-bar #header-tablet-search-icon:hover { color: #a440bf; }

@media ( max-width: 991px) and ( min-width: 768px ) {
	#navbar-nav-container #header-search-bar { display: none; }
	
	header #header-search-tablet #header-tablet-search-bar { flex-direction: row; right: 35px; }
}

@media ( min-width: 992px ) {
	header > nav.navbar { background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%); }
	header #header-search-tablet { display: none; }
	header #header-nav li a { color: #fff; font-weight: 300; }
	header #header-nav > li > a { text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2), -2px -2px 4px rgba(0, 0, 0, 0.2), -2px 2px 4px rgba(0, 0, 0, 0.2), 2px -2px 4px rgba(0, 0, 0, 0.2); }
	header #header-nav li a#book-now-link { text-shadow: none; }
	header #header-nav li > ul { box-shadow: 0 10px 40px 0 rgba(0,0,0,0.5); border-radius: 0 0 8px 8px; border-width: 0; padding-top: 0; padding-bottom: 0; overflow: hidden; }
	header #header-nav li > ul > li + li { border-top: 1px solid #f5f5f5; }
	header #header-nav li > ul > li > a { color: #8e4199; font-size: 16px; line-height: 1.2; padding: 16px 40px 16px 20px; font-weight: 500; letter-spacing: 0.02em; }
	header #header-nav li > ul > li > a.dropdown-item.hover, 
	header #header-nav li > ul > li > a.dropdown-item:hover { background: #dbbde3; }
	header #header-nav li > ul > li > a.dropdown-item.active, 
	header #header-nav li > ul > li > a.dropdown-item:active { background: #ebcdf3; }
	header #header-nav li > ul > li > .accordion .accordion-body { padding: 0; }
	header #header-nav li > ul > li > .accordion .accordion-button { box-shadow: none; color: #8e4199; }
	header #header-nav li > ul > li > .accordion .accordion-button:focus { box-shadow: none; }
	header #header-nav li > ul > li > .accordion .accordion-button:hover { background: #dbbde3; }
	header #header-nav li > ul > li > .accordion .accordion-button:not(.collapsed) { background: #dbbde3; }
	header #header-nav li > ul > li > .accordion .accordion-body > ul { list-style: none; padding: 0; }
	header #header-nav li > ul > li > .accordion .accordion-body > ul > li {  }
	header #header-nav li > ul > li > .accordion .accordion-body > ul > li > a { padding: 16px 20px 16px 36px; color: #8e4199; }
	header #header-nav li > ul > li > .accordion .accordion-body > ul > li > a:hover { background: #e9e9e9; }
	header #header-nav li > ul > li > .accordion .accordion-body > ul > li > a.dropdown-item.active,
	header #header-nav li > ul > li > .accordion .accordion-body > ul > li > a.dropdown-item:active { background: #ebcdf3; }

	header #header-nav li a.dropdown-toggle::after { position: relative; top: 1px; content: ""; display: inline-block; width: 9px; height: 9px; border-right: 0.1em solid #fff; border-top: 0.1em solid #fff; border-left: none; transform: rotate(135deg); margin-right: 0.5em; margin-left: 0.5em; }
}
@media ( max-width: 991px ) {
	header #book-now-link { margin-top: 10px; margin-left: 10px; margin-right: 10px; text-align: center; justify-content: center; font-weight: 600; }
	header #navbar-nav-container { z-index: 10; background: rgba(255, 255, 255, 1); border-radius: 10px; overflow: hidden; margin-top: -30px; margin-left: calc(100% - 250px); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25); }
	header #navbar-nav-container > ul > li > ul.dropdown-menu { display: block; overflow: hidden; max-height: 0; transition: max-height ease-in-out 0.3s; }
	header #navbar-nav-container > ul > li > ul.dropdown-menu.show { max-height: 400px; }
	header #navbar-nav-container ul > li > a.nav-link { padding: 8px 12px; font-size: 18px; display: flex; position: relative; }
	body.opaque-nav header #navbar-nav-container ul > li > a.nav-link { padding-top: 8px; padding-bottom: 8px; }
	header #navbar-nav-container ul > li > a.nav-link.dropdown-toggle:after { 
		flex-shrink: 0; 
		width: 20px; 
		height: 20px; 
		margin-left: auto; 
		content: ""; 
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
		background-repeat: no-repeat;
		background-size: 20px;
		transition: transform 0.2s ease-in-out;
		border: 0; 
		margin-top: 4px; }
	header #navbar-nav-container ul > li > a.nav-link.dropdown-toggle.show:after {
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
		transform: rotate(-180deg);
	}
	header #navbar-nav-container ul > li > a.dropdown-toggle.show { background: #EBDBF0; }
	header #navbar-nav-container ul > li > ul.dropdown-menu { border: 0; padding-top: 0; padding-bottom: 0; margin-top: 0; }
	header #navbar-nav-container ul > li > ul.dropdown-menu > li > a.nav-link,
	header #navbar-nav-container ul > li > ul.dropdown-menu > li > div.accordion button.accordion-button { font-size: 16px; padding: 8px 12px 8px 30px; font-style: italic; }
	header #navbar-nav-container ul > li > ul.dropdown-menu > li > div.accordion button.accordion-button:focus { box-shadow: none; }
	header #navbar-nav-container ul > li > ul.dropdown-menu > li > div.accordion button.accordion-button:not(.collapsed) { background: #ebdbf0; color: #1f1f1f; }
	header #navbar-nav-container ul > li > ul.dropdown-menu > li > div.accordion .accordion-body { padding: 0; }
	header #navbar-nav-container ul > li > ul.dropdown-menu > li > div.accordion .accordion-body > ul { list-style: none; padding-left: 0; }
	header #navbar-nav-container ul > li > ul.dropdown-menu > li > div.accordion .accordion-body > ul > li > a { padding-left: 50px; color: rgba(0, 0, 0, 0.71); }

}
@media ( max-width: 767px ) {
	header #header-search-tablet { display: none; }
	header #navbar-nav-container #header-search-bar { position: static; overflow: visible; height: auto; background: none; box-shadow: none; padding-right: 0; border-radius: 0; }
	header #navbar-nav-container #header-search-bar #header-phone-link { color: #000000cc; width: 100%; padding-top: 12px; }
	header #navbar-nav-container #header-search-bar #header-phone-link i { margin-right: 10px; }
	
	header #header-search-bar #header-search { min-width: 165px; border-radius: 0; height: 43px; font-size: 18px; }
	header #header-search-bar #header-search,
	header #header-search-bar #header-search-submit { background: #EBDBF0; }
	header #navbar-nav-container #header-search-bar .btn-group #collapseSearch { padding: 0; }
	header #header-search-bar #collapseSearch .input-group { min-width: 212px; }
	header #navbar-nav-container #header-search-bar #header-search-icon { height: 43px; color: #000000cc; }
	header #navbar-nav-container #header-search-bar #header-search-icon i.bi-search { left: 20px; top: 12px; }
	header #navbar-nav-container #header-search-bar #header-search-icon i.bi-x-lg { top: 12px; }
	header #navbar-nav-container #header-search-bar #header-search-icon span { padding-left: 50px; padding-right: 120px; font-size: 18px; }
}
@media ( max-width: 575px ) {
	header #navbar-nav-container { margin-top: -20px; }
}

body.opaque-nav header::before { width: 100%; height: 100px; background: #fff; border-bottom: 1px solid #D9D9D9; }
body.opaque-nav header > nav.navbar { padding-top: 8px; max-height: 100px; background: none; }
body.opaque-nav header > nav.navbar > .container-fluid { align-items: flex-start; max-height: 100px; }
body.opaque-nav header > nav.navbar > .container-fluid > a.navbar-brand { padding: 0; margin-top: 15px; }
body.opaque-nav header #header-logo {  }
body.opaque-nav header #book-now-link { margin-top: 26px; }
body.opaque-nav header #navbar-nav-container { margin-top: 16px; }
body.opaque-nav header ul#header-nav { top: 0; }
body.opaque-nav header ul#header-nav > li > a { color: #1B3466; padding-top: 36px; padding-bottom: 24px; line-height: 24px; text-shadow: none; }
body.opaque-nav header ul#header-nav li a.dropdown-toggle::after { border-color: #1b3466; }
body.opaque-nav header ul#header-nav li > ul { box-shadow: 0px 15px 20px 0 rgba(0, 0, 0, 0.1); border-width: 0.5px; border-top: 0; margin-top: -1px !important; }
body.opaque-nav header ul#header-nav li > ul > li > a { padding-top: 16px; padding-bottom: 16px; }
@media ( max-width: 991px ) {
	body.opaque-nav header #book-now-link { margin-top: 10px; }
	body.opaque-nav header > nav.navbar { padding-top: 0; max-height: 80px; }
	body.opaque-nav header > nav.navbar > .container-fluid { top: 0; max-height: 80px; }
	body.opaque-nav header #navbar-nav-container { margin-top: -40px; }
	body.opaque-nav header ul#header-nav li > ul { box-shadow: none; }
}
@media ( max-width: 575px ) {
	body.opaque-nav header > nav.navbar { max-height: 70px; }
	body.opaque-nav header > nav.navbar > .container-fluid { max-height: 70px; }
}

body.fixed-form header { height: 100px; z-index: 2; }
body.fixed-form main { z-index: 1; height: calc(100dvh - 180px); overflow-y: auto; padding: 50px 0; scrollbar-width: none; background-color: #fdfbf6; background-image: url('/img/redesign/bg-graphic-dotted-line-5.png'), url('/img/redesign/bg-graphic-dotted-line-6.png'); background-repeat: no-repeat; background-position: bottom left, top right; background-attachment: fixed; transition: height 1s ease-in-out; }
body.fixed-form main:before { display: none; content: none; }
body.fixed-form .form-nav { width: 100%; height: 80px; position: relative; z-index: 2; background: #fff; box-shadow: 0px -10px 20px 0px #0000001A; transition: height 1s ease-in-out; }
body.fixed-form .form-nav ul { height: 100%; align-items: center; }
body.fixed-form .form-nav ul li.nav-item { padding-left: 15px; padding-right: 15px; position: relative; }
body.fixed-form .form-nav ul li a:not(.btn) { font-size: 14px; color: #d1d1d1; cursor: pointer; }
body.fixed-form .form-nav ul li a.active:not(.btn) { color: #575757; }
body.fixed-form .form-nav ul li a i { color: #d1d1d1; font-size: 18px; }
body.fixed-form .form-nav ul li a span { display: inline-block; line-height: 1.2; padding-left: 6px; }
body.fixed-form .form-nav ul li a.active i { color: #8E4199; }
body.fixed-form .form-nav ul li.prev a.btn { color: #8E4199; }
body.fixed-form .form-nav ul li.next a.btn { padding-top: 4px; padding-bottom: 4px; border-radius: 15px; text-transform: uppercase; }
body.fixed-form .form-nav li.nav-item.prev,
body.fixed-form .form-nav li.nav-item.next { opacity: 1; visibility: visible; transition: opacity 0.3s ease-in-out, visibility 0s linear 0s; /* 0.5s delay for visibility */ }
body.fixed-form .form-nav li.nav-item.prev.invisible,
body.fixed-form .form-nav li.nav-item.next.invisible { opacity: 0; visibility: hidden; transition: opacity 0.3s ease-in-out, visibility 0s linear 0.3s; }

body.fixed-form.hide-nav main { height: calc(100dvh - 100px); }
body.fixed-form.hide-nav .form-nav { height: 0 !important; }

body.fixed-form .form-nav li.nav-item a.nav-link { display: flex; align-items: center; }
body.fixed-form .form-nav li.nav-item a.nav-link i.complete { display: none; color: #090; opacity: 0.5; }
body.fixed-form .form-nav li.nav-item a.nav-link i.error { display: none; color: #ff8000; opacity: 0.5; }
body.fixed-form .form-nav li.nav-item a.nav-link.active i { opacity: 1; }
body.fixed-form .form-nav li.nav-item a.nav-link.complete.visited i.complete,
body.fixed-form .form-nav li.nav-item a.nav-link.error.visited i.error { display: inline; }
body.fixed-form .form-nav li.nav-item a.nav-link.complete.visited i.number { display: none; }
body.fixed-form .form-nav li.nav-item a.nav-link.error.visited i.number { display: none; }

body.fixed-form .form-nav ul li.nav-item:has(ul.subtasks) a.nav-link { padding-bottom: 2px; }
body.fixed-form .form-nav ul li ul.subtasks { list-style: none; padding-left: 20px; text-align: center; line-height: 10px; margin-top: -18px; margin-bottom: 13.5px; }
body.fixed-form .form-nav ul li ul.subtasks li { display: inline-block; }
body.fixed-form .form-nav ul li ul.subtasks li a { display: inline-block; width: 10px; height: 10px; border-radius: 5px; background: #ccc; }
body.fixed-form .form-nav ul li ul.subtasks li a.active { background: #8E4199; }

body.fixed-form .radio-toggle { width: 650px; max-width: 100%; height: 62px; margin: 120px auto 30px; background: #E3CCE9; border-radius: 10px; padding: 5px; }
body.fixed-form .radio-toggle label { width: 50%; height: 100%; border-radius: 8px; color: #8E4199; display: inline-flex !important; align-items: center; justify-content: center; cursor: pointer; }
body.fixed-form .radio-toggle label.active { background: #FFFFFF; box-shadow: 0px 0px 7.91px 0px #00000014; }
body.fixed-form .radio-toggle label input[type="radio"] { display: none; }


body.fixed-form #form-nav-mobile { display: none; }
@media ( max-width: 991px ) {
	body.fixed-form header #navbar-nav-container { margin-top: -10px; }
}

body.fixed-form main h2 { color: #8E4199; font-size: 36px; font-weight: 550; line-height: 1.2; text-align: center; margin-bottom: 6px; }
body.fixed-form main h3 { color: #717171; font-size: 20px; font-weight: 300; line-height: 1.3; text-align: center; }
body.fixed-form main form .form-section { background: #fff; box-shadow: 0px 12.5px 50px 0px #0000000D; border-radius: 8px; width: 625px; margin: 120px auto 40px; padding: 25px; }
body.fixed-form main form .form-section + .form-section { margin: 50px auto; }
body.fixed-form main form .form-section input:not([type="radio"]) { display: block; width: 100%; background: #f5f5f5; height: 53px; border-radius: 90px; margin-bottom: 25px; border: 0; padding-left: 20px; padding-right: 20px; }
body.fixed-form main form .form-section > *:last-child { margin-bottom: 0 !important; }
body.fixed-form main form .form-section h5 { font-size: 17px; margin-bottom: 0.25rem; }
body.fixed-form main form .form-section p { font-size: 15px; }
body.fixed-form main .carousel .carousel-item { padding: 0 calc(50vw - 550px) 40px; }

@media ( max-width: 1399px ) {
	header > nav.navbar > .container-fluid { padding-right: 20px; }
	header #header-search-bar { right: 32px; }
	body.fixed-form #form-nav ul li.nav-item { padding-left: 5px; padding-right: 5px; }
}
@media ( max-width: 1199px ) and ( min-width: 992px ) {
	body.fixed-form #form-nav ul li.nav-item { padding-left: 0; padding-right: 0; }
	body.fixed-form #form-nav ul li.nav-item a.btn { padding-left: 32px; padding-right: 32px; }
}
@media ( max-width: 1149px ) and ( min-width: 992px ) {
	header #header-search-bar { right: 20px; }
	header > nav.navbar > .container-fluid { padding-left: 20px; padding-right: 10px; }
	.navbar-expand-lg .navbar-nav .nav-link { padding-left: calc(0.7 * var(--bs-navbar-nav-link-padding-x)); padding-right: calc(0.7 * var(--bs-navbar-nav-link-padding-x)); }
	header #book-now-link { padding-left: 18px !important; padding-right: 18px !important; margin-right: 10px; }
	header #header-nav li a { letter-spacing: -0.01em; }
}
@media ( max-width: 991px ) {
	header > nav.navbar > .container-fluid { padding-left: 50px; padding-right: 50px; }
	header #header-search-bar { right: 75px; }

	body.fixed-form header { height: 76px; }
	body.fixed-form header::before { height: 76px; }
	body.fixed-form header #header-logo { width: 90px; }
	body.fixed-form header > nav.navbar { max-height: 76px; }
	body.fixed-form header > nav.navbar > .container-fluid { padding-left: 10px; padding-right: 25px; }
	body.fixed-form header > nav.navbar > .container-fluid > a.navbar-brand { margin-top: 5px; }
	body.fixed-form header > nav.navbar button.navbar-toggler { margin-top: 24px; padding: 3px 6px; }
	body.fixed-form header > nav.navbar button.navbar-toggler .navbar-toggler-icon { width: 1em; height: 1.2em; }
	body.fixed-form main { height: calc(100dvh - 145px); padding-top: 6px; background-image: url('/img/redesign/bg-graphic-dotted-line-5.png'); background-position: bottom left; }
	body.fixed-form.hide-nav main { height: calc(100dvh - 75px); }
	body.fixed-form main .carousel .carousel-item { padding-left: 5vw; padding-right: 5vw; }
	body.fixed-form #form-nav { height: 70px; }
	body.fixed-form #form-nav ul li.nav-item { display: none; }
	body.fixed-form #form-nav li.nav-item.prev, 
	body.fixed-form #form-nav li.nav-item.next { display: list-item; }
	body.fixed-form #form-nav li.nav-item.prev a.nav-link, 
	body.fixed-form #form-nav li.nav-item.next a.nav-link { padding: 12px 75px; border-radius: 30px; border: 1px solid #a440bf; min-width: 150px; justify-content: center; }
	body.fixed-form #form-nav li.nav-item.prev a.nav-link:hover { background-color: #f9f4ff; }
	
	body.fixed-form #form-nav-mobile { display: block; width: calc(100% - 157px); height: 79px; position: absolute; top: 0; z-index: 11; background: none; background-image: url(/img/redesign/bg-graphic-fixed-form-mobile.png); background-repeat: no-repeat; box-shadow: none; background-size: 120% 50%; padding-top: 12px; padding-bottom: 8px; left: 100px; padding-left: 30px; padding-right: 30px; background-position: center; }
	body.fixed-form #form-nav-mobile ul { height: 100%; align-items: start; }
	body.fixed-form #form-nav-mobile ul li a span { display: block; line-height: 1; background: #fff; padding: 6px; width: max-content; margin: -6px auto; border-radius: 16px; font-size: 12px; }
	body.fixed-form #form-nav-mobile ul li a i { font-size: 16px; line-height: 1; padding: 8px; background: #fff; border-radius: 20px; }
	body.fixed-form #form-nav-mobile ul li.nav-item { width: 16.6666%; padding-left: 0; padding-right: 0; }
	body.fixed-form #form-nav-mobile ul li.nav-item a.nav-link { display: block; text-align: center; padding-left: 0; padding-right: 0; line-height: 1.3; }
	body.fixed-form #form-nav-mobile ul li.nav-item:has(ul.subtasks) a.nav-link { padding-bottom: 4px; }
	body.fixed-form #form-nav-mobile li.nav-item.prev { display: none; }
	body.fixed-form #form-nav-mobile li.nav-item.next { display: none; }

	body.fixed-form #form-nav-mobile li.nav-item a.nav-link i.complete { display: none; color: #090; opacity: 0.5; }
	body.fixed-form #form-nav-mobile li.nav-item a.nav-link i.error { display: none; color: #ff8000; opacity: 0.5; }
	body.fixed-form #form-nav-mobile li.nav-item a.nav-link.active i { opacity: 1; }
	body.fixed-form #form-nav-mobile li.nav-item a.nav-link.complete.visited i.complete,
	body.fixed-form #form-nav-mobile li.nav-item a.nav-link.error.visited i.error { display: inline; }
	body.fixed-form #form-nav-mobile li.nav-item a.nav-link.complete.visited i.number,
	body.fixed-form #form-nav-mobile li.nav-item a.nav-link i.error { display: none; }
	body.fixed-form #form-nav-mobile li.nav-item a.nav-link.error.visited i.number,
	body.fixed-form #form-nav-mobile li.nav-item a.nav-link i.complete { display: none; }
	
	body.fixed-form #form-nav-mobile ul li ul.subtasks { padding-left: 0; margin-top: 0; margin-bottom: 0; }
	
	body.fixed-form main > .carousel { margin-top: 50px; }
}
@media ( max-width: 767px ) {
	body.fixed-form main { height: calc(100dvh - 150px); }
	body.fixed-form #form-nav-mobile { padding-left: 5%; padding-right: 0; }
	body.fixed-form #form-nav-mobile ul li.nav-item { width: auto; padding: 0; flex: 1 1 auto !important; }
	body.fixed-form #form-nav-mobile ul li.nav-item a.nav-link { display: flex; }
	body.fixed-form #form-nav-mobile ul li.nav-item a.nav-link i { font-size: 20px; padding-left: 4px; padding-right: 4px; }
	body.fixed-form #form-nav-mobile ul li.nav-item a.nav-link span { max-width: 150px; text-align: left; margin: -6px 0; border-radius: 4px; overflow: hidden; padding-left: 0; transition: all 0.6s linear; transition-delay: 0s; }
	body.fixed-form #form-nav-mobile ul li.nav-item a.nav-link:not(.active) span { max-width: 0; padding-right: 0; transition-delay: -0.3s; }
	body.fixed-form #form-nav-mobile ul li.nav-item a.nav-link:not(.active) + ul.subtasks { display: none; width: 0; transition: opacity 0.6s linear -0.6s; }
	body.fixed-form #form-nav-mobile ul li.nav-item a.nav-link + ul.subtasks { padding-left: 30px; text-align: left; margin-top: -18px; display: block; transition: opacity 0.6s linear 0s, width 0.6s linear -0.3s; }
}
@media ( max-width: 575px ) {
	html body.fixed-form header#header,
	html body.fixed-form header#header::before { height: 50px; }
	html body.fixed-form header > nav.navbar { max-height: 50px; padding-bottom: 0; }
	body.fixed-form header > nav.navbar > .container-fluid { padding-left: 5px; padding-right: 12px; max-height: 50px; }
	body.fixed-form header > nav.navbar > .container-fluid > a.navbar-brand { margin-top: 2px; margin-right: 0; }
	body.fixed-form header > nav.navbar button.navbar-toggler { margin-top: 10px; }
	body.fixed-form #form-nav-mobile { display: none; }

	body.fixed-form header #navbar-nav-container { margin-top: -20px; }
	
	body.fixed-form #form-nav { height: 90px; }
	body.fixed-form #form-nav ul { height: 50%; align-items: start; }
	body.fixed-form #form-nav ul li.nav-item { display: flex; width: auto; padding: 0; flex: 1 1 auto !important; justify-content: center; }
	body.fixed-form #form-nav ul li.nav-item a.nav-link { display: flex; padding-left: 6px; padding-right: 6px; }
	body.fixed-form #form-nav ul li.nav-item a.nav-link i { font-size: 20px; padding-left: 4px; padding-right: 4px; }
	body.fixed-form #form-nav ul li.nav-item a.nav-link span { max-width: 150px; font-size: 12px; line-height: 1; text-align: left; margin: -6px 0; border-radius: 4px; overflow: hidden; padding-left: 0; transition: all 0.6s linear; transition-delay: 0s; }
	body.fixed-form #form-nav ul li.nav-item a.nav-link:not(.active) span { max-width: 0; padding-right: 0; transition-delay: -0.3s; }
	body.fixed-form #form-nav ul li.nav-item a.nav-link:not(.active) + ul.subtasks { display: none; width: 0; transition: opacity 0.6s linear -0.6s; }
	body.fixed-form #form-nav ul li.nav-item a.nav-link + ul.subtasks { padding-left: 36px; text-align: left; margin-top: -15px; display: block; transition: opacity 0.6s linear 0s, width 0.6s linear -0.3s; }

	body.fixed-form #form-nav li.nav-item.prev { display: block; position: absolute; bottom: 4px; left: 5px; width: calc(50% - 7.5px); }
	body.fixed-form #form-nav li.nav-item.next { display: block; position: absolute; bottom: 4px; right: 5px; width: calc(50% - 7.5px); }
	body.fixed-form #form-nav li.nav-item.prev a.nav-link { padding: 10px 12px; min-width: 0; width: 100%; }
	body.fixed-form #form-nav li.nav-item.next a.nav-link { padding: 10px 12px; min-width: 0; width: 100%; }

	body.fixed-form main { height: calc(100dvh - 140px); }
	body.fixed-form.hide-nav main { height: calc(100dvh - 50px); }
	body.fixed-form main > .carousel { margin-top: 14px; }
}
@media ( max-width: 440px ) {
	
	body.fixed-form main h2 { font-size: 26px; letter-spacing: 0.01em; line-height: 1.1; }
	body.fixed-form main h3 { font-size: 16px; }
	body.fixed-form main h3 br { display: none; }
	
	body.fixed-form #form-nav li.nav-item.prev { display: block; position: absolute; bottom: 4px; left: 5px; width: calc(35% - 7.5px); }
	body.fixed-form #form-nav li.nav-item.next { display: block; position: absolute; bottom: 4px; right: 5px; width: calc(65% - 7.5px); }
	body.fixed-form #form-nav li.nav-item.prev a.nav-link { padding: 10px 12px; min-width: 0; width: 100%; }
	body.fixed-form #form-nav li.nav-item.next a.nav-link { padding: 10px 12px; min-width: 0; width: 100%; }
}

header #header-pre { position: absolute; top: 31.5%; width: 100%; }
header h1#header-page-title { display: flex; align-items: center; text-align: center; height: 132px; justify-content: center; font-family: Caprasimo; color: #fff; font-size: 48px; line-height: 44px; text-shadow: 0px 0px 30px rgba(0,0,0,0.8); position: absolute; top: 156px; width: 100%; padding: 0 5%; }
header #header-post { position: absolute; top: 70%; width: 100%; }

main { background: #fdfbf6; position: relative; padding: 95px calc(50vw - 550px) 0; }
main::before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 470px; height: 280px; background: url('/img/redesign/bg-graphic-dotted-line-1.png') no-repeat; }
main #main-content { position: relative; }

main h2 { text-align: center; color: #1E3A74; font-size: 40px; font-weight: 600; margin-bottom: 12px; letter-spacing: 0.03em; }
main h2.resort { text-align: left; }
main p { color: #888888; }
main a,
main ul, main ol { color: #888888; }

body.resort header, body.site-map header { height: 90px; }
body.resort td { color: #888888; }
body.resort h2 { text-align: left; color: var(--study-1-black-1-f-1-f-1-f, #1F1F1F); font-size: 40px; font-style: normal; font-weight: 700; line-height: 120%; /* 48px */ }
body.resort h3 { color: var(--study-1-black-1-f-1-f-1-f, #1F1F1F);
	font-size: 32px;
	font-style: normal;
	font-weight: 700;
	line-height: 120%; /* 38.4px */
	letter-spacing: -0.64px;
}
body.resort hr {   background-size: 3px; border-top: 3px solid #EBEAEA; border-color: #EBEAEA; background-color: #EBEAEA; }
body.resort .card { border: 0; box-shadow: 0 25px 40px rgba(0,0,0,0.05) !important; }
body.resort .slider-nav { border-radius: 176px !important; border: 1px solid var(--Study-1-Border, #EBEAEA) !important; padding: 5px 8px 5px 7px;}
body.resort section#follow-us-social { margin-top: 20px; }

body.site-map a { text-decoration: none; }

body.Properties h4.title a { text-decoration: none; font-size: 24px; font-weight: 600; color: #1f1f1f; transition: color 0.5s; }
body.Properties h4.title a:hover { color: #666; }

body.Properties.cruises .row.gallery-header { padding-bottom: 10px; }
body.Properties.cruises .card { border: 0; border-radius: 16px; box-shadow: 0 25px 40px rgba(0,0,0,0.05); }
body.Properties.cruises span.highlight { font-size: 12px; letter-spacing: 0.05em; }
body.Properties.cruises .cruise-section h3 { font-size: 40px; color: #1E3A74; font-weight: 650; }
body.Properties.cruises .cruise-section img { max-width: 100%; }
body.Properties.cruises .cruise-section .cruise-photo { object-fit: cover; width: 100%; height: 100%; }
body.Properties.cruises .notice { background: #8E4199; color: #fff; font-size: 24px; font-weight: 600; width: 100%; padding: 50px; text-align: center; border-radius: 16px; margin-top: 150px; }
body.Properties.cruises .notice a { color: #fff; }
body.Properties.cruises h3 a { text-decoration: none; color: #1f1f1f; transition: color 0.5s; }
body.Properties.cruises h3 a:hover { text-decoration: none; color: #666; }

body.Properties.cruises #did-you-know-section h3 { font-weight: 300; font-size: 31px; letter-spacing: 0.02em; }
@media ( min-width: 768px ) and ( max-width: 991px ) {
    #did-you-know-images-col .gallery.mosaic[data-layout="mosaic-3"] .tile:nth-child(1) { grid-column: 1 / span 2; grid-row: 1 / span 2; }
    #did-you-know-images-col .gallery.mosaic[data-layout="mosaic-3"] .tile:nth-child(2) { grid-column: 1 / span 2; grid-row: 3 / span 2; }
    #did-you-know-images-col .gallery.mosaic[data-layout="mosaic-3"] .tile:nth-child(3) { grid-column: 1 / span 2; grid-row: 5 / span 2; }
    #did-you-know-images-col .gallery.mosaic[data-layout="mosaic-3"] .tile img { aspect-ratio: auto; height: calc(-22vw + 422px); }
}


.highlight { text-align: left; display: inline-block; width: auto;  background: rgba(0,178,255,0.2); border: 1px solid rgba(0,178,255,0.3); color: #005D85; padding: 6px 12px; border-radius: 16px; margin-bottom: 16px; font-size: 16px;}

/** start mosaic/slider gallery **/
.gallery {  }
.gallery.full-width .gallery-header { padding: 0 5vw;}
.gallery-header h3 { font-size: 32px; font-weight: 900; margin-bottom: 0; }

.gallery-row { padding: 0 calc(2.5vw + 15px); width: 100vw; max-width: 100vw; margin: 0 auto; display: flex; gap: 16px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; scroll-padding-inline-start: calc(2.5vw + 20px); }
.gallery-row > * { scroll-snap-align: start; padding: 0; }

.gallery-row .slide { position: relative; background: transparent; box-shadow: 0 15px 30px rgba(0,0,0,0.05); min-width: clamp(240px, 85vw, 620px); border-radius: 8px; overflow: hidden; }
.gallery-row .slide img { display:block; width:100%; height:100%; aspect-ratio: 16 / 9; object-fit: cover; }

.gallery.row .card { border: 0; }
.gallery-row .card .card-img-top { border-radius: 8px; object-fit: cover; max-height: 450px; }
.gallery-row .card .card-body { padding-left: 0; }
.gallery-row .card .card-body p.card-text { color: rgba(31,31,31,0.6); font-size: 14px; margin-bottom: 6px; }
.gallery-row .card .card-body h5.card-title { line-height: 1.1; }
.gallery-row .card .card-body h5.card-title a { font-size: 18px; color: #1f1f1f; text-decoration: none; }

.gallery-header .btn { border: 1px solid #EBEAEA; border-radius: 50%; width: 64px; height: 64px; text-align: center; padding: 0; line-height: 64px; margin-left: 12px; }
.gallery-header .btn:hover { background-color: #DBBDE3; color: #a440bf; border-color: #cBcAcA; font-weight: bold; }

/* cta button */
.gallery.mosaic .slide { position: relative; }
.gallery.mosaic .slide .cta { display: none; position: absolute; left: 10px; bottom: 10px; padding: 8px 12px; font-size: 14px; line-height: 1; background: rgba(255,255,255,0.92); color: #1f1f1f; border-radius: 999px; border: 1px solid rgba(0,0,0,0.08); box-shadow: 0 6px 16px rgba(0,0,0,0.15); text-decoration: none; cursor: pointer; }
.gallery.mosaic .gallery-row .slide:first-child > .cta { display: inline-flex; align-items: center; gap: .4rem; }
.gallery.mosaic .slide .cta:hover { background:#DBBDE3; color:#7a2e8f; border-color:#cBcAcA; }

@media ( min-width: 1200px ) {
    .gallery.full-width .gallery-row { padding-left: calc(50vw - 550px); padding-right: calc(50vw - 550px); scroll-padding-inline-start: calc(50vw - 550px); }
    .gallery.full-width .gallery-header { padding: 0 calc(50vw - 550px); padding-right: calc(50vw - 550px); scroll-padding-inline-start: calc(50vw - 550px); }
}

@media (min-width: 768px) {

    .gallery.mosaic { max-width: 1200px; margin: 0 auto; width: auto; }
    .gallery.mosaic .gallery-row { width:100%; max-width:100%; margin:0; overflow:visible; display:grid; gap:16px; scroll-snap-type:none; padding: 0 0 32px; }
    .gallery.mosaic .gallery-header { padding: 0; }
    .gallery.mosaic .tile { min-width:0; border-radius:10px; box-shadow:none; }
    .gallery.mosaic .tile img { width:100%; height:100%; object-fit:cover; aspect-ratio: 4 / 3; }

    .gallery.mosaic[data-layout="mosaic-3"] .tile img { aspect-ratio: 4 / 4; }
    .gallery.mosaic[data-layout="mosaic-3"] .gallery-row { grid-template-columns: repeat(2, 1fr); }
    .gallery.mosaic[data-layout="mosaic-3"] .tile:nth-child(1) { grid-column:1 / span 2; grid-row:1 / span 2; }
    .gallery.mosaic[data-layout="mosaic-3"] .tile:nth-child(2) { grid-column:1 / span 1; grid-row:3 / span 1; }
    .gallery.mosaic[data-layout="mosaic-3"] .tile:nth-child(3) { grid-column:2 / span 1; grid-row:3 / span 1; }

    .gallery.mosaic[data-layout="mosaic-4"] .gallery-row { grid-template-columns: repeat(6, 1fr); }
    .gallery.mosaic[data-layout="mosaic-4"] .tile:nth-child(1) { grid-column:1 / span 4; grid-row:1 / span 3; }
    .gallery.mosaic[data-layout="mosaic-4"] .tile:nth-child(2) { grid-column:5 / span 2; grid-row:1 / span 2; }
    .gallery.mosaic[data-layout="mosaic-4"] .tile:nth-child(3) { grid-column:5 / span 1; grid-row:3 / span 1; }
    .gallery.mosaic[data-layout="mosaic-4"] .tile:nth-child(4) { grid-column:6 / span 1; grid-row:3 / span 1; }

    .gallery.mosaic[data-layout="mosaic-6"] .gallery-row { grid-template-columns: repeat(8, 1fr); }
    .gallery.mosaic[data-layout="mosaic-6"] .tile:nth-child(1) { grid-column:1 / span 4; grid-row:1 / span 2; }
    .gallery.mosaic[data-layout="mosaic-6"] .tile:nth-child(2) { grid-column:5 / span 2; grid-row:1 / span 1; }
    .gallery.mosaic[data-layout="mosaic-6"] .tile:nth-child(3) { grid-column:7 / span 2; grid-row:1 / span 1; }
    .gallery.mosaic[data-layout="mosaic-6"] .tile:nth-child(4) { grid-column:5 / span 4; grid-row:2 / span 3; }
    .gallery.mosaic[data-layout="mosaic-6"] .tile:nth-child(5) { grid-column:1 / span 2; grid-row:3 / span 2; }
    .gallery.mosaic[data-layout="mosaic-6"] .tile:nth-child(6) { grid-column:3 / span 2; grid-row:3 / span 2; }

    .gallery.mosaic .gallery-header .btn { display:none; }
}
@media (max-width: 576px) {
    .gallery-row {
        padding-left: 5vw !important;
        padding-right: 5vw !important;
    }
}

/** end mosaic/slider gallery */

/** start confirmed reservations cell styles **/
#confirmed-reservations-section { background: #1b3466; color: #fff; position: relative; padding: 80px 0 30px 0; }
.Pages.home #confirmed-reservations-section { min-height: 1000px; padding: 140px 0; }
#confirmed-reservations-section:before { content: ''; display: block; width: 519px; height: 300px; background-image: url('/img/redesign/confirmed-reservation-bg-graphic1.png'); background-repeat: no-repeat; position: absolute; top: 0; right: 0; }
#confirmed-reservations-section:after { content: ''; display: block; width: 506px; height: 313px; background-image: url('/img/redesign/confirmed-reservation-bg-graphic2.png'); background-repeat: no-repeat; position: absolute; bottom: 0; left: 0; }
#confirmed-reservations-section .row { width: 1100px; margin: 0 auto; }
#confirmed-reservations-section h4 { color: #fff; text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; }
#confirmed-reservations-section h3 { font-size: 40px; font-weight: 600; color: #fff; }
#confirmed-reservations-section p { color: #fff; margin: 50px 130px 0 -30px; font-weight: 300; }
#confirmed-reservations-section #confirmed-reservations-header-row { margin-bottom: 40px; }
#confirmed-reservations-section .row .card { border: 0; position: relative; z-index: 2; border-radius: 12px; margin-bottom: 24px; height: 400px; width: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; }
#confirmed-reservations-section .row .card.home { border: 0; position: relative; z-index: 2; border-radius: 12px; margin-bottom: 24px; height: 260px; width: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; }
#confirmed-reservations-section .row .col-xl-7 .card { height: 544px; }
#confirmed-reservations-section .row .card > .card-body { position: absolute; bottom: 6px; left: 6px; background: #fff; border-radius: 10px; padding: 16px; width: calc(100% - 12px); height: 152px; }
#confirmed-reservations-section .row .card.home > .card-body { position: absolute; bottom: 6px; left: 6px; background: #fff; border-radius: 10px; padding: 16px; width: calc(100% - 12px); height: 132px; }
#confirmed-reservations-section .row .card .icons { background: rgba(31,58,71,0.3); backdrop-filter: blur(44px); display: block; position: absolute; top: 6px; left: 6px; padding: 10px 12px; border-radius: 10px; color: #fff; font-size: 12px; }
#confirmed-reservations-section .row .card .icons i.fa-wheelchair { margin-right: 6px; }
#confirmed-reservations-section .row .card .resort { font-size: 14px; color: #1f1f1f; position: absolute; top: 12px; left: 16px; width: calc(100% - 160px); line-height: 1.1; }
#confirmed-reservations-section .row .card .price  { font-size: 16px; color: #1f1f1f; position: absolute; top: 12px; right: 16px; width: 110px; }
#confirmed-reservations-section .row .card .points { font-size: 10px; color: #6C6C70; position: absolute; top: 35px; right: 16px; width: 110px; }
#confirmed-reservations-section .row .card .description { font-size: 12px; color: #6C6C70; position: absolute; top: 61px; left: 16px; width: calc(100% - 32px); line-height: 15px; }
#confirmed-reservations-section .row .card .description.home { font-size: 12px; color: #6C6C70; position: absolute; top: 50px; left: 16px; width: calc(100% - 32px); }
#confirmed-reservations-section .row .card a.book-now { position: absolute; bottom: 16px; left: 16px; width: calc(100% - 32px); }
#confirmed-reservations-section #confirmed-reservations-row { margin-bottom: 40px; }
#confirmed-reservations-section a.btn.btn-primary { position: relative; z-index: 2; }

@media ( max-width: 1199px ) {
    #confirmed-reservations-section .row { width: 900px; }
}
@media ( max-width: 991px ) {
    #confirmed-reservations-section .row { width: 750px; }
    #confirmed-reservations-section p { margin-left: 0; margin-top: 0; }
}
@media ( max-width: 767px ) {
    #confirmed-reservations-section .row { width: 550px; }
    #confirmed-reservations-section p { margin-right: 0; }
    #confirmed-reservations-section .row .card,
    #confirmed-reservations-section .row .col-xl-7 .card { height: 320px; }
    #confirmed-reservations-section #confirmed-reservations-row { margin-bottom: 10px; }
}
@media ( max-width: 575px ) {
    #confirmed-reservations-section .row { width: 95vw; }
}
@media ( max-width: 440px ) {
    #confirmed-reservations-section .row .card > .card-body { height: auto; min-height: 132px; padding-bottom: 60px; }
    #confirmed-reservations-section .row .card > .card-body > .resort { display: block; position: static; width: calc(100% - 32px); }
    #confirmed-reservations-section .row .card > .card-body > .price { display: inline-block; position: static; width: calc(45% - 10px); }
    #confirmed-reservations-section .row .card > .card-body > .points { display: inline-block; position: static; width: calc(55%); }
    #confirmed-reservations-section .row .card > .card-body > .description { display: block; position: static; width: calc(100% - 32px); line-height: 1.2; }
}
/** end confirmed reservations cell styles **/

.table { margin-top: 20px; margin-bottom: 25px; }
.table th { background: #EBDBF0; font-weight: 300; vertical-align: middle; padding: 12px 10px; margin: 20px 0 0 0; }
.table th strong { font-weight: 600; }
.table td { background: none; border-bottom: 1px solid #969893; padding: 25px 10px; margin: 0; }
.table tbody.spacer td { border: none; padding: 10px; }

section#follow-us-social { margin: 250px -10% 40px; overflow: hidden; }
section#follow-us-social h3 { font-size: 12px; text-transform: uppercase; line-height: 16px; letter-spacing: 0.09em; color: #1f1f1f; }
section#follow-us-social h2 { font-size: 40px; line-height: 50px; letter-spacing: -0.02em; color: #1f1f1f; text-align: left; margin-top: 12px; }
section#follow-us-social #follow-us-social-collage { height: 640px; }
section#follow-us-social .row .img { max-width: 100%; border-radius: 16px; height: calc(50% - 12px); background-size: cover; background-position: center; background-repeat: no-repeat; margin-bottom: 24px; }
section#follow-us-social .row { height: 100%; }

footer { background: #1b3466; padding-top: 30px; }
footer > * { max-width: 100vw; }
footer #footer-newsletter-signup { display: block; width: 850px; max-width: 90%; height: 95px; background: #fff; border-radius: 20px; margin: 0 auto 50px; }
footer #footer-logo-col { text-align: center; margin-left: 2%; margin-right: 6%; }
footer #footer-logo { width: 280px; }
footer #footer-nav { margin-left: 4%; margin-bottom: 100px; }
footer #footer-nav ul { padding: 0; margin: 0; list-style: none; font-family: Poppins; }
footer #footer-nav ul > li {  }
footer #footer-nav ul > li > a { display: block; font-size: 16px; font-weight: 400; text-decoration: none; color: #fff; padding: 1.2rem 0; }
footer #footer-nav ul > li > ul { font-family: DMSans; }
footer #footer-nav ul > li > ul > li { line-height: 1.1; }
footer #footer-nav ul > li > ul > li > a { display: block; font-size: 14px; font-weight: normal; color: rgba(255,255,255,0.6); padding: 0.5rem 0; }

section#bottom-bar { background: #1b3466; border-top: 1px solid rgba(235, 234, 234, 0.1); padding: 2rem 4% 3rem; color: rgba(255,255,255,0.6); font-size: 14px; font-family: Poppins; }
section#bottom-bar a.bottom-bar-nav-link { color: rgba(255,255,255,0.6); text-decoration: none; }
section#bottom-bar > .copyright-row { display: table; width: 100%; }
section#bottom-bar > .copyright-row > * { display: table-cell; }
section#bottom-bar > .copyright-row > #bottom-bar-copyright { width: 475px; }
section#bottom-bar #bottom-bar-social-icons { width: 220px; text-align: right; position: relative; top: 6px; }
section#bottom-bar #bottom-bar-social-icons > a.facebook,
section#bottom-bar #bottom-bar-social-icons > a.pinterest { display: inline-block; width: 24px; height: 24px; position: relative; top: 6px; margin-left: 4px; }
section#bottom-bar #bottom-bar-social-icons > a.instagram,
section#bottom-bar #bottom-bar-social-icons > a.youtube,
section#bottom-bar #bottom-bar-social-icons > a.x,
section#bottom-bar #bottom-bar-social-icons > a.tiktok { display: inline-block; width: 24px; height: 24px; border-radius: 12px; background: #fff; margin-left: 4px; text-align: center; }
section#bottom-bar #bottom-bar-social-icons > a.facebook > i,
section#bottom-bar #bottom-bar-social-icons > a.pinterest > i { color: #fff; font-size: 24px; }
section#bottom-bar #bottom-bar-social-icons > a.instagram > i,
section#bottom-bar #bottom-bar-social-icons > a.youtube > i,
section#bottom-bar #bottom-bar-social-icons > a.x > i,
section#bottom-bar #bottom-bar-social-icons > a.tiktok > i { position: relative; top: 2px; color: #1b3466; }
section#bottom-bar #bottom-bar-fine-print { font-size: 10px; margin-top: 20px; }


@media ( max-width: 575px ) { /* Extra Small : < 576px */
	header { height: 275px; }
	header > nav.navbar { padding-top: 10px; }
	header > nav.navbar > .container-fluid { padding-left: 10px; padding-right: 20px; }
	header #header-logo { width: 110px; }
	header h1#header-page-title { top: calc(50% - 44px); }

	body.opaque-nav header#header,
	body.opaque-nav header#header::before { height: 70px; }
	body.opaque-nav header button.navbar-toggler { margin-top: 15px; }

	main { padding-left: 5vw; padding-right: 5vw; }
	section.full-width,
	.row.full-width { margin-left: -5vw; }

	footer #footer-logo { width: 120px; margin-bottom: 20px; }

	section#bottom-bar > .copyright-row > * { display: block; width: 100%; }
	section#bottom-bar > .copyright-row > #bottom-bar-copyright { width: 100%; padding: 8px 0; }
	section#bottom-bar > .copyright-row > .bottom-bar-nav-link { width: 100%; padding: 10px 0; }
	section#bottom-bar #bottom-bar-social-icons { width: 100%; text-align: left; }
	
	.modal-dialog { --bs-modal-margin: 0.5% auto; }
}
@media ( min-width: 576px ) and ( max-width: 767px ) { /* Small	(sm) : ≥ 576px */
	header { height: 275px; }
	header > nav.navbar { padding-top: 15px; }
	header > nav.navbar > .container-fluid { padding-left: 20px; padding-right: 30px; }
	header #header-logo { width: 130px; }
	header h1#header-page-title { top: calc(50% - 44px); }
	
	body.opaque-nav header#header,
	body.opaque-nav header#header::before { height: 80px; }
	body.opaque-nav header button.navbar-toggler { margin-top: 20px; }
	
	main { padding-left: 5vw; padding-right: 5vw; }
	section.full-width,
	.row.full-width { margin-left: -5vw; }

	footer #footer-logo { width: 120px; margin-bottom: 20px; }

	section#bottom-bar > .copyright-row > * { display: block; width: 100%; }
	section#bottom-bar > .copyright-row > #bottom-bar-copyright { width: 100%; padding: 8px 0; }
	section#bottom-bar > .copyright-row > .bottom-bar-nav-link { width: 100%; padding: 10px 0; }
	section#bottom-bar #bottom-bar-social-icons { width: 100%; text-align: left; }
}
@media ( min-width: 768px ) and ( max-width: 991px ) { /* Medium (md) : ≥ 768px */
	header { height: 300px; }
	header h1#header-page-title { top: 116px; }

	body.opaque-nav header button.navbar-toggler { margin-top: 40px; }

	main { padding-left: 50px; padding-right: 50px; }
	section.full-width,
	.row.full-width { margin-left: -50px; }

	footer #footer-logo { width: 120px; margin-bottom: 20px; }

	section#bottom-bar > .copyright-row > * { display: block; float: left; }
	section#bottom-bar > .copyright-row > #bottom-bar-copyright { width: 100%; }
	section#bottom-bar > .copyright-row > .bottom-bar-nav-link { width: auto; margin-right: 50px; padding-top: 10px; }
	section#bottom-bar #bottom-bar-social-icons { width: 100%; text-align: left; }
}
@media ( min-width: 768px ) {
	/* no header image or special content requires a setting for this viewport and above */
	body.resorts header { height: 90px !important; }
}
@media ( min-width: 992px ) and ( max-width: 1199px ) { /* Large (lg) : ≥ 992px */
	header { height: 360px; }
	header #header-logo { left: 20px; }
	header #header-nav { right: 10px; top: 40px; }
	header > nav.navbar { --bs-navbar-nav-link-padding-x: 0.75rem; }
	header h1#header-page-title { top: 136px; }

	main { padding-left: 50px; padding-right: 50px; }
	section.full-width,
	.row.full-width { margin-left: -50px; }
	
	section#bottom-bar > .copyright-row > * { display: inline-block; }
	section#bottom-bar > .copyright-row > #bottom-bar-copyright { display: block; width: 100%; float: left; }
	section#bottom-bar > .copyright-row > .bottom-bar-nav-link { width: calc(25% - 55px); }
	section#bottom-bar #bottom-bar-social-icons { top: -4px; }
}
@media ( min-width: 1200px ) and ( max-width: 1399px ) { /* Extra large (xl) : ≥ 1200px */
	header { height: 360px; }
	header h1#header-page-title { top: 136px; }

	section#bottom-bar > .copyright-row > * { display: inline-block; }
	section#bottom-bar > .copyright-row > #bottom-bar-copyright { display: block; width: 100%; float: left; }
	section#bottom-bar > .copyright-row > .bottom-bar-nav-link { width: 20%; }
}
@media ( min-width: 1400px ) { /* Extra extra large (xxl) : ≥ 1400px */
	header { height: 400px; }
}

@media ( max-width: 622px ) {
	footer #footer-newsletter-signup { height: 262px; }
	footer #footer-newsletter-signup > iframe { height: 262px; }
}




@media ( max-width: 1399px ) {
	section#follow-us-social { max-width: calc(100% + 60px); margin-left: -30px; margin-right: -30px; width: calc(100% + 60px); }
}
@media ( max-width: 1199px ) { 
	section#follow-us-social #follow-us-social-collage { height: 53.3333vw; }
}
@media (max-width: 767px) {
	section#follow-us-social { max-width: calc(100% + 4vw); width: calc(100% + 4vw); margin-left: -2vw; margin-right: -2vw; }
	section#follow-us-social #follow-us-social-collage { height: 175vw; }
	section#follow-us-social #follow-us-social-collage .col-12 { margin-top: calc(var(--bs-gutter-y) * 0.5); }
}
