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

*/
:root {
	--body_colour : #000;
	--title_colour : #000;
	--link_colour : #ec3822;
	--link_colour_hover : #ec3822;	
	--button_bg: #ec3822;
	--button_colour: #fff;
	--button_bg_hover: #000;
	--button_colour_hover: #fff;
}

/*Content Wrapper*/


.well {
	padding:10px 15px;
	background:#eaeaea;
	border:solid 1px #ddd;
	margin:20px 0;
}
.scms-carousel .owl-dots span {
	width:10px;
	height:10px;
	display:inline-block;
	background:currentColor;
	border-radius:50%;
}
.scms-carousel .owl-nav {
	position:relative;
}
.scms-carousel .owl-nav .owl-prev{
	position:absolute;
	left:0;
	top:0;
}
.scms-carousel .owl-nav .owl-next{
	position:absolute;
	right:0;
	top:0
}
.scms-carousel .owl-dots {
	padding-left:10px;
	padding-right:10px;
	text-align:center;
}
.scms-carousel .owl-dots .owl-dot {
	display:inline-block;
	margin:0 2px;
	opacity:0.8;
}
.scms-carousel .owl-dots .owl-dot.active {
	opacity:1;
}
.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:10px 0;
}
.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:120px;
	position:relative;
}
.headGroup {
	background:#fff;
	transition:300ms;
	padding-top:15px;
	padding-bottom:15px;
	z-index:220;
	position:fixed;
	height:120px;
	width:100%;
	top:0;
	left:0;
}
.fixedHeader .headGroup {
	
}
.socialDesktop {
	justify-content: end;
    display: flex;
}
/*------------------------------------*\ 
    Navigation
\*------------------------------------*/

.menu-toggle{
    position:relative;
	padding-right:40px;	
	display:inline-block;
	cursor:pointer;
	height:30px;	
    color: #ec3822;
}
.menu-toggle .toggleText{
	display:none;
	vertical-align:middle;
	font-size:14px;
}
.menu-toggle .toggleIcon {
	position:absolute;
	width:30px;
	height:30px;
	right:0;
	top:0px;
	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: 26px;
    height: 1px;
    background-color: var(--link_colour);
    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(--link_colour_hover);
}
.menu-toggle .toggleIcon span {
	top:50%;
	left:2px;
	margin-top:-.5px;	
}
.menu-toggle .toggleIcon span:before {
    top: -8px;
}
.menu-toggle .toggleIcon span:after {
    top: 8px;
}
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;
}
#navbar{
	position: fixed;
	right: 0;
	transition: transform 500ms;
	background-color: #fff;		
	z-index: 9999;
	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: 9999;
}	
#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:300px;
	max-height:680px;
}
#homeBanner {	
	position: relative;
	overflow:hidden;
	min-height:480px;
	max-height:100vh;
}
#pageBanner:before,
.bannerWrap:before {
	content:'';
	display:block;
	width:100%;
	padding-top:35.897%;
}
#homeBanner:before {
	content:'';
	display:block;
	padding-top:56.08%;
}
@media(min-width:768px){
	#homeBanner {
		max-height:880px;
	}
	#homeBanner:before {
		content:'';
		display:block;
		padding-top:56.08%;
	}
}

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

#footer{
	margin-top:2rem;
}
#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*****/
.faqs{

}
.faqs .faq{
	border-bottom:solid 2px #fff;
}

.faq-question{
	position:relative;
	margin:0;
	padding:0.625rem 1.5rem;
    padding-right: 2em;
	background: #a2a6a9;
	color:#fff;
	cursor:pointer;
}
.faq.open .faq-question{
	background:#969696;
}
.faq-question:hover{
	background: #000;
}
.faq-question:after {
    content: '\f054';
    display: block;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5em;
	text-align:center;
    position: absolute;
    right: 5px;
    top:0.625rem;
	font-size:0.8em;
	font-weight:700;
	font-family: "Font Awesome 6 Free";   
    transform: rotate(0deg);
	transition:300ms;
}
.faq.open .faq-question:after {
  transform:rotate(90deg);
}

.faqs .faq:last-child .faq-answer{
	border-bottom:solid 1px #a2a6a9;
}
.faqs .faq.open:last-child .faq-answer{
	border-color:#969696;	
}


