:root {
    --font-heading: 'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-body: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;




  --color-primary: #001b34;
  --color-secondary: #1FACF8;
  --color-thernary: rgb(1, 70, 133);

  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;


  --fs-title: 30px;
  --fs-content: 17px;
}
@media (max-width: 600px) {
    :root {
        --fs-title: 25px;
    }
}

@font-face {
    font-family: 'League Spartan';
    src: url('../fonts/LeagueSpartan.woff2') format('woff2');
    font-weight: 400 700;
    font-style: normal;
    font-display: swap;

    size-adjust: 100%;
    ascent-override: 95%;
    descent-override: 25%;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat.woff2') format('woff2');
    font-weight: 400 600;
    font-style: normal;
    font-display: swap;

    size-adjust: 100%;
    ascent-override: 100%;
    descent-override: 25%;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-body);
    font-weight: var(--weight-normal);
    color: #333;
    background: linear-gradient(
        to right top,
        #d0edfc,
        #dceffe,
        #e7f2ff,
        #f0f5ff,
        #f8f9ff,
        #f8f9ff,
        #f8f9ff,
        #f8f9ff,
        #f0f5ff,
        #e7f2ff,
        #dceffe,
        #d0edfc
    );
    -webkit-font-smoothing: antialiased;
    scrollbar-width: 12px;
    scrollbar-color: #013563;
    scroll-behavior: smooth;
    overflow-x: hidden;
    overflow-y: auto;
    width: 100vw;
}

body::-webkit-scrollbar {
    width: 12px !important;
    height: 12px !important;
    margin-left: -19px !important;
}

body::-webkit-scrollbar-thumb {
    background: #023563 !important;
    border-radius: 0 !important;
    margin-left: -9px !important;
}

body::-webkit-scrollbar-thumb:hover {
    background: #023563 !important;
    box-shadow: 0 0 2px 1px #fff0 !important;
}

body::-webkit-scrollbar-thumb:active {
    background-color: #023563 !important;
}
.page-width {
	max-width: 1700px;
	margin: 0 auto;
	padding: 0 5rem;
}
@media (max-width: 600px) {
    .page-width {
       
        padding: 0 1rem;
    }

}
a {
    text-decoration: none;
    color: inherit;
    transition: color 0.2s ease-in-out;
}
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #dcf0fb inset !important;
    -webkit-text-fill-color: #000000 !important;
    transition: background-color 5000s ease-in-out 0s !important;
    border: 1px solid #94cff2 !important;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1;
}

.top-bar {
    background-color: #1FACF8;
    color: #fff;
    font-size: 14px;
    padding: 0.8rem 0;
}

.top-bar-container {
    max-width: 1700px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0 5rem;
}
svg {
    width: 1em;
    height: 1em;
    max-width: 100%;
    display: inline-block;
    vertical-align: middle;
}

.top-bar-container svg {
    width: 16px;
    height: 16px;
    fill: #fff;
}

.promo-text {
    font-family: var(--font-body);
    color: rgb(1, 70, 133);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    padding: 0 0.5rem !important;
}

.promo-text strong {
    color: #fff;
}

.phone-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 1px;
}

.phone-link:hover {
    color: #e0f2fe;
}

.main-header {
    background-color: #fff;
    box-shadow: 0 2px 4px rgb(0 0 0 / 0.04);
    padding: 15px 0;
    height: 102px;
}

.main-header-container {
    max-width: 1700px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 0 5rem;
}

.logo-area {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    font-family: var(--font-heading);
    font-weight: 800;
    color: #001b34;
    font-size: 24px;
}

.media-badges {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #555;
    font-size: 14px;
}

.media-title {
    font-family: var(--font-body);
    font-weight: 500;
    color: #666;
    font-size: 16px;
}

.badges-container {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: var(--font-heading);
    font-weight: 800;
    letter-spacing: -0.5px;
}

.badge-item,
.badge-item img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.badges-mobile {
    display: none;
}

@media (max-width: 768px) {
    .badges-mobile {
        display: flex;
    }
}

@media (max-width: 991px) {
    .main-header-container {
        gap: 15px;
        text-align: center;
    }
}

