/*
Theme Name: Schoolcms
Author: Innermedia
Author URI: https://www.innermedia.co.uk
Description: 
Version: 5.1.0

*/
:root {
	--body_colour : #2B2A6D;
	--title_colour : #2B2A6D;
	--link_colour : #2B2A6D;
	--link_colour_hover : #0089B1;
	--button_bg: transparent;
	--button_colour: #2B2A6D;
	--button_bg_hover: #2B2A6D;
	--button_colour_hover: #ffffff;


	--white: #ffffff;
	--black: #000000;
	--gray: #F0F2F6;
	--lightgray: #D9D9D9;
	--blue: #2B2A6D;
	--yellow: #FFD500;
	--cyan: #0089B1;
	--red: #e62a30;
	--mehroon: #B0182B;


}

/*Content Wrapper*/


.well {
	padding:10px 15px;
	background:#eaeaea;
	border:solid 1px #ddd;
	margin:20px 0;
}
.owl-dots span {
	width:10px;
	height:10px;
	display:inline-block;
	background: var(--gray);
	border-radius:50%;
}
.owl-nav {
	position:relative;
}
.owl-nav button {
	width: 100px;
	height: 100px;
	background: var(--lightgray) !important;
	border-radius: 50%;
	display: inline-block;
	margin: 0px 10px;
	position: relative;
}
.owl-nav button i {
	display: none;
}

.owl-nav button:before {
	content: '';
	width: 50px;
	height: 15px;

	background-color: var(--blue);

	-webkit-mask-image: url("images/owl-nav.png");
	mask-image: url("images/owl-nav.png");
	transform: translate(-50%, -50%);
	position: absolute;
	left: 50%;
	top: 50%;

	font-size: 0;

}
.owl-nav button.owl-prev:before {
	transform: rotate(180deg) translate(50%, 50%);
}

.owl-nav button:hover {
	background: var(--blue) !important;
}
.owl-nav button:hover:before {
	background-color: var(--white);
}

/*.owl-nav .owl-prev{
	position:absolute;
	left:0;
	top:0;
}
.owl-nav .owl-next{
	position:absolute;
	right:0;
	top:0
}*/
.owl-dots {
	padding-left:10px;
	padding-right:10px;
	text-align:center;
}
.owl-dots .owl-dot {
	display:inline-block;
	margin:0 2px;
	opacity:1;
}
.owl-dots .owl-dot.active {
	opacity:1;
}

.owl-dots .owl-dot.active span {
	background: var(--cyan);
}

.breadcrumbs {
	font-size:0.875rem;
	padding-bottom:1.25rem;
	position:relative;
	border-bottom:solid 1px #d7d9d9;
	margin-bottom:1.25rem;
}
.searchform label{
	display:none;
}
.searchform {
	padding-right:40px;
	padding-left:0px;
	position:relative;
	overflow:hidden;
	font-size:14px;
}
.searchform input.searchInput {
	border: 0;
	height:30px;
	width:100%;
	background:transparent;
	padding: 4px 10px;
    outline: 0;
}
.searchform .searchSubmit{
    background: transparent;
    border: 0;
    text-transform: uppercase;
    padding: 0;
    font-size: 16px;
	position:absolute;
	background-repeat:no-repeat;
	background-position:center;
	right:5px;
	top:0px;
	width:30px;
	height: 28px;
    outline: 0;
}

.body-text iframe{
	max-width:100%;
}

/*news*/
.list-item{
    overflow: hidden;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ddd;
}
.list-item-image{
	text-align:center;
}
.list-item-image a{
	display:block;
	padding-top:10px;
}
.list-item-image img{
	width:100%;
	height:auto;
	aspect-ratio:1/1;
	object-fit:cover;
}
/* The crest stand-in is taller than square; cover would clip its point. */
.list-item-image img.list-item-crest{
	object-fit:contain;
	padding:15%;
}
.list-item-text{

}
.list-item-text p.date{
	font-size:0.8em;
	margin:0;
}

.postThumb {
	margin-bottom:20px;
	text-align:center;
}

/*------------------------------------*\
    Header
\*------------------------------------*/
header.mainHeader {
	height:0px;
	position:relative;
}
.headGroup {
	color: var(--white);
	background: transparent;
	transition:300ms;
	padding-top:32px;
	padding-bottom:0px;
	z-index:220;
	position:fixed;
	width:100%;
	top:0;
	left:0;
}
.fixedHeader:not(.menuopen) .headGroup{
	height:0;
}





.header-right {
}


.fixedHeader .headGroup, .menuopen .headGroup {
	background: transparent;
}


.headGroup .container {
	max-width: 100%;
}
.head-links {
	display: inline-block;
	vertical-align: middle;
	margin-top:5px;
	margin-bottom:5px;
	margin-left:-8px;
	margin-right:-8px;
}
.head-links .head-link {
	color: var(--white);
	margin: 5px 8px;
	position: relative;
	font-weight: 400;
    display: inline-block;

	text-transform: inherit;

	font-size: 22px;
	line-height: 1.227;

}
.head-links .head-link:hover {
	color: var(--yellow); 
}

.fixedHeader .headGroup .head-links {
	display: none;
}
.menuopen.fixedHeader .headGroup .head-links {
	display: inline-block;
}
.menuopen .head-links .head-link {
	color: var(--white);
}
.head-links .head-link:hover {
	color: var(--yellow); 
}
.menuopen .head-links .head-link:hover {
	color: var(--yellow); 
}


.header-right {
	text-align: right;
}

.header-left {
}

.mainLogo {
}

@media (min-width:992px){
	.mainLogo {
	}
}
.fixedHeader .mainLogo {
	display: none;
}

.menuopen.fixedHeader .mainLogo {
	display: inline-block;
}
.menuopen.fixedHeader .headGroup {
	position: fixed;
}

.header-left {
	padding-top: 40px;
}



/* Language switcher hidden - the site is English-only for now (Feedbucket #941952).
   Remove the display rule when the FR translation goes live. */
.head-lang {
	display: none;
}

.head-lang a {	
	font-size: 22px;
	line-height: 1.227;
	color: var(--white);
	text-transform: uppercase;
	font-weight: 700;
	margin: 0px 23px;
}

.head-lang a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 9px;
}

.head-lang a:first-child {	
	margin-left: 0;
}
.head-lang a:last-child {	
	margin-right: 0;
}





.socialDesktop {
	justify-content: end;
    display: flex;
}/*------------------------------------*\ 
    Navigation
\*------------------------------------*/

.menu-toggle{
    position:relative;
	display: inline-block;
	cursor: pointer;
	height: 97px;
	width: 97px;
    color: var(--white);
	background-color: var(--lightgray);
	vertical-align: middle;
	border-radius: 50%;
	
}

.menu-toggle:hover {
	background-color: var(--yellow);
}

.menu-toggle .toggleText{
	display:none;
	vertical-align:middle;
	font-size:14px;
}
.menu-toggle .toggleIcon {
	position:absolute;
	width:32px;
	height:16px;
	right:50%;
	top:50%;
	transform: translate(50%, -50%);
	transition:300ms;
}
@media (min-width:992px){
	.menu-toggle .toggleText{
		display:inline-block;
	}
}
.menu-toggle .toggleIcon span:before,
.menu-toggle .toggleIcon span:after {
	content:'';
}
.menu-toggle .toggleIcon span,
.menu-toggle .toggleIcon span:before,
.menu-toggle .toggleIcon span:after {
    width: 32px;
    height: 2px;
    background-color: var(--white);
    display: block;
    transition:all 300ms;
	position:absolute;
}

.menu-toggle:hover .toggleIcon span,
.menu-toggle:hover .toggleIcon span:before,
.menu-toggle:hover .toggleIcon span:after{
    background-color: var(--white);
}
.menu-toggle .toggleIcon span {
	top:50%;
	right:0px;
	margin-top:-2px;	
}
.menu-toggle .toggleIcon span:before {
    top: -8px;
}
.menu-toggle .toggleIcon span:after {
    top: 8px;
	right:0px;
}
body.menuopen .menu-toggle .toggleIcon span {
    background-color: transparent!important;
}
body.menuopen .menu-toggle .toggleIcon span:before {
    transform: rotate(135deg);
    top: 0px;
}
body.menuopen .menu-toggle .toggleIcon span:after {
    transform: rotate(-135deg);
    top: 0px;
	width: 100%;
}
#navbar{
	position: fixed;
	right: 0;
	transition: transform 500ms;
	background-color: #fff;
	z-index: 219;
	top: 119px;
	bottom:0;
	width: 480px;
	max-width:100%;
	transform:translateX(100%);
	border-left:1px solid #676767;
	display:flex;
	flex-direction:column;
}

#navbar .menu-main-container{
	padding:20px 20px;	
	overflow-x: hidden;	
}
#navbar .navbarExtra {
	padding:10px 20px;
}
body.menuopen .headGroup{ 
	border-bottom-color:#676767;	
}
body.menuopen  #navbar{
	transform:translateX(0%);
	z-index: 219;
}
#menu-main{
	margin-bottom:30px;
	margin-top:20px;
	clear:both;
}
#menu-main li{
	position:relative;
}	
#menu-main li a{
	display: block;
	text-decoration:none;
	line-height:1.35;
	position:relative;
	border-bottom:solid 1px #676767;
	padding:10px 10px;
}
#menu-main li a:hover{
	text-decoration:none;
	color:#000;
}
#menu-main .sub-menu {
	padding-left:40px;
	position:relative;
	display:none;
	border-bottom:solid 1px #676767;
}
#menu-main .sub-menu li:last-child > a{		
	border-bottom:none;
}
#menu-main li.open > .sub-menu {
	display:block;
}
#menu-main li.menu-item-has-children > a {
	padding-right:35px;
}	
#menu-main li.menu-item-has-children > .arrow {
	position:absolute;
	right:0;
	top:5px;
	width:30px;
	height:30px;
}	
#menu-main li.menu-item-has-children > .arrow:after{
	position:absolute;
	content: '\f054';
	display: block;
	width: 11px;
	height: 25px;
    left: 10px;
    top: 3px;
	font-weight: 700;
	font-family: "Font Awesome 6 Free";
	transform: rotate(0deg);
	transition: 300ms;
}
#menu-main li.open.menu-item-has-children > .arrow:after{
	transform:rotate(90deg);
}

/*------------------------------------*\ 
    Banner
\*------------------------------------*/
#pageBanner,
.bannerWrap {
	position: relative;
	overflow:hidden;
	min-height:340px;
	max-height:700px;
}
#homeBanner {	
	position: relative;
	overflow:hidden;
	min-height:638px;
	max-height:100vh;
}
#pageBanner:before,
.bannerWrap:before {
	content:'';
	display:block;
	width:100%;
	padding-top:44.897%;
}
#homeBanner:before {
	content:'';
	display:block;
	padding-top:56.08%;
}
@media(min-width:768px){
	#homeBanner {
	}
	#homeBanner:before {
		content:'';
		display:block;
		padding-top:867.08%;
	}
}

/*------------------------------------*\ 
    FOOTER
\*------------------------------------*/

#footer{
}
#menu-useful {
	list-style:none;
	padding:0;
}
.footerLower {
	background:#000;
	color:#dddedf;
	--link_colour:#dddedf;
	padding:20px 0;
	font-size:14px;
	text-align:center;
}
.footerLower p,
.footerLower ul{
	margin:10px 0;
}
.footerLower a{
	text-decoration:none;
}
.footerInfo {
	text-align:center;
	line-height:1.87;
	margin-bottom:20px;
}
.footerInfo h3{
	font-size:1.5em;
	margin:30px 0 20px;
}
.footerInfo a:before {
	content: "";
    display: inline-block;
    vertical-align: middle;
    width: 0px;
    height: 1px;
    background-color: #000;
    transition: all 300ms;
    margin-right: 0px;
}
.footerInfo a:hover:before {
    width: 5px;
    margin-right: 5px;
}
.footer-links{
	margin:0;
	list-style:none;
	padding:0;
	margin-bottom:15px;
}
.footer-links li{
	display: inline;
}
.footer-links li:after{
	content:" | ";
	margin: 0 1px 0 1px;
	display: inline;
}
.footer-links li:last-child:after{
	content:"";
}
.footer-links li a{
	display: inline;
	white-space:nowrap;
}
@media (min-width:768px){
	.footerLower {
		text-align:initial;
		padding:50px 0;
	}
}
@media (min-width:1200px){
	.footerInfo {
		margin-bottom:70px;
	}
}

/*------------------------------------*\
    Dynamic Content
\*------------------------------------*/

.dynamicContent {
	margin-top:30px;
	margin-bottom:00px;
}
@media (min-width:992px){
	.dynamicContent {
		margin-top:50px;
		margin-bottom:00px;
	}
}
/*******Dividers******/
.dividera{
	clear: both;
    width: 100%;
    height: 100px;
   position:relative;
}
.dividera:before{
	content:'';
	width:90%;
	height:1px;
	border-bottom:solid 1px #ccc;
	position:absolute;
	top:50%;
	left:5%;
}