/******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 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{
	text-align:center;
	font-weight:700;
	padding:0 15px 15px;
}
/****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: #969696;
	font-size:1em;
	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.3);
}
.callout .coimg img{
	width:100%;
	height:100%;
	object-fit:cover;
	position:absolute;	
}

.callout.hasbg .calloutContent {
	padding-bottom:75px;
	padding-top:150px;
}
.callout.hastext.hasbg .calloutContent {
	padding-bottom:35px;
	padding-top:100px;
}

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

.poi {
	position: relative;
	display: block;
	transition:all 300ms;
    overflow: hidden;
	background:#676767;
	color:#fff;
	font-family: 'Crimson Pro', serif;
	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:100%;
	background:rgba(0,0,0,0.3);
}
.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:center;

}
.poi .textOnlyBlock{
	
}
.poi .poiTitle {
	display:block;
	font-size:20px;
	font-weight:400;
	position:relative;
	padding:10px 15px;
	text-transform:uppercase;
}

.poi .textOnlyBlock .poiTitle{
	margin:5px;
}
.textOnlyBlock {
	padding:10px 30px;
	transition:300ms;
}

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

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

.poiImage .poiText {
	padding:10px 20px;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;	
	bottom:15%;
	transform:translateY(50%);
	text-align:center;
	width:100%;
	transition:300ms;
}
.poiImage .poiText {
}
.poiImage .poiText .poiEx {
	max-height:0;
	overflow:hidden;
	font-size:18px;
	transition:300ms;
}
.poi:hover .poiImage .poiText {
	bottom:50%;
}
.poi:hover .poiImage .poiImageBG {
	opacity:0;
}
.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;
}

/*==========================================================================
  JFK International School — FOUNDATION (fonts, tokens, base type, header)
  Appended last so it overrides the base rules. Fonts load via the Adobe kit
  (functions.php schoocms_fonts): eb-garamond, roboto, futura-pt.
==========================================================================*/
:root{
	--body_colour:#333333;
	--title_colour:#283272;          /* navy */
	--link_colour:#cf3339;           /* red */
	--link_colour_hover:#283272;
	--button_bg:#cf3339;
	--button_colour:#ffffff;
	--button_bg_hover:#283272;
	--button_colour_hover:#ffffff;
	/* brand */
	--jfk-navy:#283272;
	--jfk-red:#cf3339;
	--jfk-header:#161d42;            /* dark header bar */
	--jfk-cream:#ffffff;
	--font-head:"eb-garamond",Georgia,serif;
	--font-body:"roboto",-apple-system,"Segoe UI",sans-serif;
	--font-ui:"futura-pt","Century Gothic","Trebuchet MS",sans-serif;
}

/* Base type — Body Roboto Light · Headings EB Garamond ExtraBold */
body{ font-family:var(--font-body); font-weight:300; color:var(--body_colour); }
.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{ font-family:var(--font-head); font-weight:800; color:var(--title_colour); }

/* Eyebrow / kicker (Futura, uppercase, tracked) */
.eyebrow{ font-family:var(--font-ui); font-weight:500; font-size:16px; letter-spacing:.46em; text-transform:uppercase; }

/* Buttons — red pill (Futura uppercase). Theme button system + Gutenberg */
.blockButton>a, a.button, button.button, .wp-block-button__link{
	display:inline-block; background:var(--button_bg); color:var(--button_colour);
	font-family:var(--font-ui); font-weight:500; font-size:16px; letter-spacing:.46em;
	text-transform:uppercase; text-decoration:none; border:0; border-radius:100px;
	padding:19px 44px; line-height:1; transition:background-color .2s ease;
}
.blockButton>a:hover, a.button:hover, button.button:hover, .wp-block-button__link:hover{
	background:var(--button_bg_hover); color:var(--button_colour_hover);
}

/*------------------------------------*\  Header (transparent, overlays the hero)  \*------------------------------------*/
header.mainHeader{ position:absolute; top:0; left:0; width:100%; z-index:220; height:auto; }
.mainHeader .headGroup{
	position:static;                 /* not the theme's fixed white bar */
	background:transparent;
	height:auto; padding:32px 0 0;
	border-bottom:0;
}
.mainHeader .headGroup>.container{ max-width:100%; padding-inline:70px; }
.mainHeader .headRow{
	display:flex; align-items:flex-start; justify-content:space-between; gap:24px;
}
.mainHeader .headerIcon .mainLogo{ width:211px; height:auto; display:block; } /* 211×172 */
.mainHeader .header-right{ display:flex; align-items:center; gap:40px; margin-top:14px; }

/* ENQUIRY / APPLY NOW links */
.mainHeader .header-right .head-link{
	font-family:var(--font-ui); font-weight:500; font-size:15px; letter-spacing:.12em;
	text-transform:uppercase; color:#fff; text-decoration:none;
	padding-bottom:5px; border-bottom:1px solid rgba(255,255,255,.65);
	transition:opacity .2s ease;
}
.mainHeader .header-right .head-link:hover{ opacity:.8; }

/* search toggle (inline svg → currentColor) */
.mainHeader .searchToggle{
	display:inline-flex; align-items:center; justify-content:center;
	background:none; border:0; padding:0; color:#fff; cursor:pointer;
}
.mainHeader .searchToggle svg{ width:20px; height:20px; display:block; }
.mainHeader .searchToggle:hover{ opacity:.8; }

/* circular menu toggle */
.mainHeader .menu-toggle{ display:inline-flex; width:48px; height:48px; padding:0; }
.mainHeader .menu-toggle img{ width:48px; height:48px; display:block; }
.mainHeader .menu-toggle .toggleIcon{ display:none; }

/* search reveal (body.searchopen via figma-header.js pattern) */
.headerSearch{ background:var(--jfk-header); overflow:hidden; max-height:0; transition:max-height .3s ease; }
body.searchopen .headerSearch{ max-height:140px; }
.headerSearch>.container{ max-width:100%; padding:18px 70px; }