@media (max-width: 769px) {
    .top-bar {
        background-image: linear-gradient(94.69deg, #1facf8 8.24%, #014685 94.42%);
    }
    .top-bar-container {
        display: flex;
        padding: 0 2rem;
    }
    .promo-text {
        display: none;
    }
    .main-header-container {
        justify-content: center;
        align-items: center;
        padding: 0 2rem;
    }
    .media-badges {
        display: none;
    }
    .media-badges.badges-mobile {
        display: flex;
    }
}

@media (max-width: 480px) {
    .top-bar {
        padding: 0.6rem 0;
    }
    .media-badges {
        gap: 8px;
    }
    .media-title {
        color: #fff;
        font-size: 11px;
        letter-spacing: 1px;
    }
    .badge-item,
    .badge-item img {
        width: 26px;
        height: 26px;
        object-fit: contain;
    }
    .phone-link {
        font-size: 13px;
    }
    .top-bar-container svg {
        width: 15px;
    }
    .main-header {
        min-height: 102px;
        align-items: center;
        display: flex;
    }
}

.site-footer {
    background: #000b1b;
    background: radial-gradient(circle at 50% 50%, #033c80 0%, #000b1b 100%);
    color: #ffffff;
    padding: 60px 0 0 0;
    font-size: 14px;
    line-height: 1.6;
}

.site-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.site-footer a {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.2s ease, color 400ms;
    font-family: var(--font-body);
    font-weight: 500;
}

.social-icon svg {
    width: 22px;
    height: 17px;
    fill: #fff;
}

.site-footer a:hover {
    opacity: 1;
    color: #ea8802;
}

.footer-container {
    display: flex;
    flex-direction: column;
    max-width: 1700px;
    margin: 0 auto;
    padding: 0 5rem;
    gap: 40px;
}

.footer-col {
    flex: 1 1 auto;
}

.brand-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
}

.brand-description {
    color: #fff;
    margin: 0;
    font-size: 16px;
}

.social-links {
    display: flex;
    gap: 12px;
    margin-top: 5px;
}

.social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgb(255 255 255 / 0.2);
    border-radius: 50%;
    color: #ffffff;
    transition: 400ms;
}

.social-icon:hover {
    background: #eb8802;
}

.footer-title {
    font-size: 16px;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 20px;
    letter-spacing: 0.03em;
}

.contact-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.contact-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-list .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    flex-shrink: 0;
}

.contact-list .icon svg {
    fill: #fff;
    width: 16px;
    height: 16px;
}

.contact-list .status-open {
    font-weight: 600;
    color: #ffffff;
    margin-top: 5px;
}

.offices-flex-grid {
    display: flex;
    gap: 40px;
}

.office-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.office-list li {
    color: #fff;
    white-space: nowrap;
    font-size: 16px;
}

.footer-bottom {
    margin-top: 60px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 25px 0;
}

.footer-bottom-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    max-width: 1700px;
    margin: 0 auto;
    padding: 0 5rem;
    gap: 15px;
    text-align: center;
}

.copyright {
    margin: 0;
    color: rgb(255 255 255 / 0.6);
}

.privacy-link {
    font-weight: 600;
}

li {
    list-style: none;
}

@media (min-width: 992px) {
    .footer-container {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        gap: 20px;
    }
    .brand-info {
        max-width: 460px;
    }
    .footer-bottom-container {
        flex-direction: row;
        text-align: left;
    }
}

@media (max-width: 768px) {
    .footer-container {
        padding: 0 2rem;
    }
    .brand-info {
        align-items: center;
    }
    .footer-col {
        text-align: center;
    }
    .offices-flex-grid {
        gap: 10px;
        flex-direction: column;
    }
    .site-footer ul {
        text-align: center;
        justify-content: center;
        align-items: center;
    }
    .contact-list .icon {
        display: none;
    }
    .copyright {
        font-size: 12px;
    }
    .footer-bottom {
        margin-top: 30px;
    }
    .footer-bottom-container {
        flex-direction: column-reverse;
        padding: 0 2rem;
    }
}


/*section*/
.strive-form {
	padding: 50px 0;
}
.title-section {
	text-align: center;
	color: var(--color-thernary);
	text-wrap: balance;
	font-family: var(--font-heading);
	font-weight: 700;
    font-size: var(--fs-title);
    margin-bottom: 15px;
    max-width: 900px;
  margin: auto auto 15px;
}
.description-section {
	color: var(--color-thernary);
	margin: 0 auto;
	max-width: 680px;
	text-align: center;
	font-weight: 900;
	font-family: var(--font-heading);
	font-size: 18px;
}

.content-action {
	width: 100%;
	height: auto;
	min-height: 0;
	max-height: none;
	overflow: visible;
	padding: 40px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(255, 255, 255, 0.96);
	border-radius: 28px;
	box-shadow: 0 32px 72px rgba(1, 53, 99, 0.14), 0 12px 32px rgba(31, 172, 248, 0.1), 0 2px 0 rgba(255, 255, 255, 0.9) inset;
	max-width: 800px;
    margin: 30px auto auto;
}
@media (max-width: 600px) {
    .content-action {
        padding: 40px 20px;
    }

}
/*form*/
.country-select-wrapper {
  position: relative;
  width: 100%;
  max-width: 115px;
}

.custom-select {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 55px;
}