.dividera:after{
	content:'';
	display:block;
	 background-image: url(images/icon.png);
    background-position: center center;
	background-size:contain;
	height:76px;
	width:76px;
	top:50%;
	left:50%;
	margin-top:-38px;
	margin-left:-38px;
    background-repeat: no-repeat;
	position:absolute;
	background-color:#fff;
}
.dividerb{
    clear: both;
    width: 100%;
    height: 130px;
    background-image: url(images/icon.png);
    background-position: center center;
    background-repeat: no-repeat;
	background-size:90px;
}



/*******FAQS*****/
.dynamic-faq {
	margin: 50px 0 0;
}

.dynamic-faq .sectionTitle {
	text-align: left;
}


.faqs {
}
.faqs .faq {
	margin-bottom: 24px;
}

.faq-question {
	position:relative;
	margin:0;
	padding: 30px 50px 30px 24px;
	cursor:pointer;
	font-size: 22px;
	line-height: 1;
	letter-spacing: 0px;
	font-weight: 300;
	display: block;
	text-transform: uppercase;
	background: transparent;
	color: var(--blue);
	border: 1px solid var(--blue);
	border-radius: 0px;
}


.faq.open .faq-question {
	background: var(--blue);
	color: var(--white);
	border-color: var(--blue);
	border-radius: 0px;
}
.faq-question:hover {
	background: var(--blue);
	color: var(--white);
	border-color: var(--blue);
}
.faq-question:after {
    display: block;
    width: 43px;
    height: 15px;
	line-height: 15px;
    text-align: center;
    position: absolute;
    right: 10px;
    top: 32px;
    transform: rotate(90deg);
    transition: 300ms;
    content: '';
	font-size: 0px;

	background-color: currentColor;
	mask-image:url('images/owl-nav.png');
	mask-position:right center;
	mask-repeat:no-repeat;
	mask-size: cover;
	margin: 0 !important;
}
.faq.open .faq-question:after {
    transform: rotate(-90deg);
}

.faq:hover .faq-question:after {
}

.faqs .faq:last-child .faq-answer {
}
.faqs .faq.open:last-child .faq-answer {
}


.bodyContent .faq-answer {
    display: none;
    padding: 0px;
	border-top: none;
    margin-bottom: 0px;
	background: var(--blue);
	color: var(--white);
	--title_colour: var(--white);
	--body_colour: var(--white);
	--link_colour: var(--white);	
	--button_bg : var(--white);
	--button_colour : var(--blue);
	--button_bg_hover : var(--cyan);
	--button_colour_hover : var(--white);
}


.bodyContent .faq-answer .col-md {
    padding: 44px 72px 50px 72px;
}


.bodyContent .faqs .faq:last-child .faq-answer {
}
.bodyContent .faqs .faq.open:last-child .faq-answer {
}

.bodyContent .faq-answer > h3, .faq-answer > h2 {
    margin-top: 0px;
}

.bodyContent .faq-answer h3, .faq-answer h2 {
    margin-top: 0px;
	margin-bottom: 10px;
}


/******Staff********/
.staffMember {
	padding-bottom:15px;
	margin-bottom:20px;
	border-bottom:solid 1px #eee;
}
.staff-meta {
	margin-bottom:5px;
}
.staff-meta .meta-label {
	font-weight:700;
}
.staff-meta.featured-staff-metas .staff-meta > *{
	display:inline-block;
}
.staff-meta.featured-staff-metas .staff-meta .meta-label {
	margin-right: 8px;
}
.staffContent .staff-back {
	min-width: 0;
	padding: 8px 28px;
	font-size: 18px;
	margin-top: 32px;
}
.staff-photo {
	text-align: left;
	margin-bottom: 32px;
}
.staff-photo img {
	width: 100%;
	max-width: 420px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.staff-meta a.email-value{
	font-size: 0;
    color: transparent;
	display: inline-block;
    vertical-align: middle;
}
.staff-meta a.email-value:before {
    content: "send";
    font-size: 12px;
    padding: 5px 10px;
    color: #000;
    display: block;
    text-align: center;
    background-color: #eee;
    border-radius: 5px;
    text-transform: uppercase;
    pointer-events: none;
	transition:300ms;
}
.staff-meta a.email-value:hover:before{
	background-color:#ccc;
}
/*****Quotes******/
.quoteContainer .quotesTitle{ 
	margin:10px 0 0;
	text-align:center;
	padding:0 15px;
}
.quoteContainer {
	background:#e0e0e0;	
	color:#000;
	padding-top:1.5em;
	padding-bottom:1.5em;
}
.quoteContainer .cycle-pager {
	width:100%;
	margin:0;
	padding:0 15px;
	text-align:center;
}
.quoteContainer .cycle-pager span{
	cursor:pointer;
	display:inline-block;
	margin:0 2px;
	width:15px;
	text-align:center;
	opacity:0.8;
	font-size:20px;
}
.quoteContainer .cycle-pager span.cycle-pager-active{
	opacity:1;
}
.quoteContainer blockquote.quote-text{
	padding-top:1em;
	padding-bottom:0.1em;
	margin-bottom:0;
	
}
.quoteContainer .quote-cite{
	font-weight:300;
	display: block;
	font-size: 24px;
	line-height: 1.125;
	font-family: "clother",sans-serif;
	font-style: normal;
	color: var(--blue);
}
/****Documents******/
a.button.document-link {
	padding-right:50px;
	width:100%;
}
a.button.document-link:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f56d";
	display:block;
	position:absolute;
	top:50%;	
    right: 10px;
    transform: translateY(-50%);
}

/*Callout*/
.callout {
	display:block;
	position:relative;
	transition:300ms;
	color: #fff;
	--body_colour: #fff;
	--title_colour: #fff;
    background: var(--cyan);
	font-size:24px;
	overflow:hidden;
}
.callout .calloutContent {
	position:relative;
	text-align:center;
}
.callout .calloutTitle {
	font-size:1em;
	margin:0.5em 0;
}





.callout.hasbg .coimg {
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}
.callout.hasbg .coimg:after {
	content: '';
    display: block;
    width: 100%;
    bottom: 0;
    position: absolute;
    left: 0;
    height: 100%;
    background: rgba(0,0,0,0.45);
}
.callout .coimg img{
	width:100%;
	height:100%;
	object-fit:cover;
	position:absolute;	
}

.callout.hasbg .calloutContent {
	padding-bottom:117px;
	padding-top:117px;
}
.callout.hastext .calloutContent {
	padding-bottom:117px;
	padding-top:117px;
}

/***POIS****/
.row.pois {
    --bs-gutter-y: 1.5rem;
}

.poi {
	position: relative;
	display: block;
	transition:all 300ms;
    overflow: hidden;
	background:#676767;
	color:#fff;
	margin-bottom:30px;
}
.poi:hover  {
	color:#fff;
	text-decoration:none;
}
.poiImage .poiImageBG {
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	transition:300ms;
	opacity:1;
}

.poiImage .poiImageBG:after {
	content:'';
	display:block;
	width:100%;
	bottom:0;
	position:absolute;
	left:0;
	height:65%;
	background: linear-gradient(359.93deg, rgba(0, 0, 0, 0.64) 30.81%, rgba(0, 0, 0, 0) 64.58%);
}
.poiImage .poiImageBG img{
	width:100%;
	height:100%;
	object-fit:cover;
	position:absolute;	
}


.poiImage {
	background:inherit;
}
.poi:hover .poiImage .poiImageBG {

}
.poiImage:before {
	content:'';
	display:block;
	width:100%;
	padding-top:100%;
}
.textOnlyBlock .poiText {
	position:relative;
	padding:25px 15px;
}
.poi .poiTitle {	
	display:inline-block;
	line-height:1.3;
	text-align:left;

}
.poi .textOnlyBlock{
	
}
.poi .poiTitle {
	display:block;
	font-size: 64px;
	font-size: 42px;
	font-weight: 700;
	position:relative;
	padding: 0px 32px;
	text-transform: inherit;
	font-family: "the-seasons",sans-serif;
}

.poi .textOnlyBlock .poiTitle{
	margin: 0px 0 18px;
	font-size: 48px;
	line-height: 1;
}
.textOnlyBlock {
	padding: 88px 55px;
	transition:300ms;
}

.textOnlyBlock .poiText {
	display:block;	
	text-align:center;
	padding: 0;
}

.poi:hover .textOnlyBlock {
	background-color:rgba(0,0,0,0.2);
	color:#fff;
	text-decoration:none;
}

.poiImage .poiText {
	padding:0px;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;	
	bottom:50px;
	text-align: left;
	width:100%;
	transition:300ms;
}
.poiImage .poiText {
}
.poiImage .poiText .poiEx {
	max-height:0;
	overflow:hidden;
	font-size:18px;
	transition:300ms;
}
.poi:hover .poiImage .poiText {
	bottom: 50px;
}
.poi:hover .poiImage .poiImageBG {
	opacity:1;
}

.bodyContent .poi:hover .poiImage .poiImageBG {
	opacity: 0.5;
}



.poi:hover .poiImage .poiEx {
	max-height:460px;	
}
.pois.homePOIs .col-xs-6 {
	padding-left:15px;
	padding-right:15px;
}

/*------------------------------------*\
    HOME DYNAMIC
\*------------------------------------*/
.welcomeBlock {
	margin-bottom:40px;
}
/*------------------------------------*\
    END DYNAMIC CONTENT
\*------------------------------------*/

/*------------------------------------*\
    Sidebar
\*------------------------------------*/
.sidebar {
	margin-top:0px;
}
#menu-side li{
	position:relative;
	margin:5px 0;
}
#menu-side a {
	display:inline-block;
	text-decoration:none;
	padding:0.5rem 1rem;
}
#menu-side a:hover {
	text-decoration:none;
}
/*Top level item*/
#menu-side > li > .sub-menu{
	margin:10px 0;
}
/*main Sub menu items*/
#menu-side .sub-menu li.current-menu-ancestor a,
#menu-side .sub-menu li.current-menu-item a{	
}
#menu-side .sub-menu li.current-menu-item > a{
	
}
#menu-side .sub-menu li.menu-item-has-children > .arrow {
	display:block;
	width:45px;
	height:45px;
	position:absolute;
	top:0;
	right:0;
}
#menu-side .sub-menu li.menu-item-has-children > .arrow:before {
	position:absolute;
	content: '\f054';
	display: block;
	width: 11px;
	height: 27px;
	position: absolute;
	left: 12px;
	top: 10px;
	font-weight: 700;
	font-family: "Font Awesome 6 Free";
	transform: rotate(0deg);
	transition: 300ms;
}

#menu-side .sub-menu li.menu-item-has-children.open > .arrow:before {
	transform:rotate(90deg);
}
#menu-side .sub-menu li a:hover{
	color:#676767;
}
#menu-side .sub-menu .sub-menu {
	background:rgba(0,0,0,0.1);
	padding-bottom:10px;
	display:none;
}
#menu-side .sub-menu .sub-menu li{
	margin:0;
}
#menu-side .sub-menu li.open > .sub-menu {
	display:block;
}
@media (max-width:991.99px){
	.side-menu-container {
		display:none;
	}
}

/*Blog sidebar*/
#blognav ul {
	list-style:none;
}
.sidebarSec {	
    padding:0px 15px 15px;
	margin:0 auto 10px;
}
@media (min-width:1200px){

}
/*Animation*/


.hideme {
	opacity:0;
	top:30px;
	position:relative;
	transition:500ms;
}
.hideme.active {
	opacity:1;
	top:0;
}




/*Search Toggle Css    ----------------------  START  ------------------------------ */
.headerSearch form.openSearch {
	padding-right : 12px;
	top : 0px;
	z-index: 9;
}

.searchform.openSearch {
	overflow: visible;
}

.headerSearch form.openSearch .searchSubmit {
	top : 0px;
	left: auto;
}

.searchToggle .searchform input.s {
	display: none;
}

.searchToggle .searchform.openSearch input.s {
	display: block;
}

.searchToggle .headerSearch .searchform input.s {
	position: absolute;
	right: 0;
	bottom: 0;
}

.searchToggle {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	width: 21px;
	height: auto;
	min-height: 22px;
	margin-left: 45px;
	margin-top:10px;
	margin-bottom:10px
}
.fixedHeader .searchToggle {
	display: none;
}
.menuopen .searchToggle, .menuopen.fixedHeader .searchToggle {
	display: inline-block;
}




.searchToggle .search-form-holder {
	position: absolute;
	right: 0;
	top: 0px;
	transform: none;
	z-index: 11;
}

.searchToggle .searchform {
	width: 21px;
	transition: 500ms;
	position: absolute;
	right : 0;
	top : -1px;
	padding-right : 0px;
	height: 22px;
	z-index: -1;
}

.searchToggle .searchform input.s {
	/*transition:300ms;*/
	background: transparent;
}

.searchToggle .searchform.openSearch {
	top : -1px;
}

.searchToggle .searchform.openSearch input.s {
}

.searchform.openSearch {
	width: 210px;
	height: 66px;
}