/* off-canvas nav (#navbar, override theme id rules) */
#navbar{ top:0; width:min(420px,90vw); background:var(--jfk-header); color:#fff; border-left:0; padding-top:96px; }
#menu-main{ margin:0; padding:0; list-style:none; }
#menu-main li a{ color:#fff; border-bottom:1px solid rgba(255,255,255,.15); padding:14px 0; font-family:var(--font-ui); text-transform:uppercase; letter-spacing:.08em; font-size:15px; }
#menu-main li a:hover{ color:#fff; opacity:.8; }
body.menuopen::before{ content:""; position:fixed; inset:0; background:rgba(20,26,54,.55); z-index:9990; }

@media (max-width:991px){
	.mainHeader .headGroup>.container, .headerSearch>.container{ padding-inline:24px; }
	.mainHeader .header-right{ gap:20px; }
	.mainHeader .headerIcon .mainLogo{ width:150px; }
	.mainHeader .header-right .head-link{ display:none; } /* into off-canvas on mobile */
}

/*------------------------------------*\  Quote (dynamic-quote)  \*------------------------------------*/
.quoteContainer{ background:#fff; color:var(--jfk-navy); padding:90px 0; }
.quotes-holder .quotesTitle{ text-align:center; color:var(--jfk-navy); }
.quotes-holder .quote-text{
	font-family:var(--font-head); font-weight:800; font-style:italic;
	font-size:40px; line-height:50px; color:var(--jfk-navy);
	text-align:center; max-width:905px; margin:0 auto; position:relative; padding:0 20px;
}
.quotes-holder .quote-text::before,
.quotes-holder .quote-text::after{
	color:var(--jfk-red); font-family:var(--font-head); font-weight:800; font-style:normal;
	font-size:128px; line-height:1; position:absolute;
}
.quotes-holder .quote-text::before{ content:"\201C"; left:-90px; top:-24px; }
.quotes-holder .quote-text::after{ content:"\201D"; right:-90px; bottom:-96px; }
.quotes-holder .quote-cite{ display:block; text-align:center; margin-top:24px;
	font-family:var(--font-ui); text-transform:uppercase; letter-spacing:.1em;
	font-size:14px; font-style:normal; color:var(--jfk-navy); }
@media (max-width:1100px){
	.quotes-holder .quote-text::before{ left:-40px; top:-40px; font-size:90px; }
	.quotes-holder .quote-text::after{ right:-40px; bottom:-70px; font-size:90px; }
}
@media (max-width:640px){
	.quotes-holder .quote-text{ font-size:26px; line-height:34px; }
	.quotes-holder .quote-text::before,.quotes-holder .quote-text::after{ font-size:60px; }
	.quotes-holder .quote-text::before{ left:-6px; top:-30px; }
	.quotes-holder .quote-text::after{ right:-6px; bottom:-40px; }
}

/*------------------------------------*\  Text + Image band (dynamic-text_image, home)  \*------------------------------------*/
/* Full-bleed indigo band + cross pattern. All home text-image blocks share it,
   so consecutive blocks butt together into one continuous band. */
.homeDynamic.dynamic-text_image{
	position:relative; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
	background-color:var(--jfk-navy);
	background-image:url("images/pattern-star.svg"), linear-gradient(150deg,#4a4590 0%,#2e3378 45%,#24295f 100%);
	background-repeat:repeat, no-repeat;
	background-size:64px 64px, cover;
	color:#fff; padding:96px 0;
}
.homeDynamic.dynamic-text_image .textImageRow{
	max-width:1296px; margin:0 auto; padding:0 32px; box-sizing:border-box;
}
/* media */
.homeDynamic.dynamic-text_image .textImageMedia img,
.homeDynamic.dynamic-text_image .textImageVideo{ border-radius:15px; width:100%; height:auto; display:block; overflow:hidden; }
/* text column */
.homeDynamic.dynamic-text_image .textImageText{ color:#fff; }
.homeDynamic.dynamic-text_image .ti-shield{
	display:block; width:76px; height:81px; margin-bottom:16px;
	background:url("images/shield.svg") no-repeat center/contain;
}
.homeDynamic.dynamic-text_image .textImageSubtitle{ color:#fff; margin:0 0 8px; }
.homeDynamic.dynamic-text_image .textImageTitle{
	color:#fff; font-family:var(--font-head); font-weight:800;
	font-size:clamp(40px,5vw,72px); line-height:1.02; margin:0 0 24px;
}
.homeDynamic.dynamic-text_image .textImageText p{
	color:#fff; font-family:var(--font-body); font-weight:300; font-size:16px; line-height:26px;
	max-width:640px; margin:0 0 20px;
}
.homeDynamic.dynamic-text_image .textImageText .button{ margin-top:28px; }
@media (max-width:991px){
	.homeDynamic.dynamic-text_image{ padding:64px 0; }
	.homeDynamic.dynamic-text_image .textImageMedia{ margin-bottom:32px; }
}