.select-button {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 0.675em 1em;
	height: 55px;
	border-radius: 10px;
	background-color: transparent;
	cursor: pointer;
	border: none;

	color: #778084;
	font-family: var(--font-body);
}
.select-button .arrow {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #000;
  transition: transform ease-in-out 0.3s;
}

.custom-select.active .arrow {
  transform: rotate(180deg);
}

.select-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  border: 1px solid #caced1;
  border-radius:10px;
  background-color: white;
  list-style: none;
  padding: 10px;
  margin: 0;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  max-height: 200px;
  overflow-y: auto;
  z-index: 99;

  scrollbar-width: thin;
  scrollbar-color: #023563 #f1f1f1;
}


.select-dropdown.hidden {
  display: none;
}

.select-dropdown::-webkit-scrollbar {
    width: 12px !important;
    height: 12px !important;
}

.select-dropdown::-webkit-scrollbar-track {
    background: #f1f1f1 !important;
    border-radius: 15px !important;
}

.select-dropdown::-webkit-scrollbar-thumb {
    background: #023563 !important;
    border-radius: 15px !important;
}

.select-dropdown::-webkit-scrollbar-thumb:hover {
    background: #01284d !important;
}

.select-dropdown::-webkit-scrollbar-thumb:active {
    background-color: #011d38 !important;
}


.select-dropdown li {
    padding: 10px;
    cursor: pointer;
    font-size: 12px;
}
.select-dropdown li.selected {
  background-color: #f2f2f2;
  border-radius: 4px;
  font-weight: bold;
}

.select-dropdown li:hover,
.select-dropdown li:focus {
  background-color: #f2f2f2;
  border-radius: 4px;
}


.phone-input-group {
	width: 100%;
	height: 55px;
	padding: 0;
	font-size: 16px;
	color: #0E132A;
	border-radius: 50px;
	border: 1px solid rgb(140 204 241 / .9);
	background: #dcf0fb;
	display: flex;
	align-items: center;
}
#countryCode {
	height: 55px;
	background: transparent;
	border: none;
	padding-left: 21px;
}
#phoneNumber {
    width: 100%;
    height: 55px;
    border: none;
    background: transparent;
    padding: 5px 22px;
    border-radius: 50px;
    font-family: var(--font-body);
}
input#phoneNumber:-webkit-autofill {
    border-left: 0!important;
}
#phoneNumber:focus {
	outline: none;
	box-shadow: none;
}
.selected-value {
	font-size: 14px;
}
.submit-btn {
	position: relative;
	overflow: hidden;
	width: 100%;
	min-height: 52px;
	border: 0;
	border-radius: 50px;
	background: linear-gradient(90deg, #f99804, #f18f03, #ffb12f);
	background-size: 200% 100%;
	color: #fff;
	cursor: pointer;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.2;
	text-transform: none;
	box-shadow: 0 16px 34px rgba(249, 152, 4, 0.35);
	transition: transform 220ms ease, box-shadow 220ms ease, opacity 220ms ease;
	margin-bottom: 20px;
	margin-top: 20px;
}

@media (max-width: 600px) {
    .submit-btn {
        font-size: 16px;
    }
}

.last-text {
	text-align: center;
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
	font-weight: 600;
	color: var(--color-secondary);
    font-size: 16px;
}
.policies-form {
	text-align: center;
	color: var(--color-thernary);
    font-size: 13px;
}
.policies-form .privacy-link {
	color: var(--color-secondary);
}
#modal-exit .policies-form .privacy-link:hover {
	color: #fff;
}
#thanks-form {
	flex-direction: column;
	justify-content: center;
	text-align: center;
	color: var(--color-thernary);
}
.icon-form {
	background: var(--color-thernary);
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	padding: 10px;
	margin: auto;
	fill: #fff;
	margin-bottom: 15px;
}
/*Modals*/
#modal-video {
    display: none; 
}
#modal-exit,
#modal-video.is-open,
#modal-video,
#bookingModal,
#privacyPolicyModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #0000007a;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 15px;
    z-index: 2;
    min-width: 100vw;
    min-height: 100vh;
}

.box-video {
    text-align: center;
}

.box-video p, 
.box-video h2 {
    text-wrap: balance;
    max-width: 600px;
    margin: auto;
}


dialog#exampleModalCenter button.close {
    position: absolute;
    background: #ffffffc2;
    width: 25px;
    height: 25px;
    border: none;
    top: 15px;
    right: 15px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.5;
    transition: opacity 400ms;
}

dialog#exampleModalCenter button.close:hover {
    opacity: 1;
}

.content-policy.content-iframe .privacy-modal-body::-webkit-scrollbar,
.privacy-modal-body::-webkit-scrollbar {
    width: 4px !important;
    height: 4px !important;
    margin-left: -6px !important;
}