.searchToggle .searchform.openSearch input.s:focus {
	outline: none;
	border: none;
	box-shadow: none;
}

.searchToggle .searchform.openSearch input.s {
	background: var(--cyan);
	color: var(--white);
	border: none;
	width: 100%;
	padding: 2px 10px;
	height: 42px;
	font-size: 12px;
	letter-spacing: 0.8px;
}
.headerSearch .searchSubmit {
	width: 21px;
	height: 22px;

	background-color: var(--white);

	-webkit-mask-image: url("images/search-icon.png");
	mask-image: url("images/search-icon.png");

	font-size: 0;
	top: 0px;
}
.menuopen .headGroup .searchSubmit:hover, .headerSearch .searchSubmit:hover {
	background-color: var(--yellow);
}



.searchform .searchSubmit {
	right: 0;
}
.headGroup .searchInput.s::-ms-input-placeholder { /* Edge 12-18 */
	color: var(--white) !important;
	opacity: 1 !important;
}

.headGroup .searchInput.s::placeholder {
	color: var(--white) !important;
	opacity: 1 !important;
}


/*Search Toggle Css    ---------------------------  END  ----------------------------------- */


.fed-for-mb {
	display: inline-block;
	margin-right: 61px;
}
.fixedHeader:not(.menuopen) .header-center,
.fixedHeader:not(.menuopen)  .header-left,
.fixedHeader:not(.menuopen)  .fed-for-mb {
	display: none;
}

.homeBanner .slideText {
	position: absolute;
	left: 0;
	bottom: 155px;
	width: 100%;
	text-align: center;
	z-index: 111;
	font-size: 50px;
	line-height: 1.2;
	color: var(--dimewhite);
}

.homeBanner .slideText span {
	display: block;
	font-size: 80px;
	margin-bottom: 15px;
	font-weight: 700;
}


.container {
	max-width: 1198px;
}




.page-banner .hero .slide:before {
	content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
	z-index: 1;
	background: rgba(0,0,0,0.3);
	opacity: 1;
}



.welcomeBlock {
	padding: 276px 0 228px;
	position: relative;
}
.welcomeBlock:after {
	content: '';
	width: 100%;
	height: 100%;
	max-width: 821px;
	max-height: 1153px;

	background-color: var(--cyan);

	-webkit-mask-image: url("images/welcome-v-mask.png");
	mask-image: url("images/welcome-v-mask.png");
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}
.welcomeImage  {
	position: relative;
}
.welcomeImage:before  {
	content: '';
	width: 100%;
	height: 100%;
	max-width: 236px;
	max-height: 646px;

	background-color: var(--yellow);

	-webkit-mask-image: url("images/image-bg.png");
	mask-image: url("images/image-bg.png");
	mask-repeat: no-repeat;
	mask-size: cover;
	display: block;
	position: absolute;
	left: -77px;
	bottom: -23px;
	z-index: -1;
}



.welcomeBlock .container {	
}

.welcomeBlockText {
	padding-left: 50px;
}
.welcomeBlockText h1 {
	line-height: 1;
	margin-bottom: 16px;
}
/* "Welcome to Verbier" + the page content's "International School" h3 read as
   one heading: same face, weight, size and line pitch as the h1, so the gap
   between them is closed up (Feedbucket #1002088, replacing the 32px step-down
   of #941953). "Verbier" in the title is wrapped in .title-accent by
   front-page.php and takes the brand red. At 96px "International" is 28px wider
   than this column; from 1200px up that runs into the empty offset column,
   clear of the image. */
.welcomeBlockText h1:has(+ h3) {
	margin-bottom: 0;
}
.welcomeBlockText h3 {
	font-size: 96px;
	line-height: 1;
	margin-bottom: 48px;
	font-weight: 700;
	font-family: "the-seasons",sans-serif;
}
.welcomeBlockText .title-accent {
	color: var(--red);
}
/* Between 992 and 1199px the column is 434-537px wide, so the title and the
   school name scale down together to keep "International" off the image. */
@media (min-width: 992px) and (max-width: 1199.98px) {
	.welcomeBlockText h1,
	.welcomeBlockText h3 {
		font-size: 7.2vw;
	}
}
.welcomeImage img {
	max-width: 100%;
	height: auto;
}
.welcome-btn-bar {
	margin-top: 48px;
}

.banner_bottom_whole_content {
	margin: 0px auto;
	margin-top: -200px;
	position: relative;
	z-index: 111;
	margin-bottom: 342px;
	text-align: center;
	padding-top:150px;
	background: #ffffff;
	background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 140px, rgba(255, 255, 255, 1) 100%);
}

.banner_bottom_whole_content {

}

.banner_bottom_whole_content .banner_bottom_text {
	font-family: "clother",sans-serif;
	font-size: 24px;
	line-height: 1.125;
	max-width: 946px;
	margin: 0px auto 30px;
}

.banner_bottom_whole_content .banner_bottom_title {
	font-size: 96px;
	line-height: 1.146;
	margin-bottom: 50px;
	font-family: "the-seasons",sans-serif;
}




.dynamic-callout {
	margin-top: 0;
}


.calloutIcon {
	position: absolute;
	bottom: -41px;
	z-index: 111;
}
.calloutIcon.icon-right {
	right: 7%;
}


.calloutIcon.icon-left {
	left: 15%;
}

.calloutIcon a {
	display: block;
	transition: transform .5s ease;
}
.calloutIcon a:hover {
	display: block;
	transform: scale(1.1) rotate(3deg);
}

/* Callout video reveal: pure slide from below the block — no fade. The
   delayed visibility flip keeps it hidden while closed even on callout
   styles with overflow: visible. */
.calloutVideo {
	position: absolute;
	bottom: 12%;
	left: 50%;
	width: min(66%, 1120px);
	aspect-ratio: 16 / 9;
	background: #000;
	z-index: 110;
	transform: translate(-50%, 160%);
	visibility: hidden;
	transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 1s;
}
.callout.videoopen .calloutVideo {
	transform: translate(-50%, 0);
	visibility: visible;
	transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}
.calloutVideo iframe,
.calloutVideo video {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}
.calloutVideoClose {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--white);
	cursor: pointer;
	z-index: 2;
	font-size: 26px;
	line-height: 1;
}
.calloutVideoClose:before {
	content: '\f00d';
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
}
.calloutVideoClose:hover {
	color: var(--yellow);
}
@media (max-width: 991px){
	.calloutVideo {
		width: 92%;
	}
}

.dynamic-callout .st-style1.callout {
	min-height: 1240px;
	overflow: visible;
	background: transparent;
}
.dynamic-callout .st-style1.callout .coimg{
	top: 181px;
}
.dynamic-callout .st-style1.callout .coimg:after {
	content: '';
	height: 791px;
	width: 100%;
	background: linear-gradient(179.93deg, #F0F2F6 30.81%, rgba(240, 242, 246, 0) 64.58%);
	position: absolute;
	top: -237px;
	left: 0;
	bottom: auto;
	display: block;
}

.dynamic-callout .st-style1.callout .calloutContent {
    padding-bottom: 75px;
	max-width: 880px;
    padding-top: 372px;
}


.dynamic-callout .st-style1.callout .calloutTitle h3 {
	font-size: 96px;
	line-height: 1;
	margin-bottom: 24px;
	color: var(--white);
}
.dynamic-callout .st-style1.callout .calloutSubtitle {
	color: var(--white);
	margin-bottom: 16px;
}
.dynamic-callout .st-style1.callout .calloutText {
	color: var(--white);
	max-width: 640px;
	margin: 0 auto 40px;
}

.homeContent .dynamic-callout .callout .button {
	background: var(--white);
	color: var(--blue);
}
.homeContent .dynamic-callout .callout .button:hover {
	background: var(--blue);
	color: var(--white);
}

.homeContent .dynamic-poi {
	position: relative;
	padding: 233px 0 168px;
	margin: 0;
}

.homeContent .dynamic-poi:before {
	background: linear-gradient(359.93deg, #F0F2F6 30.81%, rgba(240, 242, 246, 0) 64.58%);
	content: '';
	height: 791px;
	width: 100%;
	position: absolute;
	bottom: 0px;
	left: 0;
	display: block;
}

.homeContent .dynamic-poi .container {
	max-width: 1100px;
}



.homeContent .dynamic-poi .poi_carousel_section .poi_item {
	width : 563px;
}


.homeContent .dynamic-poi .poi_carousel_section .poi_item {
	padding-left: 87px;
	position: relative;
	padding-bottom: 23px;
}
.bodyContent .dynamic-poi .pois .col-lg-4, .bodyContent .dynamic-poi .pois .col {
	padding-left: 87px;
	position: relative;
	padding-bottom: 0px;
}


.bodyContent .dynamic-poi .poi_without_image .poi .poiTitle {
	text-align: center !important;
}


.bodyContent .dynamic-poi .pois .col-lg-4.poi_without_image, .bodyContent .dynamic-poi .pois .col.poi_without_image {
	padding-left: calc(var(--bs-gutter-x) * .5);
}



.homeContent .dynamic-poi .poi_carousel_section .poi_item:before, .bodyContent .dynamic-poi .pois .col-lg-4:before, .bodyContent .dynamic-poi .pois .col:before {
	content: '';
	width: 100%;
	height: 100%;
	max-width: 236px;
	max-height: 646px;


	-webkit-mask-image: url("images/image-bg.png");
	mask-image: url("images/image-bg.png");
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	display: block;
	position: absolute;
	left: 10px;
	bottom: 23px;
	top: 23px;
	z-index: -1;
}

.poi_text_section {
	position: relative;
	z-index: 11;
}
.dynamic-poi .poiImage:before {
	content:'';
	display:block;
	width:100%;
	padding-top:135%;
}

.dynamic-poi .poi {
	margin: 0;
}

.section_title h2 {
	font-size: 96px;
	line-height: 96px;
	margin-bottom: 48px;
}


.poi_carousel_section_main {
	position: relative;
}

.poi_carousel_section_main .owl-nav {
	position: absolute;
	left: 80px;
	bottom: -143px;
}

.poi_carousel_section_main .owl-dots {
	display: none;
}







.poi_item.bg-cyan:before, .pois .col-lg-4.bg-cyan:before {
	background: var(--cyan);	
}
.poi_item.bg-blue:before, .pois .col-lg-4.bg-blue:before {
	background: var(--blue);
}
.poi_item.bg-yellow:before, .pois .col-lg-4.bg-yellow:before {
	background: var(--yellow);
}
.poi_item.bg-red:before, .pois .col-lg-4.bg-red:before {
	background: var(--red);
}
.poi_item.bg-maroon:before, .pois .col-lg-4.bg-maroon:before {
	background: var(--mehroon);
}



.bodyContent .pois .col-lg-4.bg-cyan .poi {
	background: var(--cyan);	
}
.bodyContent .pois .col-lg-4.bg-blue .poi {
	background: var(--blue);
}
.bodyContent .pois .col-lg-4.bg-yellow .poi {
	background: var(--yellow);
}
.bodyContent .pois .col-lg-4.bg-red .poi {
	background: var(--red);
}
.bodyContent .pois .col-lg-4.bg-maroon .poi {
	background: var(--mehroon);
}




.pois .col-lg-4.poi_without_image:before {
	display: none !important;
}

.pois .poi_without_image.bg-cyan a {
	background: var(--cyan);	
}
.pois .poi_without_image.bg-blue a {
	background: var(--blue);
}
.pois .poi_without_image.bg-yellow a {
	background: var(--yellow);
}
.pois .poi_without_image.bg-red a {
	background: var(--red);
}
.pois .poi_without_image.bg-maroon a {
	background: var(--mehroon);
}








.dynamic-facilities {
	margin: 0;
	padding: 236px 0;
	background: var(--gray);
}


.dynamic-facilities .faci_carousel_section_main img {
	width: 100%;
	height: 100%;
	max-height: 687px;
	object-fit: cover;
}


.dynamic-facilities .container {
	max-width: 1316px;
}

.dynamic-facilities .facility-slide {
	width: 100%;
}

.facility-image {
	position: relative;
}
.facility-image:before {
	position: absolute;
	content: '';
	width: 100%;
	height: 60%;
	display: block;
	background: linear-gradient(359.93deg, rgba(0, 0, 0, 0.64) 30.81%, rgba(0, 0, 0, 0) 64.58%);
	left: 0;
	bottom: 0;
}


.dynamic-facilities .section_title {
	white-space: nowrap;
	text-overflow: ellipsis;
}
.dynamic-facilities .section_title h2 {
	font-size: 150px;
	line-height: 1.25;
	margin-left: 35%;
	margin-bottom: 0 !important;
}

.dynamic-facilities .facilities-slideshow {
	z-index: 0;
	aspect-ratio: 1028 / 560;
}
.dynamic-facilities .facilities-slideshow img{ 
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dynamic-facilities .section_title h2 a {
	color: var(--white);
}

.dynamic-facilities .section_title h2 a:hover {
	color: var(--yellow);
}


.dynamic-facilities .section_title h2 a:after {
	width: 100%;
	max-width: 90.5%;
	content: '';

	height: 15px;

	background-color: var(--white);

	-webkit-mask-image: url("images/title-arrow.png");
	mask-image: url("images/title-arrow.png");

	mask-repeat: no-repeat;
	mask-position: right center;

	display: inline-block;
    vertical-align: middle;
    margin-left: 35px;

}

.dynamic-facilities .section_title h2 a:hover:after {
	background-color: var(--yellow);
}








.dynamic-ctas {
	margin-top: 0;
}

.dynamic-ctas .cta_container {
	padding-left: 92px;
	padding-top: 72px;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	min-height: 1117px;
	position: relative;
	margin-bottom: 207px;
}


.dynamic-ctas .cta_container:before {
	background: linear-gradient(359.93deg, #FFFFFF 30.81%, rgba(255, 255, 255, 0) 64.58%);
	width: 100%;
	height: 818px;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: -207px;
	display: block;
	z-index: 1;
}

.dynamic-ctas .owl-dots {
	display: none;
}
.dynamic-ctas .owl-nav {
    position: absolute;
    bottom: -16px;
    left: 33px;
}
.dynamic-ctas .owl-nav button {
	background: var(--white) !important;
}
.dynamic-ctas .owl-nav button:hover {
	background: var(--blue) !important;
}
.dynamic-ctas .owl-nav button:hover:before {
	background: var(--white) !important;
}

.dynamic-ctas .cta_container .owl-stage-outer {
	padding-bottom: 90px;
}
.cta_item{
	padding: 85px 50px;
	text-align: center;
	color: var(--white);
	box-shadow: 0px 2px 39px 4px #00000085;
}

.cta_item_outer {
	padding: 43px;
} 

/* Owl sizes every slide to its own content, so the programme cards came out at
   different heights (Feedbucket #969182). Flexing the stage makes each card as
   tall as the tallest one in the row; margin-top:auto on the link keeps the
   "See Details" of the shorter cards on the same baseline as the tallest card's.
   Titles stay top-aligned, as the row was designed. autoHeight in the owl init
   (js/scripts.js) now measures the equalised height, so it is a no-op here. */
.ctas_carousel .owl-stage {
	display: flex;
	align-items: stretch;
}
.ctas_carousel .owl-item {
	display: flex;
	/* owl writes an inline width on each item (autoWidth) - never let flex shrink it */
	flex-shrink: 0;
}
.ctas_carousel .cta_item_outer {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.ctas_carousel .cta_item {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}
.ctas_carousel .cta_link {
	margin-top: auto;
}


.cta_item.bg-cyan {
	background: linear-gradient(180deg, rgba(0, 137, 177, 0) 0%, #0089B1 100%);
}
.cta_item.bg-cyan:hover {
	background: var(--cyan);	
}

.cta_item.bg-blue {
	background: linear-gradient(180deg, rgba(43, 42, 109, 0) 0%, #2B2A6D 100%);
}
.cta_item.bg-blue:hover {
	background: var(--blue);
}

.cta_item.bg-yellow {
	background: linear-gradient(180deg, rgba(255, 213, 0, 0) 0%, #FFD500 100%);
}
.cta_item.bg-yellow:hover {
	background: var(--yellow);
}


.cta_item.bg-red {
	background: linear-gradient(180deg, rgba(230, 42, 48, 0) 0%, #E62A30 100%);
}
.cta_item.bg-red:hover {
	background: var(--red);
}

.cta_item.bg-maroon {
	background: linear-gradient(180deg, rgba(176, 24, 43, 0) 0%, #B0182B 100%);
}
.cta_item.bg-maroon:hover {
	background: var(--mehroon);
}




.cta_item .cta_title h2 {
	color: var(--white);
	font-size: 48px;
	line-height: 1.25;
	margin-bottom: 18px;
}
.cta_item .cta_title p {
	margin-bottom: 46px;
}


.cta_details {
	margin-bottom: 45px;
}

.cta_link a {
	font-size: 22px;
	font-weight: 700;
	color: var(--white);
	display: inline-block;
}

.cta_link a:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}








.dynamic-callout .st-style2.callout {
	min-height: 1498px;
	overflow: hidden;
	background: transparent;
}
.dynamic-callout .st-style2.callout .coimg{
	top: 569px;
}

.dynamic-callout .st-style2.callout .coimg img {
	object-position: top center;
}


.dynamic-callout .st-style2.callout .coimg:after {
	content: '';
	height: 1021px;
	width: 100%;
	background: linear-gradient(179.93deg, #FFFFFF 30.81%, rgba(255, 255, 255, 0) 64.58%);
	position: absolute;
	top: -316px;
	left: 0;
	bottom: auto;
	display: block;
}

.dynamic-callout .st-style2.callout .coimg:before {
	content: '';
	height: 1021px;
	width: 100%;
	background: linear-gradient(359.93deg, #FFFFFF 30.81%, rgba(255, 255, 255, 0) 64.58%);
	position: absolute;
	bottom: -250px;
	left: 0;
	top: auto;
	display: block;
	z-index: 1;
}




.dynamic-callout .st-style2.callout .calloutContent {
    padding-bottom: 75px;
	max-width: 940px;
	z-index: 111;
    padding-top: 245px;
}

.dynamic-callout .st-style2.callout .calloutTitle {
	margin: 0;
}
.dynamic-callout .st-style2.callout .calloutTitle h3 {
	font-size: 150px;
	line-height: 0.8;
	margin-bottom: 55px;
	color: var(--blue);
}

.dynamic-callout .st-style2.callout .calloutText {
	max-width: 525px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 38px;
	color: var(--blue);
}



footer#footer {
	background: var(--white);
	padding: 33px 0 30px;
	text-align: center;

	color: var(--blue);
	--title_colour: var(--blue);
	--link_colour: var(--blue);
	--link_colour_hover: var(--yellow);
	--body_colour: var(--blue);
}
footer#footer .container {
	max-width: 1280px;
}

.footer-bottom-logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 125px;
}
/* Logos print at their file's own size, and the row was built around 75px-tall
   files. The cap lets a logo be uploaded at 2x for retina without doubling in
   size on the page (the IB MYP candidacy logo is 558x150, Feedbucket #1002091). */
.footer-bottom-logos img {
	object-fit: contain;
	max-width: 100%;
	max-height: 75px;
	width: auto;
	height: auto;
}
/* Seven logos where the design drew six: on desktop they drop to 56px tall with 40px
   between them, centred, so they read as separate marks rather than one strip. */
@media (min-width: 992px) {
	.footer-bottom-logos {
		justify-content: center;
		align-items: center;
		gap: 30px 40px;
	}
	.footer-bottom-logos img {
		max-height: 56px;
	}
}


.footer_school_name {
	font-weight: 700;
	line-height: 1;
	margin-bottom: 24px;
}

.footer_address {
	margin-bottom: 22px;
}

.footer_address p {
	margin-bottom: 0px;
}

.tel-info {
	margin-bottom: 14px;
}

.email-info {
	margin-bottom: 0px;
}

.footersocial {
	margin-top: 58px;
	text-align: center;
}
.footersocial ul {
	display: block;
	list-style: none;
	padding: 0;
	margin: 0;
}
.footersocial ul li {
	min-width: inherit;
	padding: 0px 18px;
}
.footersocial ul li:first-child {
	padding-left: 0;
}
.footersocial ul li:last-child {
	padding-right: 0;
}


.footersocial ul li a {
	font-size: 42px;
	line-height: 1.1;
}





.footerLower {
	padding: 80px 0 0;
	background: transparent;
	font-size: 16px;
	line-height: 1.54;
	color: var(--blue);
	text-align: center;
}

.footerLower a {
	color: var(--blue);
}

.footerLower a:hover {
	color: var(--yellow);
}

.footerLower p {
	margin: 0;
}

.bodyContent .welcome_button {
	margin-top: 48px;
}

.body-container .container {
	max-width: 1296px;
}


.bodyContent .section_title h2 {
	font-size: 64px;
	line-height: 1;
}

.bodyContent .dynamic-video-block .section_title h2 {
}
.bodyContent .dynamic-video-block .section_details {
	text-align: center;
	margin-bottom: 24px;
	line-height: 2.25;
}

.bodyContent .dynamic-video-block .container {
	max-width: 1100px;
}

/*Breadcrumb Area Css --------------------------------------------------- Start */

.breadcrumbs br {
	display: none;
}
.breadcrumbs {
    font-size: 24px;
    line-height: 1.125;
	font-weight: 300;
    color: var(--blue);
    text-transform: inherit;
    letter-spacing: 0px;
    padding: 48px 0px 10px 0px;
    width: 100%;
    z-index: 105;
    margin-bottom: 60px;
    border-bottom: none;
    min-height: 21px;
	display: block;
	border-bottom: none;
}

.breadcrumbs em {
	margin: -5px 10px 0px;
    width: 1px;
    height: 20px;
	background: currentColor;
	display: inline-block;
	vertical-align: middle;
}

.breadcrumbs a {
    color: currentColor;
	text-decoration: none;
}

.breadcrumbs span > span {
    color: var(--blue);
}

.breadcrumbs a:hover {
    color: var(--yellow);
}


/*Breadcrumb Area Css --------------------------------------------------------------------------------------------- END */



.body-container .bodyContent > .container {
	margin-bottom: 0px;
}


.body-container {
	margin-top: 0;
	margin-bottom: 70px;
}

.bodyContent h1 span {
	display: block;
}


.bodyContent table {
    display: inline-block;
    overflow: auto;
    position: relative;
    text-align: left;
    border-style: hidden;
    display: table;
    border: 1px solid var(--black);
}
.bodyContent table th, .bodyContent table th {
    background-color: var(--blue);
	color: var(--white);
    font-size: 24px;
    line-height: 1.3;
    padding: 20px 25px;
    vertical-align: top;
	font-weight: 700;
	letter-spacing: 0px;
}

.bodyContent table th, .bodyContent table th h4 {
	color: var(--white);
	margin-bottom: 0;
}

h4 {
    font-size: 24px;
    line-height: 1.3;
	font-weight: 700;
	letter-spacing: 0px;
	font-family: "clother",sans-serif;
}


.bodyContent table td {
    border: 1px solid var(--black);
    padding: 20px 25px 16px;
    vertical-align: top;
	line-height: 1.25;
}

.bodyContent table tr:nth-child(odd) td {
}

.bodyContent table td h4 {
    margin: 0px !important;
}



.bodyContent .body-text .welcome-btn {
	margin-top: 35px;
}



.dynamic-carousel {
	margin: 100px 0 0px;
}

.dynamic-gallery .container {
}


.gallery-icon a {
	position: relative;
    border-radius: 0px;
    overflow: hidden;
	display: block;
}

.gallery-icon img {
	width: 100%;
	max-width: inherit;
}

.dynamic-carousel a.image {
    border-radius: 0px;
    overflow: hidden;
    display: block;
}

.dynamic-carousel .owl-nav {
	display: none;
}
.dynamic-carousel .owl-dots {
	margin-top: 35px;
}

.bodyContent {
	display: flex;
    flex-direction: column;
	margin: 0;
}
.bodyContent ul {
    padding-left: 0px;
	list-style: inside;
	margin-top: 0px;
}
.bodyContent ul li {
    padding-left: 0px;
    position: relative;
	letter-spacing: 0px;
	line-height: 1.125;
	margin-bottom: 22px;
}


.bodyContent ul li:last-child {
	margin-bottom: 0;
}

.dynamic-text ul li {
}

.bodyContent ul li::marker, .dynamic-text ul li::marker {
    color: var(--blue);
	border-radius: 50%;
	margin-right: 0px;
	font-size: 10px;

}

.bodyContent .body-text ul {
	margin-top: 48px;
}

.bodyContent {
	display: flex;
    flex-direction: column;
}


.bodyContent .body-text .welcome-btn {

}

.bodyContent > .container > .body-text h2 {
	margin-bottom: 30px;
}
 

.bodyContent .dynamic-image {
	text-align: left;
	margin: 100px 0 0;
}

.bodyContent .dynamic-image img {
	object-fit: cover;
	margin: 0px auto 25px;
}
.bodyContent .dynamic-image .image-item {
	overflow: hidden;
	margin: 0;
}

.bodyContent .dynamic-image .video_title {
	color: var(--title_colour);
	font-size: 48px;
	line-height: 1;
	font-weight: 700;
	font-family: "the-seasons",sans-serif;
	margin-top: 32px;
}

.bodyContent .dynamic-text {
	margin: 50px 0 0;
	display: block;
}

.dynamic-divider {
	margin-bottom: 0;
	margin-top: 100px;
}

.dynamic-video-block {
	margin: 100px 0 0;
	position: relative;
}

.dynamic-video-block a .image-item-inner {
	position: relative;
	background: var(--white);
}
.dynamic-video-block a .image-item-inner:before {
	width: 0;
    height: 0;
    border-top: 18px solid transparent;
    border-left: 30px solid var(--white);
    border-bottom: 18px solid transparent;
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 12;
	margin-left: 3px;
}
.dynamic-video-block a .image-item-inner:after {
	width: 97px;
    height: 97px;
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 11;
	background: var(--cyan);
	border-radius: 50%;
}


.dynamic-video-block a:hover .image-item-inner:after {
	background: var(--blue);
}

.dynamic-video-block a:hover .image-item-inner:before {
	border-left-color: var(--white);
	opacity: 1;
}

.dynamic-video-block .image-item a {
}
.dynamic-video-block .image-item img {
	object-fit: cover;
	overflow: hidden;
	width: 100%;
	height: 100%;
}
.dynamic-video-block .image-item {
	display: block;
	position: relative;
}
.dynamic-video-block a {
	display: block;
	position: relative;
}


.dynamic-video-block .video_title {
	color: var(--title_colour);
	font-size: 48px;
	line-height: 1;
	font-weight: 700;
	font-family: "the-seasons",sans-serif;
	margin-top: 32px;
	padding-right: 100px;
	min-height: 48px;
}

.dynamic-video-block .video_block_pager {
	text-align: center;
	margin: 0px;
	z-index: 111;
	height: 10px;
	position: absolute;
	right: 0;
	bottom: 17px;

}
.dynamic-video-block .video_block_pager span {
	width: 10px;
	height: 10px;
	font-size: 0;
	margin: 0px 5px;
	display: inline-block;
	vertical-align: top;
	background-color: var(--gray);
	cursor: pointer;
	border-radius: 50%;
}
.dynamic-video-block .video_block_pager span.cycle-pager-active {
	background-color: var(--cyan);
}






.bodyContent .dynamic-callout {
	margin: 175px 0 0;
}
.bodyContent .dynamic-callout +  .dynamic-callout {
	margin: 0px 0 0;
}

.bodyContent .dynamic-callout .callout {
	width: 100%;
}

.bodyContent .dynamic-callout .callout .button {
	border-color: var(--white);
	color: var(--white);
}
.bodyContent .dynamic-callout .callout .button:hover {
	border-color: var(--blue);
	background: var(--blue);
	color: var(--white);
}

.bodyContent .callout .calloutContent {
	max-width: 927px;
}

.bodyContent .callout .calloutText {
	margin-bottom: 48px;
}



.section-title-center {
	text-align: left;
	margin-bottom: 33px;
}
.bodyContent .dynamic-poi {
	margin-top: 50px;
	position: relative;
}
.bodyContent .dynamic-poi .owl-dots {
	width: 100%;
	position: relative;
	left: auto;
	bottom: auto;
}
.bodyContent .dynamic-text_image {
	margin: 50px 0 0;
}
.bodyContent .dynamic-text_image + .dynamic-text_image {
	margin: 120px 0 0;
}

.bodyContent .dynamic-web-links .section_title h2 {
	margin-top: 60px;
}

.bodyContent .dynamic-text_image .image-block-tm {
	padding-left: 77px;
}
/* The module always shows the 3:4 portrait crop; this covers originals too
   small for the hard-cropped 'portrait' size (WP then serves the full image). */
.bodyContent .dynamic-text_image .welcomeImage img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.bodyContent .dynamic-text_image .text-block-tm {
	padding-right: 77px;
}

.bodyContent .dynamic-text_image .text-block-tm .button {
	margin-top: 23px;
}


.bodyContent .dynamic-text_image .image-on-left.text-block-tm {
	padding-left: 77px;
	padding-right: 12px;
}





.dynamic-gallery {
	margin: 140px 0 0;
}

.dynamic-gallery .container {
}


.dynamic-gallery a {
	position: relative;
    border-radius: 0px;
    overflow: hidden;
	display: block;
}

.dynamic-gallery a:before {
	content: '';
	padding-top: 100%;
	display: table;
}


.dynamic-gallery a img {
	width: 100%;
	max-width: inherit;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dynamic-carousel a.image {
    border-radius: 0px;
    overflow: hidden;
    display: block;
}



.document {
}


.dynamic-documents {
	margin: 50px 0 0;
}

.dynamic-documents .sectionTitle {
	text-align: left;
}

.dynamic-web-links {
	margin: 50px 0 0;
}

.bodyContent .dynamic-documents + .dynamic-documents
.bodyContent .dynamic-web-links + .dynamic-web-links, 
.bodyContent .dynamic-web-links + .dynamic-documents, 
.bodyContent .dynamic-documents + .dynamic-web-links {
	margin: 0 !important;
}

.bodyContent .dynamic-poi .container {
}

a.document-link.button {
	margin-bottom: 24px;
	text-align: left;
	display: block;
	padding: 30px 50px 30px 24px;
	line-height: 1;
	font-size: 22px;
	font-weight: 300;
}
a.document-link:hover {
	border-color: var(--blue);
	background-color: var(--blue);
	color: var(--white);
}

a.document-link:before {
	display: none;
}

a.document-link:after, a.document-link.button:after {
    display: block;
    width: 43px;
    height: 15px;
	line-height: 15px;
    text-align: center;
    position: absolute;
    right: 10px;
    top: 32px;
    transform: rotate(90deg);
    transition: 300ms;
    content: '';
	font-size: 0px;

	background-color: currentColor;
	mask-image:url('images/owl-nav.png');
	mask-position:right center;
	mask-repeat:no-repeat;
	mask-size: cover;
	margin: 0 !important;
}
a.document-link:hover:after {
	margin: 0 !important;
}

.dynamic-web-links a.button {
	margin-bottom: 24px;
	text-align: left;
	display: block;
	padding: 30px 50px 30px 24px;
	line-height: 1;
	font-size: 22px;
	font-weight: 300;
}
.dynamic-web-links a:hover {
	border-color: var(--blue);
	background-color: var(--blue);
	color: var(--white);
}

.dynamic-web-links a:before {
	display: none;
}
.dynamic-web-links a:after {
    display: block;
    width: 24px;
    height: 24px;
	line-height: 24px;
    text-align: center;
    position: absolute;
    right: 17px;
    top: 28px;
    transform: rotate(0deg);
    font-weight: 700;
    font-family: "Font Awesome 5 Free";
    transition: 300ms;
    content: '';
	font-size: 0px;

	background-color: currentColor;
	mask-image:url('images/weblink-icon.png');
	mask-position:right center;
	mask-repeat:no-repeat;
	mask-size: cover;
	margin: 0 !important;

}
.dynamic-web-links a:hover:after {
}

.bodyContent .poi .poiTitle {
	text-align: left !important;
}

.bodyContent .dynamic-poi .owl-nav {
	display: none;
}




.standard-staff-text {
	padding-left: 86px;
	padding-top: 20px;
	padding-bottom: 20px;
	line-height: 1.25;
}

.standard-staff-text h3 {
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
	color: var(--title_colour);
	margin-bottom: 0px;
	display: block;
	letter-spacing: 0;
	
}
.title-value-name {
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
	color: var(--title_colour);
	letter-spacing: 0;
	margin-bottom: 48px;
	display: block;
	font-family: "the-seasons",sans-serif;
}
.staff-meta strong {
	font-weight: 700;
}
.staff-biog {
    margin-bottom: 0px;
	max-width: 850px;
    margin-top: 20px;
	color: var(--body_colour);
}
.staff-meta {
	max-width: 850px;
}
.staff-biog p {
	margin-bottom: 25px;
}

.staff-biog .staff-button {
	margin-top: 7px;
	font-weight: 700;
	font-size: 22px;
    display: inline-block;
	color: var(--cyan);
}


.standard-staff-image {
	width: 375px;
	position: relative;
}

.standard-staff-image img {
	position: relative;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
}


.standard-staff-image-inner {
	position: relative;
}

.standard-staff-image-inner:before {
	content: '';
	display: table;
	padding-top: 100%;
}



.destination_link-bar {
	text-align: center;
	margin-top: 35px;
}


.staffMember {
	padding-bottom: 31px;
	border:  none;
	margin-bottom: 31px;
}

.staffMember:last-child {
	margin: 0;
	border: none;
}

.dynamic-staff {
	margin: 50px 0px 0px;
}


.dynamic-curriculum {
	margin-bottom: 0px;
	margin-top: 162px;
}

.subject-tile:before {
	padding-top: 135%;
}


.subject-tile .cover .button-wrap {
	border-radius: 50%;
	border: none;
	background-color: var(--cyan);
	position: absolute;
    top: 50%;
	width: 97px;
	height: 97px;
    transform: translate(-50%, -50%);
}
.subject-tile.subjectOpen .cover .button-wrap {
	background-color: var(--cyan);
}

.subject-tile .cover {
	width: 100%;
	height: 100%;
}

.subject-tile .cover .title {
	position: absolute;
	width: 100%;
	text-align: left;
	bottom: 25px;
	left: 0;
	padding: 0 25px;
	font-size: 48px;
	margin: 0;
	font-weight: 700;
	font-family: "the-seasons",sans-serif;
}


.subject-tile .tile-bg:before {
	content: '';
    display: block;
    position: absolute;
    left: auto;
    top: auto;
    width: 100%;
    height: 35%;
	z-index: 1;
    background: -moz-linear-gradient(bottom,rgba(0, 0, 0, 1) 0%,rgba(0,0,0,0) 100%); 
    background: -webkit-linear-gradient(bottom,rgba(0, 0, 0, 1) 0%,rgba(0,0,0,0) 100%);
    background: linear-gradient(to top,rgb(0, 0, 0, 1) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a6000000',endColorstr='#00000000',GradientType=0);
	opacity: 1;	
}
.subject-tiles .subject-block .panel {
	max-width: 100%;
	background: var(--gray);
	padding: 60px;
	color: var(--body_colour);
}
.subject-tiles .subjContent {
	text-align: left;
	padding-top: 0;
}
.subject-tile .cover .button-wrap .toggle-subject:before {
	font-size: 35px;
}
.subject-tiles .subject-block .subject-close {
	right: 15px;
	top: 15px;
	width: 69px;
	height: 69px;
	border-radius: 50%;
	background-color: transparent;

}
.subject-tiles .subject-block .subject-close::before {
	color: var(--blue);
	font-size: 35px;
}


.subject-tiles .subject-block .photo {
	margin-bottom: 40px;
}


@media only screen and (min-width : 992px) {


	.subject-tiles .subject-block .photo {
		float: left;
		max-width: 375px;
		padding-right: 50px;
		margin-bottom: 0px;
	}
	.subject-tiles .subject-block .photo img {
		width: 100%;
		max-width: inherit;
		object-fit: cover;
	}
	.dynamic-text_button .row {
		align-items: end;
	}
	.tb-link-area {
		text-align: right;
	}




	.dynamic-text_image .it-image-area {
		width: 54.5%;
	}
	.dynamic-text_image .it-text-area {
		width: 45.5%;
	}


	.menuopen .header_left .headerIcon {
		display: none;
	}

	.menuopen .head_link_search {
		display: none;
	}

}


.dynamic-video-block .section_title {
	text-align: center;
}






.dynamic-quote {
	margin: 50px 0 0;
	background: transparent;
	padding: 0;
	position: relative;
	overflow: hidden;
}

.quoteContainer {
	padding: 0;
	background: transparent;
	color: currentColor;
	max-width: 1295px;
	margin: 0px auto;
}

blockquote {
	padding: 0px;
	position: relative;
}

.quoteContainer .cycle-pager span {
	width: 10px;
    height: 10px;
    display: inline-block;
    background: var(--gray);
    border-radius: 50%;
	color:var(--gray);
	font-size:1px;
	line-height:10px;
	margin:0 2px;
}
 .quoteContainer .cycle-pager span.cycle-pager-active {
    background:var(--cyan);
	color:var(--cyan);
}
.bodyContent .poiImage .poiText, .bodyContent .poi:hover .poiImage .poiText {
	bottom: 20px;
}

.bodyContent .dynamic-poi .container {
	max-width: 1410px;
}

.poi-button {
	font-weight: 700;
	font-size: 22px;
	margin-top: 44px;
    display: inline-block;
}


@media only screen and (min-width : 992px) {

	.poi_carousel_section_main {
		width:50vw;
		max-width:none;
		margin-right:calc(50% - 50vw);
	}

	.dynamic-facilities .faci_carousel_section_main {
		width:66.667vw;
		max-width:none;
		margin-right:calc(66.667% - 66.667vw);
	}

	.cta_item{
		width : 375px;
	}



}





.dynamic-values {
	margin: 0;
	--values-length: 300vh;      /* pin length on desktop: increase for a slower scroll */
  --header-offset: 0px;        /* set to your sticky header height if you have one */
  position: relative;
  height: var(--values-length);
}
.dynamic-values .valuesBlock{
	position: sticky;
  top: var(--header-offset);
  height: calc(100vh - var(--header-offset));
  height: calc(100svh - var(--header-offset));
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden; 
}
.dynamic-values .values_carousel_section_main,
.dynamic-values .horiz-gallery-wrapper {
  width: 100%;
  overflow: hidden;
}
.dynamic-values .valuesBlock:before {
	content: '';
	width: 100%;
	height: 100%;
	max-width: 795px;
	max-height: 800px;

	background-color: var(--blue);

	-webkit-mask-image: url("images/value-bg.png");
	mask-image: url("images/value-bg.png");
	mask-repeat: no-repeat;
	mask-size: cover;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 43px;
	z-index: -1;
}

.dynamic-values .section_title h2 {
	margin-bottom: 80px;
	text-align: center;
}

.value-slide {
	text-align: center;
	padding: 33px 30px;
	display: block;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--white);
}

.value-slide.bg-blue {
	background: var(--blue);
}
.value-slide.bg-red {
	background: var(--red);
}
.value-slide.bg-yellow {
	background: var(--yellow);
}
.value-slide.bg-maroon {
	background: var(--mehroon);
}
.value-slide.bg-cyan {
	background: var(--cyan);
}



.values_row{
	flex-wrap:nowrap !important;
	width:max-content;
	will-change:transform;
	gap: 48px;
}



.values_carousel_section_main{
	overflow:hidden;
}
@media (max-width: 991.98px) {
  .dynamic-values { --values-length: 250vh; }
  .dynamic-values .values_row { gap: 1rem; }
  .dynamic-values .value-slide { width: 75vw; }
}


@media only screen and (max-width : 1200px)  {

	.dynamic-facilities .section_title h2 {
		font-size: 90px;
		margin-left: 58%;
	}

}

@media only screen and (max-width : 1100px)  {

	.dynamic-facilities .section_title h2 {
		font-size: 90px;
		margin-left: 54%;
	}

}




@media only screen and (max-width : 991px) {


	#homeBanner .hero {
		max-height: 100vh;
	}


	.fed-for-mb {
		display: none;
	}
	.header-left {
		padding: 0;
		position: absolute;
		top: 36px;
		left: 25px;
	}
	.head-lang a {
		margin: 0px 8px;
	}
	.header-right {
		padding: 0;
	}
	.fixedHeader .menu-toggle, .menu-toggle {
		position: absolute;
		right: 0px;
		transform: scale(0.5);
		top: 0px;
	}
	.menuopen .menu-toggle {
		position: fixed;
		right: 0px;
		top: 0px;
	}
	.headGroup {
		padding-left: 0;
		padding-right: 0;
		
	}
	.headerIcon  {
		text-align: center;
	}

	.banner_bottom_whole_content {
		margin-bottom: 30px;
	}
	.banner_bottom_whole_content .banner_bottom_title {
		font-size: 40px;
		line-height: 1.35;
	}
	.banner_bottom_whole_content .banner_bottom_text {
		font-size: 18px;
		line-height: 1.167;
	}
	.welcomeBlock:after {
		bottom: 0;
		top: auto;
		max-width: 630px;
		max-height: 634px;
		mask-size: cover;
	}
	.welcomeBlockText h1 {
		font-size: 40px;
		line-height: 1.35;
	}
	.welcomeBlockText {
		padding-left: 25px;
		padding-right: 25px;
		margin-bottom: 193px;
	}

	.welcomeBlock {
        padding: 20px 0 125px;
        margin-bottom: 0;
		position: relative;
		z-index: 11;
    }
	.welcomeBlockText h3 {
		font-size: 40px;
		line-height: 1.35;
		margin-bottom: 25px;
	}
	.welcome-btn-bar {
		margin-top: 0px;
	}
	.button {
		min-width: 310px;
		padding: 20px 45px;
	}

	body {
		font-size: 18px;
		line-height: 1.167;
	}
	.welcomeBlockText h3 {
		margin-bottom: 25px;
	}

	.welcomeImage {
		max-width: 268px;
		margin: 0px auto;
	}
	.welcomeImage:before {
		left: -45px;
		bottom: -20px;
		mask-size: 100% 100%;
		max-width: 129px;
		bottom: -68px;
	}	.calloutIcon {
		max-width: 150px;
		bottom: -141px;
	} 
	.calloutIcon.icon-right {
		right: auto;
		left: 25px;
	}
	
	.calloutIcon.icon-left {
		right: auto;
		left: 25px;
	}

	.homeContent .dynamic-poi {
		position: relative;
		padding: 193px 0 120px;
		margin: 0;
	}
	.section_title h2 {
		font-size: 40px;
		line-height: 1.167;
	}
	.poi_text_section {
		padding: 0 25px;
	}
	.poi_text_section .section_title h2 {
		max-width: 260px;
	}
	.poi .poiTitle {
		font-size: 40px;
		font-size: 22px;
		line-height: 1.35;
	}

	.homeContent .dynamic-poi .poi_carousel_section .poi_item {
		width: 100%;
		padding-left: 43px;
	}
	.homeContent .dynamic-poi .section_details {
		margin-bottom: 84px;
	}
	.homeContent .dynamic-poi .poi_carousel_section .poi_item:before, .bodyContent .dynamic-poi .pois .col-lg-4:before, .bodyContent .dynamic-poi .pois .col:before {
		z-index: 0;
		max-width: 130px;
		max-height: 355px;
		left: 0;
		bottom: 0;
		top: auto;
	}
	.poiImage .poiText, .poi:hover .poiImage .poiText {
		bottom: 20px;
	}
	.poi_carousel_section {
		padding: 0 25px;
	}
	.poi_carousel_section_main .owl-nav {
		position: absolute;
		left: 0px;
		bottom: -83px;
	} 	
	.owl-nav button {
		width: 50px;
		height: 50px;
	} 	
	.owl-nav button:before {
        width: 25px;
        height: 15px;
        mask-position: right center;
        mask-size: cover;
    }
	.dynamic-callout .st-style1.callout .coimg {
		top: 0px;
	}
	.dynamic-callout .st-style1.callout .calloutContent {
		padding-top: 130px;
	}
	.dynamic-callout .st-style1.callout .calloutTitle h3 {
		font-size: 40px;
		line-height: 1.35;
		margin-bottom: 30px;
	}
	.dynamic-callout .st-style1.callout .calloutContent {
		max-width: 336px;
	}
	.dynamic-callout .st-style1.callout {
		min-height: 747px;
	}
	.calloutIcon.icon-left {
		bottom: -70px;
	}
	.dynamic-facilities {
		padding: 133px 0 50px;
	}
	.dynamic-facilities .section_title h2 {
		font-size: 40px;
		line-height: 1.35;
		margin-left: 0;
		margin-bottom: 0px;
	}
	.dynamic-facilities .section_title h2 a {
		color: var(--blue);
		display: inline-block;
	}
	.dynamic-facilities .section_title {
		white-space: inherit;
		text-overflow: unset;
		margin-bottom: 50px;
		margin-top: 50px;
	}
	.dynamic-facilities .section_title h2:after {
		display: block;
		margin-left: 0;
		margin-top: 20px;
		background-color: var(--blue);
	}
	.dynamic-facilities .section_title h2 a:after {
		background-color: var(--blue);
	}
	.faci_carousel_section {
		padding: 0px 25px;
	}
	.dynamic-ctas .cta_container {
		padding-left: 0px;
		padding-right: 0px;
		padding-top: 0px;
	}
	.cta_item_outer {
		padding: 80px 25px 150px;
	} 

	.dynamic-ctas .owl-nav {
		position: absolute;
		bottom: 50px;
		left: 13px;
	}

	
	.dynamic-ctas .cta_container .owl-stage-outer {
	}
	.dynamic-ctas .cta_item {
	}
	.cta_item .cta_title h2 {
		font-size: 40px;
	}
	.cta_item .cta_link {
		padding-top: 22px;
	}
	.dynamic-ctas .cta_container .owl-stage-outer {
		padding-bottom: 0px;
	}
	.dynamic-ctas .cta_container {
		margin-bottom: 0;
	}
	.dynamic-callout .st-style2.callout .calloutTitle h3 {
		font-size: 40px;
		line-height: 1.2;
		margin-bottom: 55px;
	}
	.dynamic-callout .st-style2.callout {
		min-height: 1021px;
	}
	.dynamic-callout .st-style2.callout .calloutContent {
		padding-top: 45px;
		padding-left: 25px;
		padding-right: 25px;
	}
	.dynamic-callout .st-style2.callout .calloutTitle h2 {
		font-size: 40px;
	}
	.dynamic-callout .st-style2.callout .coimg:before {
		bottom: -130px;
		background: linear-gradient(359.93deg, #FFFFFF 20.81%, rgba(255, 255, 255, 0) 64.58%);
	}
	.dynamic-callout .st-style2.callout .coimg {
		max-height: 629px;
		top: 350px;
	}
	
	.dynamic-callout .st-style2.callout .coimg img {
		object-position: left center;
	}
	.dynamic-callout .st-style2.callout .coimg:after {
        top: -360px;
    }
	.dynamic-callout .st-style2.callout .calloutText {
		font-size: 18px;
		line-height: 1.167;
	}


	.footer-bottom-logos img {
		margin-bottom: 36px;
	}

	footer#footer {
		padding-top: 0;
	}
	.footer-bottom-logos {
		margin-bottom: 50px;
	}

	footer#footer .container {
		padding-left: 25px;
		padding-right: 25px;
	}



	







	#navbar {
		width: 100%;
		max-width: 100%;
		padding: 120px 0px 170px 0px;
		color: var(--white);
		top: 0px;
		border: none;
		height: 100vh;
		background: var(--blue);
	}


	#navbar .menu-main-container{
		padding-bottom:20px;
		/* clip (not hidden) so no scroll container is created — the menu must
		   never show a scrollbar; the panel paddings make room for the list */
		overflow-x: clip;
		position:relative;
	}

	#navbar .menu-main-container::-webkit-scrollbar {
    	width: 8px;
	}

	#navbar .menu-main-container::-webkit-scrollbar-track {
		background: transparent;
	}

	#navbar .menu-main-container::-webkit-scrollbar-thumb {
		background-color: rgba(0, 0, 0, 0.32);
		border-radius: 10px;
		border: 2px solid transparent; /* Optional: for spacing inside track */
	}

	
	#navbar.menu-level-2 {
	}
	#navbar.menu-level-3 {
	}

	.menuopen .headGroup {
		z-index: 99999;
	}
	.menuopen .header_left {
		width: 50%;
	}
	.menuopen .header-right {
		width: 50%;
	}

	#menu-main li.menu-item-has-children > .arrow {
		display: none;
	}

	#navbar.menu-level-2 #menu-main li {
		display: none;
	}
	#navbar.menu-level-2 #menu-main li.open {
		display: block;
	}
	#navbar.menu-level-2 #menu-main li.open > a {
		display: none !important;
	}
	#navbar.menu-level-2 #menu-main li.open li.open > a {
		display: block !important;
	}

	#navbar.menu-level-2 #menu-main li.open li {
		display: block;
	}


	#navbar.menu-level-3 #menu-main li {
		display: none;
	}
	#navbar.menu-level-3 #menu-main li.open {
		display: block;
	}
	#navbar.menu-level-3 #menu-main li.open > a {
		display: none !important;
	}
	#navbar.menu-level-3 #menu-main li.open li.open > a {
		display: none !important;
	}
	#navbar.menu-level-3 #menu-main li.open li li.open > a {
		display: block !important;
	}

	#navbar.menu-level-3 #menu-main li.open li.open li {
		display: block;
	}


	.main-navigation.menu-level-3 ul.sub-menu a.back-to-main{
		display : none !important;
	}

	.main-navigation.menu-level-3 ul.sub-menu ul.sub-menu a.back-to-main{
		display : block !important;
	}	



	#menu-main li a {
		letter-spacing: 0px;
		line-height: 1.295;
		font-size: 21px;
		color: var(--white);
		text-transform: inherit;
		font-weight: 700;
		padding: 5px 35px 5px 0px;
		border: none;
		font-family: "the-seasons",sans-serif;
	}

	
	#menu-main li li.submenu_parent a {
		letter-spacing: 0px;
		line-height: 1.4;
		font-size: 18px;
		color: var(--white);
		text-transform: inherit;
		font-weight: 700;
		padding: 5px 30px 5px 0px;
		border: none;
		font-family: "the-seasons",sans-serif;
	}	


	#menu-main li li li.submenu_parent a {
		letter-spacing: 0px;
		line-height: 1.25;
		font-size: 17px;
		color: var(--white);
		text-transform: inherit;
		font-weight: 300;
		padding: 5px 30px 5px 0px;
		border: none;
		font-family: "clother",sans-serif;
	}	
	#menu-main li li li.submenu_parent a:hover {
		color: var(--yellow) !important;
	}



	#menu-main li li.menu-item-has-children > .arrow {

	}


	#menu-main li > a:after {
		content: '';
		background-color:  currentColor;
        width: 17px;
        height: 17px;
		display: block;
		right: 0px;
		position: absolute;
		top: 15px;
		display: none;
		background-color: currentColor;
		mask-image:url('images/right-arrow.png');
		mask-position:right center;
		mask-repeat:no-repeat;
		mask-size: cover;
	}
	#menu-main li li.menu-item-has-children > a:after {
		display: block;
	}


	#menu-main li a:hover {
		color: var(--yellow);
	}
	#menu-main li.current-menu-item > a {
		color: var(--yellow);
	}
	#menu-main li .sub-menu a:hover {
		color: var(--yellow);
	}
	#menu-main  .sub-menu  li.current-menu-item > a {
		color: var(--yellow);
	}
	.menu-main-container #menu-main {
		padding: 0px;
	}

	/*#menu-main li.menu-item-has-children.open > a {
			display: none !important;
	}*/

	/*#menu-main li li.menu-item-has-children.open > a {
		display: none !important;
		color: #de8f25;
		background: transparent;
	}*/


    .menuopen .header-right .topMenuSide {
        display: inline-block;
    }
	.menuopen .topMenuSide .portalToggle span {
		display: inline-block;
		vertical-align: top;
	}



	#menu-main .sub-menu {
		padding-left: 0;
	}
	#menu-main .sub-menu li {
		margin-bottom: 0px;
	}
	#menu-main .sub-menu li a {
		letter-spacing: 0px;
		line-height: 1.4;
		font-size: 18px;
		color: var(--white);
		text-transform: inherit;
		font-weight: 300;
		padding: 5px 30px 5px 0px;
		border: none;
		font-family: "the-seasons",sans-serif;
	}

	#menu-main .sub-menu .sub-menu li a {
		letter-spacing: 0px;
		line-height: 1.25;
		font-size: 17px;
		color: var(--white);
		text-transform: inherit;
		font-weight: 700;
		padding: 5px 30px 5px 0px;
		border: none;
		font-family: "clother",sans-serif;
	}


	#menu-main .sub-menu li li a {
		position: relative;
	}
	#menu-main .sub-menu li li a:before {
		display: none !important;
	}

	#menu-main .sub-menu li a:hover {
		color: var(--yellow);
	}
	#menu-main .sub-menu li.open > a {
		color: var(--yellow);
	}

	#menu-main .sub-menu .sub-menu li a:hover {
		color: var(--yellow);
	}

	#menu-main .sub-menu li.menu-item-has-children > a:before { 
		top: 12px;
	}

	#menu-main .sub-menu {
		padding: 0;
		border: none;
	}
	#menu-main .sub-menu .sub-menu {
	}

	a.back-to-main,
	#menu-main a.back-to-main {
		font-size: 0 !important;
		margin-bottom: 0px !important;
		display: block;
		position: fixed;
		bottom: 110px;
		left: 25px;
		z-index: 99999999 !important;
		padding: 0 !important;
		border: none !important;
		width: 34px !important;
		height: 34px !important;
		background: var(--white) !important;
		border-radius: 50% !important;
	}
	.back-to-main:hover {
		background-color: var(--yellow) !important;
	}

	a.back-to-main:before {
		content: '';
		width: 24px;
		height: 15px;

		background-color: var(--blue);

		-webkit-mask-image: url("images/owl-nav.png");
		mask-image: url("images/owl-nav.png");
		mask-size: cover;
		transform: translate(-50%, -50%) rotate(180deg);
		mask-position: right center;
		position: absolute;
		left: 50%;
		top: 50%;

		font-size: 0;

	}

	a.back-to-main:hover:before {
		background-color: var(--blue) !important;
	}



	.menu-main-container {
		/*padding: 0px 32px 0px;*/
		position: relative;
		height: 100%;
		width: 100%;
	}

	#menu-main {
		margin: 0;
	}

	


	#navbar.menu-level-2 #menu-main {
		margin: 0;
	}
	#navbar.menu-level-3 #menu-main {
		margin: 0;
	}

	#navbar.menu-level-3 #menu-main {
		flex-direction: column;
		justify-content: start;
		display: flex;
	}

	.main-headbox {
		display: none;
	}



	.breadcrumbs {
		font-size: 18px;
	}
	.bodyContent .section_title h2 {
		font-size: 30px;
	}

	.body-container .container {
		padding-left: 25px;
		padding-right: 25px;
	}

	h1, .h1 {
		font-size: 40px;
		line-height: 1.125;
	}

	h2, .h2 {
		font-size: 30px;
		margin-bottom: 25px;
	}
	h3, .h3 {
		font-size: 24px;
		margin-bottom: 25px;
	}
	.breadcrumbs {
		margin-bottom: 40px;
	}

	.bodyContent .dynamic-text_image .image-block-tm {
		padding-left: 40px;
		margin-bottom: 60px;
	}

	.bodyContent .dynamic-text_image .welcomeImage:before {
		bottom: -23px;
	}
	.bodyContent .dynamic-text_image .text-block-tm {
		padding-right: 12px;
	}
	.bodyContent .dynamic-text_image .image-on-left.text-block-tm {
		padding-left: 12px;
	}
	blockquote {
		font-size: 40px;
	}
	.quoteContainer {
		padding-left: 25px;
		padding-right: 25px;
	}
	.bodyContent .dynamic-poi .pois .col-lg-4, .bodyContent .dynamic-poi .pois .col {
		padding-left: 45px;
		position: relative;
		padding-bottom: 23px;
	}


	.bodyContent .dynamic-callout {
		margin-bottom: 0;
		margin-top: 30px;
	}
	.bodyContent .dynamic-image {
		margin-bottom: 0;
		margin-top: 30px;
	}
	.bodyContent .dynamic-text {
		margin-top: 30px;
		margin-bottom: 0;
	}
	.bodyContent .dynamic-video-block {
		margin-top: 30px;
		margin-bottom: 0;
	}
	.bodyContent .dynamic-text_image {
		margin-top: 30px;
	}
	.bodyContent .dynamic-text_image + .dynamic-text_image {
		margin-top: 40px;
	}
	.bodyContent .dynamic-poi {
		margin-top: 30px;
	}
	.bodyContent .dynamic-poi + .dynamic-poi {
		margin-top: 100px;
	}
	.bodyContent .dynamic-text_image + .dynamic-poi,
	.bodyContent .dynamic-text_image + .dynamic-text {
		margin-top: 60px;
	}
	.dynamic-curriculum {
		margin-top: 50px;
	}
	.bodyContent .dynamic-quote {
		margin-top: 30px;
	}
	.bodyContent .dynamic-faq {
		margin-top: 30px;
	}
	.bodyContent .dynamic-documents {
		margin-top: 30px;
	}
	.bodyContent .dynamic-gallery, .bodyContent .dynamic-carousel, .bodyContent .dynamic-staff {
		margin-top: 30px;
	}
	.dynamic-carousel {
		margin-top: 30px;
		margin-bottom: 0;
	}
	.breadcrumbs {
		margin-bottom: 30px;
	}
	.body-container {
		margin-bottom: 30px;
	}


	.admin-bar .headGroup, .admin-bar .fixedItem, .admin-bar #navbar {
		margin-top: 0 !important;
	}



	.menuopen.fixedHeader .headGroup {
		position: fixed;
		z-index: 99999;
		height: auto;
	}
	
	.menuopen.fixedHeader .headGroup .header-right {
		position: relative;
	}

	.menuopen .fed-for-mb {
		display: block;
		position: fixed;
		left: 0px;
        bottom: 40px;
		width: 100%;
        padding: 0px 25px;
		/* Full-width fixed strip layered above the menu panel: without this it
		   swallows taps meant for the back button at the bottom-left. */
		pointer-events: none;
	}
	.menuopen .fed-for-mb .head-links,
	.menuopen .fed-for-mb .searchToggle {
		pointer-events: auto;
	}
	.menuopen .fed-for-mb .head-links {
	}
	.head-links .head-link {
		font-size: 18px;
		line-height: 1.25;
		margin: 0px 10px;
	}
	


	.menuopen .header-right {
		position: relative;
	}

	.menuopen.fixedHeader .header-left, .menuopen .header-left {
		display: none;
	}
	.menuopen .header-center .headerIcon {
		text-align: left;
		/* line the logo's left edge up with the menu list's text edge */
		margin-left: 20px;
	}
	.menuopen.fixedHeader .header-right, .menuopen .header-right {
		width: 50%;
	}

	.menuopen .header-center .headerIcon img {
		max-width: 100px;
	}



	.menuopen .head-links .head-link {
	}
	.menuopen.fixedHeader .headGroup .head-links {
	}
	.menuopen.fixedHeader .head-links {
	}

	.menuopen .searchform.openSearch {
		height: 32px;
		width: 330px;
	}


	.standard-staff-text {
		padding-left: 15px;
	}
	.title-value-name {
		font-size: 24px;
	}
	.standard-staff-text h3 {
		font-size: 24px;
	}

	.dynamic-video-block .video_title {
		font-size: 30px;
	}




	.dynamic-values {
		margin: 0;
		position: relative;
	}
	.dynamic-values .valuesBlock {
		padding: 102px 0 100px;
	}
	.dynamic-values .valuesBlock:before {
		max-width: 310px;
		max-height: 312px;
	}

	.dynamic-values .section_title h2 {
		margin-bottom: 50px;
		font-size: 40px;
		line-height: 1.35;
	}
	.value-slide {
		min-width: 266px;
	}


	.welcomeBlock:before {
		content: '';
		width: 150px;
		height: 172px;
		background: url('images/welcome-video-icon.png') center center no-repeat;
		margin-bottom: 60px;
		display: block;
		margin-left: 25px;
	}

}