.content-policy.content-iframe .privacy-modal-body::-webkit-scrollbar-thumb,
.privacy-modal-body::-webkit-scrollbar-thumb {
    background: #023563 !important;
    border-radius: 0 !important;
    margin-left: -6px !important;
}

.content-policy.content-iframe .privacy-modal-body::-webkit-scrollbar-thumb:hover,
.privacy-modal-body::-webkit-scrollbar-thumb:hover {
    background: #023563 !important;
    box-shadow: 0 0 2px 1px #fff0 !important;
}

.content-policy.content-iframe .privacy-modal-body::-webkit-scrollbar-thumb:active,
.privacy-modal-body::-webkit-scrollbar-thumb:active {
    background-color: #023563 !important;
}

.close-video-modal-exit,
.close.close-video-modal-ds,
#closeBookingModal,
#closePrivacyModal {
    position: absolute;
    background: #033c80;
    color: #fff;
    width: 25px;
    height: 25px;
    border: none;
    top: 15px;
    right: 15px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: opacity 400ms;
}
.close-video-modal-exit:hover,
.close.close-video-modal-ds:hover,
#closePrivacyModal:hover,
#closeBookingModal:hover {
    opacity: 0.8;
}


.content-policy {
    background: #fff;
    color: #033c80;
    display: flex;
    flex-direction: column;
    padding: 30px;
    border-radius: 25px;
    max-width: 900px;
    position: relative;
}
.modal-dialog-inner {
    background: radial-gradient(circle at 50% 50%, #033c80 0%, #000b1b 100%);
    position: relative;
    padding: 20px 0;
    border-radius: 25px;
    max-width: 850px;
    margin: auto;
    text-align: center;
    color: #fff;
    padding: 30px;
    width: 90vw;
}
#modal-exit .last-text {
	color: #fff;
}
#modal-exit .policies-form {
	color: #fff;
	font-size: 14px;
}
/* .modal-dialog-inner {
    margin: auto;
    transform: translateY(-50%);
    top: 50%;
}
 */
.content-iframe {
    min-width: 700px;
    min-height: 90vh;
}

#privacy-title {
    margin-bottom: 20px;
}

.privacy-modal-body {
    max-height: 70vh;
    overflow-y: auto;
}

.content-policies {
    line-height: 27px;
    overflow-x: hidden;
}

.content-iframe .privacy-modal-body {
    margin-top: 15px;
    max-height: 80vh;
}

.content-policy.content-iframe iframe {
    width: 100%;
    min-height: 100vh;
    margin-top: -210px;
}

.content-policies * {
    word-wrap: anywhere;
}

/* Media Queries */
@media (max-width: 992px) {
    .content-iframe {
        min-width: 90vw;
    }
    .content-policy {
        max-width: 90vw;
    }
    #booking-title {
        font-size: 1.2rem;
    }
    .content-policy.content-iframe iframe {
        margin-top: -140px;
    }
}

@media (max-width: 768px) {
    .privacy-modal-body,
    #privacy-title {
        text-align: center;
    }
}


#modal-video iframe {
	height: 300px;
	width: 100%;
	background: #f9f9f9;
	margin-top: 15px;
	border-radius: 20px;
	overflow: hidden;
}


/*animate*/
.content-arrow-track {
	height: 60px;
	position: relative;
	margin-top: 35px;
	margin-bottom: -15px;
}
.content-arrow-track .arrow {
	opacity: 0;
	position: absolute;
	left: 50%;
	top: 0%;
	transform-origin: -50% -50%;
	transform: translate3d(50%, 50%, 0)
}

.content-arrow-track .arrow-first {
	animation: arrow-movement 2s ease-in-out infinite
}

.content-arrow-track .arrow-second {
	animation: arrow-movement 2s 1s ease-in-out infinite
}

.content-arrow-track .arrow:before,
.content-arrow-track .arrow:after {
	background: #f18f03 !important;
	content: "";
	display: block;
	height: 5px;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;

/* 	margin-left: -12px; */
}
.content-arrow-track .arrow:before {
	transform: rotate(45deg) translateX(-23%);
	transform-origin: top left;
	left: 3px
}

.content-arrow-track .arrow:after {
	transform: rotate(-45deg) translateX(23%);
	transform-origin: top right;
	left: -2px
}

.content-arrow-track  .section-arrow {
	flex-direction: column;
	width: 500px;
	margin: 25px 0 0;
	max-width: 100vw;
	padding-right: 20px
}

@keyframes arrow-movement {
	0% {
		opacity: 0;
		top: 0%
	}

	30% {
		opacity: 1
	}

	50% {
		opacity: 1;
		top: 30%
	}

	70% {
		opacity: 1
	}

	100% {
		opacity: 0;
		top: 55%
	}
}
@media (max-width: 480px) {
    .content-arrow-track .arrow {
        left: 47%;
        
    }

}