@media only screen and (min-width : 992px) {



	.back-to-main {
		display: none !important;
	}

	#navbar:before {
		width: 100%;
		height: 100%;
		max-height: 406px;
		max-width: 381px;

		content: '';

		background-color: var(--white);
		-webkit-mask-image: url("images/shield-icon.svg");
		mask-image: url("images/shield-icon.svg");
		mask-repeat: no-repeat;
		mask-position: center bottom;
		mask-size: cover;
		display: block;
		position: absolute;
		right: 0px;
		bottom: 0px;
		transition: 300ms;
		opacity: 1;
	}




	.back-to-main {
		display: none !important;
	}
	#navbar {
		background :transparent;
		top:0;
		right: 0px;
		border-left : 0;
		width: 100%;
		background : var(--blue);
		padding: 295px 50px 40px;
		height: 100vh;
		min-height: 900px;
		transform: translateY(-100%);
	}

	#navbar .container {
		max-width: 1280px;
	}

	body.menuopen #navbar.menu-level-2:before {

	}


	body.menuopen #navbar {
		transform: translateY(0);
	}
	/*body.menuopen #navbar.menu-level-2{
		transform: translateX(-100%);
	}
	
	body.menuopen #navbar.menu-level-3{
		transform: translateX(-200%);
	}*/

	#menu-main li {
		position: static; 
	}

	#navbar .menu-main-container {
		padding-bottom:0px;
		width: 33.334%;
		padding-top: 0;
		scrollbar-width: thin; /* For Firefox */
    	scrollbar-color: rgba(0, 0, 0, 0.32) transparent; /* Thumb and track color */
	}

	#navbar .menu-main-container::-webkit-scrollbar {
    	width: 8px;
	}

	#navbar .menu-main-container::-webkit-scrollbar-track {
		background: transparent;
	}

	#navbar .menu-main-container::-webkit-scrollbar-thumb {
		background-color: rgba(0, 0, 0, 0.32);
		border-radius: 10px;
		border: 2px solid transparent; /* Optional: for spacing inside track */
	}


	#navbar .menu-main-container #menu-main li .sub-menu {
		position: absolute;
		top: 0;
		left: -3px; 
        width: calc(100% + 2px);
		height: 100%;
		padding-top: 13px;

		transform: translateX(100%);
		transition: transform 1.3s ease;
		border: none;

	}


	#navbar .menu-main-container #menu-main li .sub-menu{
		transform: translateX(200%);
	}

	#navbar .menu-main-container #menu-main > li.open > .sub-menu{
		transform: translateX(100%);
	}

	#menu-main  > li.open .sub-menu > li.open > .sub-menu {
		transform: translateX(100%) !important;
	}

	#navbar .menu-main-container #menu-main li.open .sub-menu.prepare-slide,
	#menu-main li .sub-menu li.open > .sub-menu.prepare-slide{
		transform: translateX(100%) !important;
		transition: none !important;
	}

	#menu-main {
		margin: 0;
	}
	#navbar .menu-main-container {
		padding: 0;
	}




	#navbar.menu-level-2 #menu-main:after,
	#navbar.menu-level-3 #menu-main:after
	{
		display: none;
	}

	#navbar.menu-level-3 #menu-main li.open ul.sub-menu:after {
		display: none;
	}
	


	#menu-main li a {
		letter-spacing: 0px;
		line-height: 1.334;
		font-size: 30px;
		color: var(--white);
		text-transform: inherit;
		font-weight: 700;
		padding: 6px 55px 6px 0px;
		font-family: "the-seasons",sans-serif;
		position: relative;
		border: none;
	}




	#menu-main li li.submenu_parent a {
		letter-spacing: 0px;
		line-height: 1.334;
		font-size: 23px;
		color: var(--white);
		text-transform: inherit;
		font-weight: 700;
		padding: 5px 55px 5px 0px;
		font-family: "the-seasons",sans-serif;
	}
	#menu-main li li.submenu_parent a:hover {
		color: var(--yellow);
	}
	#menu-main li li.submenu_parent > a:before, #menu-main li li.submenu_parent > a:after {
		display: none;
	}


	#menu-main li li li.submenu_parent a {
		display: block;
		color: var(--white);
		font-size: 23px;
		font-weight: 300;
		line-height: 1.334;
		margin-bottom: 0px;
		letter-spacing: 0px;
		text-transform: inherit;
		padding: 5px 55px 5px 0px;
		font-family: "clother",sans-serif;
	}	
	#menu-main li li li.submenu_parent a:hover {
		color: var(--yellow);
	}

	#menu-main li li.menu-item-has-children > .arrow {

	}

	#menu-main li li a {

		letter-spacing: 0px;
		line-height: 1.334;
		font-size: 23px;
		color: var(--white);
		text-transform: inherit;
		font-weight: 700;
		padding: 10px 55px 10px 0px;
		font-family: "the-seasons",sans-serif;
	}

	#menu-main li li li a {
		display: block;
		color: var(--white);
		font-size: 23px;
		font-weight: 300;
		line-height: 1.334;
		margin-bottom: 0px;
		letter-spacing: 0px;
		text-transform: inherit;
		padding: 5px 55px 5px 0px;
		font-family: "clother",sans-serif;
		border: none;		
	}	





	#menu-main li.menu-item-has-children > a:before {
		content: '+';
		font-weight: 700;
		font-family: "Font Awesome 6 Free";
		font-size: 16px;
		display: block;
		right: 10px;
		position: absolute;
		top: 13px;
		display: none;
	}
	#menu-main li li.menu-item-has-children > a:before {
	}
	#menu-main li li li > a:before {
		display: none;
	}


	#menu-main li a:hover {
		color: var(--yellow);
	}


	body.menuopen .headGroup {
		position: fixed;
		z-index: 99999;
	}



		body.menuopen #navbar.menu-level-3{
			transform: translateX(0%);
		}

		body.menuopen #navbar.menu-level-3 .menu-main-container{
			transform: translateX(0%);
			transition : 300ms;
		}

		#navbar .menu-main-container{
			position : relative;
			overflow-x : visible;
			width : 36%;
		}

		#navbar .menu-main-container #menu-main li .sub-menu li .sub-menu{
			width : calc(100% + 2px);
			border: none;
		}

		#menu-main  > li.open .sub-menu > li.open > .sub-menu {
			transform: translateX(100%) !important;
			transition : 300ms;
			border: none;
		}
		#menu-main li:hover > a {
			color: var(--yellow);
		}

		.menu-item.toggleable.open > a {
			position: relative;
			display: blolck !important;
			color: var(--yellow); /* Active text color */
		}
		.menu-item.current-menu-item > a {
			color: var(--yellow) !important; /* Active text color */
		}

		.menu-item.toggleable.open > a:after {
			display: block;
			content: "";
			height: 1px;
			background: var(--white);
			position: absolute;
			left: 0;
			bottom: 5px;

			transform: scaleX(0);
			transform-origin: left center;
			animation: lineGrow 0.4s ease forwards;
			width: 100%;
		}

		.menuopen .header-left .head-lang {
			display: none;
		}
		.menuopen .mainLogo {
			max-width: 130px;
		}



}

.callout_pager {
	text-align: center;
	max-width: 100%;
	width: 100%;
	margin: 48px auto 0;
	z-index: 111;
	height: 10px;

}
.callout_pager span {
	width: 10px;
	height: 10px;
	font-size: 0;
	margin: 0px 5px;
	display: inline-block;
	vertical-align: top;
	background-color: var(--white);
	cursor: pointer;
	border-radius: 50%;
}
.callout_pager span.cycle-pager-active {
	background-color: var(--yellow);
}












.popupImg-main {
	position: relative;
	padding-left: 77px;
}
.popupImg-main:before  {
	content: '';
	width: 100%;
	height: 100%;
	max-width: 236px;
	max-height: 646px;

	background-color: var(--yellow);

	-webkit-mask-image: url("images/image-bg.png");
	mask-image: url("images/image-bg.png");
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	display: block;
	position: absolute;
	left: 0px;
	bottom: -23px;
	z-index: -1;
}


.fancybox__container {
	z-index: 99999 !important;
	--fancybox-bg: rgba(43, 42, 109, 0.7) !important;
}	

.popupAlert {
	max-width: 1296px !important;
	padding: 60px 72px 60px 72px !important;
	color: var(--body_colour);
	background: var(--gray) !important;
	text-align: center !important;
	border-radius: 0px;
	overflow: hidden;
}

.noticeBody {
	padding: 0 !important;
}
.popupAlert .noticeText {
	order: 1;
	text-align: left;
	padding-left: 60px !important;
	padding-top: 63px !important;
}

.popupAlert .noticeText .popTitle {
}
.popTitle { 
	font-size: 48px;
	line-height: 1.125;
	color: var(--title_colour);
	margin-bottom: 32px;
	font-weight: 400;
	position: relative;
	text-align: left;
	font-family: "the-seasons",sans-serif;
}
.alert_button {
	padding-top: 25px;
}

/*.alert_button .button {
	background: var(--blue);
	color: var(--navy);
	display: inline-block;
}
.alert_button .button:hover {
	background: rgba(18, 43, 61, 0.5);
	color: var(--white);
	opacity: 1;
}*/

.alert_button .button:before {
	left: calc(100% - 40px) !important;
    top: 10px !important;
}
.alert_button .button:hover:before {
	left: 0 !important; 
    top: 10px !important;
}



a:-webkit-any-link:focus-visible {
	outline-offset: 0px;
}
:focus-visible {
	outline: -webkit-focus-ring-color auto 0px;
}


.popupAlert .f-button.is-close-btn {
	top: 26px !important;
	right: 31px !important;
	color: var(--title_colour) !important;
	background: var(--dimewhite) !important;
	width: 26px !important;
	height: 26px !important;
	line-height: 22px !important; 
	text-align: center !important;
	border-radius: 50% !important;
	border: 1px solid var(--navy);
	opacity: 1 !important;
}

.fancybox__content>.f-button.is-close-btn {
	--f-button-svg-width: 24px !important;
	--f-button-svg-height: 24px !important
}


.sidebarSec {
	background: var(--blue);
	color: var(--white);
    padding: 35px 25px 40px;
    position: relative;
	margin-top: 0px;
	font-size: 16px;
	line-height: 1.25;
	border-radius: 0px;
	margin-bottom: 25px;
	font-weight: 300;
}
.sidebarSec a {
	color: var(--white);
	letter-spacing: 3.75px;
	text-transform: uppercase;
}

.sidebarSec ul {
	padding: 0;
	margin: 0;
}

.sidebarSec a:hover {
	text-decoration: underline;
}
.sidebarSec h2, .sidebarSec h3, .sidebarSec .its {
	font-size: 32px;
	line-height: 1.2;
	margin-bottom: 10px;
	color: var(--white);
	font-weight: 500;
}
body.blog .side-menu-container {
	display: none;
}

body.blog .sidebar, body.single-post .sidebar, body.archive .sidebar, body.single-staff .sidebar {
	margin-top: 48px;
}
@media (min-width: 768px){
	/* 48px breadcrumb offset + 27px breadcrumb line + 60px gap + ~30px of the
	   title's line-height leading = the title's visible cap height */
	body.single-staff .sidebar {
		margin-top: 165px;
	}
}
body.error404 .body-container {
	padding-top: 40px;
	padding-bottom: 40px;
}
body.search .body-container {
	padding-bottom: 40px;
}

.popupAlert .popupImg {
	order: 1;
}

.popupAlert .popupImg img {
	object-fit: cover;
	object-position: center top;
}






.homeContent .dynamic-text_image .text_image_main_container {
	overflow: visible !important;
}



@media only screen and (max-width : 767px)  {
	.popupAlert .popupImg {
		width: 100%;
		margin-bottom: 40px;
		display: none;
	}
	.popupAlert {
		padding: 0 !important;
	}
	.popupAlert .noticeText {
		padding: 50px !important;
		order: 1;
		text-align: left;
	}
	.popTitle { 
		font-size: 30px;
		line-height: 1.2;
	}
	.welcomeBlock .text-button:after {
		width: 95px;
	}
	.popupAlert .line-vertical {
		left: 45px;
	}
	.popupAlert .line-horizontal {
		top: 45px;
	}
	.popupAlert .wpforms-submit {
		right: -130px !important;
	}

	/* The "Sounds/Voices of the Mountains" badges are dropped on phones: the callout ones
	   and the sun badge drawn above the home welcome title. */
	.dynamic-callout .calloutIcon,
	.welcomeBlock:before {
		display: none;
	}
	/* The home "Verbier" callout: the design shows the whole photo at full width (the word in
	   it runs edge to edge), so the block takes the photo's own height instead of a fixed 747px
	   that cover-crops its sides. The fade scales down with it. */
	.dynamic-callout .st-style1.callout.imageonly {
		min-height: 0;
	}
	.dynamic-callout .st-style1.callout.imageonly .coimg {
		position: relative;
	}
	.dynamic-callout .st-style1.callout.imageonly .coimg img {
		position: static;
		display: block;
		height: auto;
	}
	.dynamic-callout .st-style1.callout.imageonly .coimg:after {
		top: 0;
		height: 65%;
		background: linear-gradient(180deg, #fff 15%, rgba(255, 255, 255, 0) 100%);
	}
	.dynamic-callout .st-style1.callout.imageonly .calloutContent {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		padding: 0;
	}

}




@keyframes lineGrow {
		from {
			transform: scaleX(0);
		}
		to {
			transform: scaleX(1);
		}
	}


@media only screen and (min-width : 1850px)  {


	.dynamic-ctas .cta_container {
		background-position: center -100px;
	}


}

@media only screen and (min-width : 992px)  {

	.header-right {
		padding-right: 102px;
        height: 97px;
        display: flex;
        align-items: center;
        justify-content: end;
	}
	.fixedHeader:not(.menuopen) .header-right {
		height:0;
	}
	.menu-toggle {
		position: absolute;
		right: 20px;
		top: 42px;
	}

	/* Facilities-style straddle title: the blue field text right-aligns so it
	   always ends at the image edge, whatever its length; the white linked part
	   is anchored to start exactly there. */
	.dynamic-facilities .section_title h2 {
		margin-left: 0;
		margin-right: calc(0.25em - 24px);
		text-align: right;
		position: relative;
	}
	.dynamic-facilities .section_title h2 a {
		position: absolute;
		left: 100%;
		top: 0;
		padding-left: 0.5em;
	}




}


@media only screen and (max-width : 991px)  {}



section.homeDynamic.dynamic-values .value-slide{
    flex:0 0 calc((100vw - 48px * 4) / 5);
}

.values_row{
    display:flex;
    flex-wrap:nowrap;
    gap:48px;
}

.value-slide{
    flex:0 0 calc((100% - 192px) / 5);
}

@media(max-width:991px){

    .value-slide{
        flex:0 0 266px;
    }

}


section.homeDynamic.dynamic-values .empty_value_full_width{
    width : 100vw;
	background: red;
}

.values_carousel_section_main .container-fluid{
	width: 100%;
	padding-right: 0;
	padding-left: 0;
	margin-right: auto;
	margin-left: auto;
}

.values_carousel_section_main .container-fluid .horiz-gallery-strip,
.values_carousel_section_main .container-fluid .values_row {
  display: flex;
  flex-wrap: nowrap;
  will-change: transform;
  position: relative;
}

/* ── Inner-page block spacing (desktop) ─────────────────────────────────────
   Figma "Verbier Inner Template V1" leaves 150px between one section's last line and
   the next section's first: 100px from the intro to the first block and between two
   Text & Image blocks, none between stacked callouts or download rows. Blocks that
   already end on a 24-31px bottom margin (text, FAQ, downloads, staff) take that much
   less, so the visible gap stays 150px. Phones and tablets keep their own spacing. */
@media (min-width: 992px) {
	.bodyContent section.dynamicContent {
		margin-top: 150px;
	}
	.bodyContent > .container + section.dynamicContent,
	.bodyContent .dynamic-text_image + section.dynamicContent.dynamic-text_image {
		margin-top: 100px;
	}
	.bodyContent .dynamic-text + section.dynamicContent,
	.bodyContent .dynamic-faq + section.dynamicContent,
	.bodyContent .dynamic-documents + section.dynamicContent,
	.bodyContent .dynamic-web-links + section.dynamicContent {
		margin-top: 125px;
	}
	.bodyContent .dynamic-staff + section.dynamicContent,
	.bodyContent .dynamic-curriculum + section.dynamicContent {
		margin-top: 120px;
	}
	.bodyContent .dynamic-text + section.dynamicContent.dynamic-text {
		margin-top: 134px;
	}
	.bodyContent > section.dynamicContent:last-child {
		margin-bottom: 50px;
	}
	.bodyContent .dynamic-callout + section.dynamicContent.dynamic-callout,
	.bodyContent :is(.dynamic-documents, .dynamic-web-links) + section.dynamicContent:is(.dynamic-documents, .dynamic-web-links) {
		margin-top: 0;
	}
}
