/*
	Theme Name: Schoolcms - Landing Short
	Author: Innermedia
Author URI: https://www.innermedia.co.uk
Description: 
Requires at least: WordPress 4.9.6
Version: 1.0
*/
/*------------------------------------*\
    TYPOGRAPHY
\*------------------------------------*/
/* Worth School brand (matched to worthschool.co.uk) */
:root {
	--worth-navy: #002a4e;
	--worth-sky: #90c5d9;
	--worth-sky-soft: rgba(144, 197, 217, 0.5);
	--worth-yellow: #fcd405;
	--worth-teal: #35b6ba;
	--worth-ink: #000;
	--worth-grey: #f5f5f5;
	--font-body: calibri, Calibri, Carlito, 'Segoe UI', sans-serif;
	--font-display: trajan-pro-3, 'Trajan Pro', 'Cinzel', Georgia, serif;
}
html{
    scroll-behavior: smooth;
    scroll-padding-top: 65px; /* keep anchor targets clear of the fixed header */
}
body {
    font-size: 16px;
    font-weight: 300; /* Calibri Light, as worthschool.co.uk's .text/.section-text copy */
    color: var(--worth-ink);
    line-height: 1.5;
	letter-spacing: -0.002em;
	font-family: var(--font-body);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* "bolder" from 300 would only give 400 */
strong, b {
	font-weight: 700;
}

/* dark sections use the regular weight, like worthschool.co.uk's .light-content */
.introText,
.textBlock.style1,
.ImgtextBlock.solidImgBlock.style1,
.dynamic-two_columns .columnrow .col2 {
	font-weight: 400;
}

.wrapper {
    position: relative;
    overflow: hidden;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}

/* Trajan has no lowercase, so lowercase text renders as small caps - the Worth heading look */
h1, h2 {
    font-family: var(--font-display);
    font-weight: 300;
    text-transform: lowercase;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--worth-sky);
}

h2 {
    font-size: 2.5rem;
    margin: 20px 0 20px 0;
}

@media (min-width: 481px) {
	h2 {
		font-size: 3rem;
	}
	h3 {
		font-size: 1.5rem;
	}
}

.introText h1 {
    font-size: 40px;
    color: #fff;
    margin: 30px 0;
}
.introText h2,
.introText h3 {
	 color: #fff;
}
h3 {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--worth-navy);
}
a {
	color: inherit;
	text-decoration: none;
	transition: all 0.2s cubic-bezier(0, 0, 0.58, 1);
}
a:hover {
	color: inherit;
	opacity: 0.5;
	text-decoration: none;
}

/* Text links - as worthschool.co.uk (bold, dotted underline, fade on hover) */
p a:not(.linkbutton a, .textLink a, .readmore),
li a:not(.linkbutton a, .textLink a, .readmore),
table a {
	border-bottom: dotted 1px rgba(0, 0, 0, 0.5);
	text-decoration: none;
}
p a:not(.linkbutton a, .textLink a, .readmore) {
	font-weight: 700;
}
p a:not(.linkbutton a, .textLink a, .readmore):hover,
li a:not(.linkbutton a, .textLink a, .readmore):hover {
	color: inherit;
	opacity: 0.5;
}
/* dark backgrounds */
.textBlock.style1 p a:not(.linkbutton a, .textLink a, .readmore),
.textBlock.style1 li a:not(.linkbutton a, .textLink a, .readmore),
.homeBanner p a:not(.linkbutton a, .textLink a, .readmore),
.videoText p a:not(.linkbutton a, .textLink a, .readmore),
.footer p a:not(.linkbutton a, .textLink a, .readmore) {
	border-bottom-color: rgba(255, 255, 255, 0.5);
}
/* menu and footer list links are plain (mobile menu dividers are set further down) */
.mainMenu .menu a,
.footer ul li a {
	border-bottom: 0;
}
h4 {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--worth-navy);
    margin: 2.3em 0;
}

/* Worth "define-hr": crest between two sky-blue rules, above centred section headings */
.textBlock h2:first-child[style*="center"]::before {
	content: '';
	display: block;
	/* sized like worthschool.co.uk's .define-sub-white-hr: 30px crest, 100px rules, 5px gaps */
	width: 240px;
	max-width: 100%;
	height: 53px;
	margin: 0 auto 30px;
	background:
		url(images/Worth-Crest-blue.svg) center / 30px auto no-repeat,
		linear-gradient(var(--worth-sky), var(--worth-sky)) left center / 100px 1px no-repeat,
		linear-gradient(var(--worth-sky), var(--worth-sky)) right center / 100px 1px no-repeat;
}
.textBlock.style1 h2:first-child[style*="center"]::before {
	background:
		url(images/Worth-Crest-white.svg) center / 30px auto no-repeat,
		linear-gradient(#fff, #fff) left center / 100px 1px no-repeat,
		linear-gradient(#fff, #fff) right center / 100px 1px no-repeat;
}

p {
    margin-bottom: 1.2em;
}
/*
ul {
    list-style-position: inside;
    padding: 0;
}

.textBlock.default ul {
    color: #237281;
}
*/
blockquote {
    color: inherit;
    text-align: center;
    border: 0;
    border-top: dotted 1px rgba(0, 0, 0, 0.5);
    border-bottom: dotted 1px rgba(0, 0, 0, 0.5);
    padding: 1em 0;
    font-style: normal;
    letter-spacing: -0.02em;
}

table {
    margin: 1em auto;
    text-align: left;
    max-width: 100%;
}

table tr {
    border-bottom: solid 1px;
}

table td {
    padding: 5px;
}

table td:last-child {
    text-align: right;
}
.bodyContent {
	margin:40px 0;
}
/* form changes*/
.dynamicContent div.wpforms-container-full .wpforms-form .wpforms-field-label {
    font-weight: 300;
}

.dynamicContent div.wpforms-container-full .wpforms-form input.wpforms-field-medium, .dynamicContent div.wpforms-container-full .wpforms-form select.wpforms-field-medium, .dynamicContent div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-medium {
    max-width: 100%;
}

.dynamicContent div.wpforms-container-full .wpforms-form button[type=submit] {
    display: inline-block;
    line-height: 1.4em;
    padding: 11px 30px 12px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.065em;
    color: #111;
    background: transparent;
    border: solid 2px var(--worth-sky-soft);
    border-radius: 5px;
    text-align: center;
    transition: all 0.2s cubic-bezier(0, 0, 0.58, 1);
	min-width:200px;
}

.dynamicContent div.wpforms-container-full .wpforms-form button[type=submit]:hover {
    background: #000;
	color: #fff;
    border-color: transparent;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter, div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 10px 40px 30px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #FFF;
    border: 1px solid #F0F0F0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption .wp-caption-text, .gallery-caption {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.sticky {
}

.bypostauthor {
}

/*------------------------------------*\
    RESPONSIVE XL
\*------------------------------------*/

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

@media only screen and (min-width : 1390px) {
    .container {
        max-width: 1300px;
    }
}

@media (min-width: 1590px) {
    .container {
       max-width: 1560px;
    }

}

/* End responsive XL */
/*navigation*/
/*-------------------
Header - as on worthschool.co.uk: fixed and transparent over the banner with the
full logo centred; once the page scrolls (body.fixedHeader, set in js/scripts.js)
it becomes a compact white bar with the smaller logo. Pages without a banner
(body.noBanner) always use the compact bar.
------------------*/
.siteHeader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
}

.headGroup {
	/* dark fade so the white logo and menu read over the banner image */
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0));
	transition: all 0.2s cubic-bezier(0, 0, 0.58, 1);
}

.headRow {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	column-gap: 15px;
	height: 90px;
	transition: height 0.2s cubic-bezier(0, 0, 0.58, 1);
}

.headLeft {
	justify-self: start;
	min-width: 0;
}

.headRight {
	justify-self: end;
}

.logo {
	display: flex;
	align-items: center;
	height: 100%;
}

.logo:hover {
	opacity: 1;
}

/* fixed sizes (matching each SVG's proportions) so the logo can never be squashed */
.logo img {
	max-width: none;
	flex-shrink: 0;
}

.logo .logo-full {
	width: 83px;
	height: 72px;
}

.logo .logo-small {
	display: none;
	width: 56px;
	height: 40px;
}

/* compact state */
body.fixedHeader .headGroup,
body.noBanner .headGroup {
	background: rgba(255, 255, 255, 0.99);
	box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.05);
}

body.fixedHeader .headRow,
body.noBanner .headRow {
	height: 60px;
}

body.fixedHeader .logo .logo-full,
body.noBanner .logo .logo-full {
	display: none;
}

body.fixedHeader .logo .logo-small,
body.noBanner .logo .logo-small {
	display: block;
}

body.noBanner .wrapper {
	padding-top: 60px;
}

@media (min-width: 992px) {
	.headRow {
		height: 130px;
	}

	.logo .logo-full {
		width: 127px;
		height: 110px;
	}

	body.fixedHeader .headRow,
	body.noBanner .headRow {
		height: 65px;
	}

	body.fixedHeader .logo .logo-small,
	body.noBanner .logo .logo-small {
		width: 63px;
		height: 45px;
	}

	body.noBanner .wrapper {
		padding-top: 65px;
	}
}

/* menu */
.mainMenu ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.mainMenu .menu {
	font-size: 13px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.mainMenu .menu a {
	color: var(--worth-ink);
	transition: all 0.2s cubic-bezier(0, 0, 0.58, 1);
}

.mainMenu .menu a:hover {
	text-decoration: none;
	color: var(--worth-ink);
	opacity: 0.5;
}

.menuToggle {
	display: none;
}

@media (min-width: 992px) {
	.mainMenu .menu li {
		display: inline-block;
		position: relative;
		padding: 0 10px;
		vertical-align: middle;
	}

	/* white over the banner, black once the header turns white on scroll */
	.mainMenu .menu a,
	.mainMenu .menu a:hover {
		color: #fff;
	}

	body.fixedHeader .mainMenu .menu a,
	body.noBanner .mainMenu .menu a {
		color: var(--worth-ink);
	}
}

@media (min-width: 1400px) {
	.mainMenu .menu li {
		padding: 0 15px;
	}
}

/*menuToggle*/
@media (max-width: 991px) {
	.menuToggle {
		display: inline-block;
		font-size: 26px;
		color: #fff;
		padding: 5px 0 5px 10px;
		cursor: pointer;
		transition: color 0.2s;
	}

	body.fixedHeader .menuToggle,
	body.noBanner .menuToggle,
	.menuWrap .menuToggle {
		color: var(--worth-ink);
	}

	.menuWrap .toggleClose {
		display: block;
		text-align: right;
		padding: 0 20px 15px;
	}

	.mainMenu .menuWrap {
		position: fixed;
		right: -270px;
		top: 0;
		height: 100%;
		background: #fff;
		display: block;
		width: 260px;
		z-index: 1100;
		padding: 25px 0;
		text-align: left;
		border-left: dotted 1px var(--worth-sky);
		box-shadow: -3px 0 15px 0 rgba(0, 0, 0, 0.08);
		transition: 300ms;
	}

	body.menuopen .mainMenu .menuWrap {
		right: 0px;
	}

	.mainMenu .menu li {
		display: block;
	}

	.mainMenu .menu li a {
		display: block;
		padding: 12px 20px;
		border-bottom: dotted 1px var(--worth-sky-soft);
	}

	.mainMenu .menu li a:hover {
		background: var(--worth-sky);
		color: var(--worth-ink);
		opacity: 1;
	}
}

.homeBanner {
    width: 100%;
    position: relative;
    overflow: hidden;
    max-height: 585px;
    background: #000;
}

.homeBanner .slide {
    width: 100%;
}

@media (max-width: 991px) {
	.homeBanner .slideImage {
		min-height: 460px;
	}
}

.homeBanner .slideImage {
    position: relative;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

/* dark tint over the photo */
.homeBanner .slideImage::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.3);
}

/* Worth hero angled edge */
.homeBanner::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 7vw;
	max-height: 110px;
	background: #fff;
	clip-path: polygon(0 100%, 100% 0, 100% 100%);
	z-index: 105;
	pointer-events: none;
}

.homeBanner .slideImage img {
    visibility: hidden;
}


.homeBanner .slideText {
    color: #fff;
    text-align: center;
    font-family: var(--font-display);
    text-transform: lowercase;
    font-size: 22px;
    font-weight: 300;
    line-height: 1.3;
    z-index: 106;
    background: var(--worth-navy);
    padding: 10px;
	position:absolute;
     width: 100%;   
        bottom: 10%;
        background: transparent;
}
.homeBanner .slideText .linkbutton a {
	font-family: var(--font-body);
	margin-top:20px;
}
.homeBanner .slideText .slideTop {
    font-size: 42px;
    line-height: 0.9;
    letter-spacing: -0.03em;
}
/* hero sizes follow worthschool.co.uk's .hs-line-9 / .hs-line-8 */
@media (min-width: 481px) {
	.homeBanner .slideText {
		font-size: 20px;
	}
	.homeBanner .slideText .slideTop {
		font-size: 48px;
		line-height: 0.8;
	}
}
@media (min-width: 768px) {
	.homeBanner .slideText .slideTop {
		font-size: 71px;
	}
}
@media (min-width: 1025px) {
	.homeBanner .slideText .slideTop {
		font-size: 98px;
	}
}

.homeBanner .openDays {
    color: #fff;
    background:#000;
    padding: 15px 0;
    text-align: center;
	font-size:14px;
}

.homeBanner .openDays a {
    display: inline-block;
    font-weight: 700;
    line-height: 1.4em;
    padding: 11px 30px 12px;
    font-size: 14px;
    text-transform: uppercase;
    background: transparent;
    color: #fff;
    border: solid 2px rgba(255, 255, 255, 0.75);
    border-radius: 5px;
    min-width: 200px;
    text-align: center;
	letter-spacing:0.065em;
}

.homeBanner .openDays a:hover {
    background: #fff;
	color: #111;
	opacity: 1;
    text-decoration: none;
}

.homeBanner .openDays .openCont {
    font-family: var(--font-display);
    text-transform: lowercase;
    font-size: 1.667em;
    line-height: 1.2;
    font-weight: 300;
    padding: 5px 0 10px;
}
#hero .cycle-pager {
    position: absolute;
    right: 30px;
    top: 50%;
    z-index: 101;
}

#hero .cycle-pager span {
    background: #fff;
    font-size: 0;
    width: 14px;
    height: 14px;
    display: block;
    border-radius: 50%;
    margin: 10px 0;
    opacity: 0.7;
    cursor: pointer;
    transition: 300ms;
}

#hero .cycle-pager span.cycle-pager-active {
    opacity: 1;
}
/* no pager dot when there's only one slide */
.cycle-pager span:only-child {
    display: none !important;
}
@media (min-width: 992px) {
    .homeBanner .openDays {
        color:#fff;
        background: rgba(0, 42, 78, 0.85);
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 110;
        padding: 25px 0;
    }

    .homeBanner .openDays {
		 font-size:16px;
	 }

    .homeBanner .openDays .opendayText {
	}
	.homeBanner .slideText {
		 width: 70%;
        left:15%;
        bottom: calc(7vw + 20px);
	}
    
}
@media (min-width: 1200px) {


    .homeBanner .slideText .slideBottom {
        margin-top: 20px;
    }
}

@media (min-width: 1590px) {
	 .homeBanner .openDays {
		 font-size:18px;
	 }
    
}

.introText {
    background: var(--worth-navy);
    color: #fff;
    padding-top: 30px;
    padding-bottom: 40px;
    text-align: center;
}
.introText blockquote{
	font-size:1.3em;
	color:#fff;
	margin-bottom:0;
}
.belowText {
    padding: 30px 0;
    background: var(--worth-grey);
}

.row.columnrow .col-sm-7.col-xl-6.col-xl-offset-1{
    
}
/*Dynamic blocks*/
.dynamicContent {
}

/*text block*/
.textBlock {
    /* text-align: center; */
    padding: 80px 0;
    position: relative;
}

/* extra breathing room under the first section after the banner (Welcome) */
.homeBanner + .dynamicContent .textBlock {
    padding-bottom: 130px;
}

.textBlock.hasimg {
    padding-top: 100px;
    padding-bottom: 60px;
}
/*
.textBlock.default {
    padding: 30px 0;
}*/

.textBlock .imageBackground {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.15;
}

.textBlock.clearBlock .imageBackground {
    opacity: 1;
}


.textBlock .textLink {
    margin: 40px 0 60px;
}

/* Worth "btn-mod btn-border btn-round" */
.textBlock .textLink a,
.linkbutton a {
    display: inline-block;
    line-height: 1.4em;
    padding: 11px 30px 12px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.065em;
    color: #111;
    background: transparent;
    border: solid 2px var(--worth-sky-soft);
    border-radius: 5px;
    text-align: center;
    transition: all 0.2s cubic-bezier(0, 0, 0.58, 1);
}

.textBlock .textLink a:hover,
.linkbutton a:hover{
    background: #000;
    border-color: transparent;
    text-decoration: none;
	color: #fff;
	opacity: 1;
}

/* Light version for dark backgrounds (Worth "btn-border-w") */
.homeBanner .linkbutton a,
.textBlock.style1 .linkbutton a,
.dynamic-two_columns .columnrow .col2 .linkbutton a {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.75);
}
.homeBanner .linkbutton a:hover,
.textBlock.style1 .linkbutton a:hover,
.dynamic-two_columns .columnrow .col2 .linkbutton a:hover {
	color: #111;
	background: #fff;
	border-color: transparent;
	box-shadow: 0 5px 7px 0 rgba(0, 0, 0, 0.2);
}
.linkbutton.telephoneLink a {
	padding:0;
	overflow:hidden;
}
.linkbutton.telephoneLink a .cont {
	display:inline-block;
	position:relative;
	 padding: 10px 41px;
	 opacity:1;
	 transition:300ms;
}
.linkbutton.telephoneLink a .number {
	display:block;
	width:100%;
	position:relative;
	opacity:0;
	position:absolute;
    padding: 10px 00px;
	top:0;
	left:100%;
	 transition:500ms;
}
.linkbutton.telephoneLink a.telOpen .cont {
	opacity:0;
}
.linkbutton.telephoneLink a.telOpen .number {	
	left:0%;
	opacity:1;
}
.textBlock .slide {
	padding:20px 0;
	width:100%;
}



/*default styles*/
/*
.textBlock.default:before  {
    content: '';
    display: block;
    width: 1px;
    background: var(--worth-navy);
    height: 87px;
    margin: 15px auto 0px;
}
*/
.dynamicContent.postCols .textBlock.default {
    background: var(--worth-grey);
    padding-top: 50px;
}

.dynamicContent.postCols .textBlock.default:before {
    display: none;
}
.textBlock.lightgreyBlock {
	background: var(--worth-grey);
}
@media (min-width: 1390px) {
    .textBlock.hasimg .col-sm-12 {
        padding-left:120px;
        padding-right: 120px;
    }
}

/* img text block*/
.ImgtextBlock {
    position: relative;
}

.ImgtextBlock .textBlock {
    padding: 30px;
    text-align: left;
}

.ImgtextBlock .textBlock p {
    line-height: 1.5;
}

.ImgtextBlock .imageBackground {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
}
.ImgtextBlock .textBlock.lightgreyBlock{
	background:rgba(238, 238, 238, 0.8);
	color:#000;
}
@media (min-width: 1590px) {
    .ImgtextBlock .textBlock {
        padding:40px 55px 40px 55px;
    }
}
.ImgtextBlock.solidImgBlock.style1{
	background: var(--worth-navy);
	color:#fff;
}
.ImgtextBlock.solidImgBlock.style1 .textBlock {
	background: var(--worth-navy);
}
.ImgtextBlock.solidImgBlock.textBlock.style2 {
	background: var(--worth-sky);
	color: var(--worth-ink);
}
.ImgtextBlock.solidImgBlock.style2 .textBlock {
	background: var(--worth-sky);
}
.ImgtextBlock.solidImgBlock .container {
	position:relative;
}
.ImgtextBlock.solidImgBlock .twocol-bg {
    position: relative;
    height: 400px;
}
.ImgtextBlock.solidImgBlock .twocol-bg img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}
@media (min-width: 768px) {
    .ImgtextBlock.solidImgBlock .twocol-bg {
        position:absolute;
        left: 0;
        right: 40%;
        top: 0;
        bottom: 0;
        height: auto;
    }
	.ImgtextBlock.solidImgBlock.leftTxt .twocol-bg {
        position:absolute;
        right: 0;
        left: 40%;
        top: 0;
        bottom: 0;
        height: auto;
    }
}
/*columns*/
.dynamic-two_columns .columnrow .col2 {
    background: var(--worth-navy);
	color:#fff;
    z-index: 2;
	padding-bottom:5px;
	padding-bottom:30px;
}
.dynamic-two_columns .columnrow .col2 h2,
.dynamic-two_columns .columnrow .col2 h3{
	color:#fff;
}

.dynamic-two_columns .columnrow .col2 .col-bottom-image{
	margin:10px -15px -22px;
}
.dynamic-two_columns .columnrow > div {
	 padding-top: 60px;
    padding-bottom: 60px;
}

.dynamic-two_columns .columnrow > div:nth-child(2) {
    transform: translateX(1px);
}


@media (min-width: 992px) {
    .dynamic-two_columns .columnrow {
        display:flex;
        background: #fff;
        position: relative;
    }
	.dynamic-two_columns.intro-two .columnrow .col2 {
		margin-top:-250px;
		position:relative;
		z-index:120;
		padding-top:20px;
	}
    .dynamic-two_columns {
        position: relative;
    }

    .dynamic-two_columns h3 {
        max-width:500px
    }


    .dynamic-two_columns .columnrow .col2 {
        /* margin-left: 2px; */
    }
}
@media (min-width: 1200px) {
	.dynamic-two_columns.intro-two .columnrow .col2 {
		margin-top:-450px;		
	}

	
}
@media (min-width: 1390px) {
    .dynamic-two_columns .columnrow > div {       
        padding-right: 40px;
    }
	.dynamic-two_columns .columnrow .col2 {
		padding-left:40px;
	}
	.dynamic-two_columns .columnrow .col2 .col-bottom-image{
		margin:10px -40px -22px;
	}
.dynamic-two_columns.intro-two .columnrow .col2 {
		margin-top:-450px;		
}
}
/*infoBlocks*/
.infoBlocks .image {
}

.infoBlocks img {
    border-radius: 100%;
}

.infoBlocks:before {
    content:"";
    position:absolute;
    top:0;
    right:0;
    left:0;
    bottom:50%;
    background: var(--worth-grey);
    display:block;
}

.infoBlocks {
    text-align: center;
    padding-top: 0px;
    padding-bottom: 0px;
    position: relative;
}

.infoBlocks .infoBlock {
    padding-top: 20px;
    padding-bottom: 20px;
}

.infoBlocks .infoBlock .images {
    padding: 10px 0;
}

@media (min-width: 992px) {
    .infoBlocks .infoBlock {
        padding-left:30px;
        padding-right: 30px;
    }
}

/*innerInfoBlocks*/
.innerInfoBlocks {
    margin-top: 30px;
    margin-bottom: 30px;
    line-height: 105px;
    text-align: center;
}

.innerInfo {
    line-height: 1.3;
    display: inline-block;
    vertical-align: middle;
    margin-top: 20px;
    margin-bottom: 10px;
}

.innerInfoBlocks .image {
    height: 45px;
    line-height: 45px;
}

.innerInfoBlocks .image img {
    vertical-align: middle;
}

.innerInfoBlocks img {
    max-height: 105px;
}

.innerInfoBlocks strong {
    display: block;
}

.innerInfoBlocks span {
    display: block;
    font-size: 16px;
}


.highlights {
    display: flex;
    flex-wrap: wrap; 
    justify-content: space-around;
}

.highlights > div {
    flex-basis: 50%;
    text-align:center;
    overflow: hidden;
}

@media(max-width:767px){
    .highlights > div {
        flex-basis: 100%;
    }
}
.highlight-icon {
	border:dotted 1px var(--worth-sky);
	max-width:230px;
	padding:5px 20px;
	line-height:84px;
	margin:5px auto 10px;
	text-align:center;
	
}
.highlight-icon img{
	display:inline-block;
	vertical-align:middle;
}
.highlight-title {
    color: #000;
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.3em;
}




.tb-pager {
    display: block;
    text-align: center;
    font-size: 40px;
    line-height: 20px;
    letter-spacing: 7px;
	position:relative;
	z-index:120;
}

.tb-pager > span{
    color:#333;
    opacity:0.5;
    transition:all 300ms;
}

.tb-pager .cycle-pager-active{
    opacity:1;
}

.boxed-items {
    margin: 60px 0;
}


.boxed-item {
    overflow: hidden;
    border: 4px solid rgba(255, 255, 255, 0.5);
    margin: 30px 0;
    padding: 30px;
}

.whiteBlock .boxed-item {
	border-color:#e2e2e3;
}
.boxed-item img{
    border-radius:100%;
    width: 20%;
    margin: 0 30px;
}

@media(max-width:767px){
    .boxed-item img{
        width: 100%;
        margin:0px;
        float:none;
    }
}



/*infoCarousel*/
.infoCarousel {
	position:relative;
}
.infoCarItem {
	padding:20px;
	text-align:center;
	color: var(--worth-ink);
}
.infoCarItem h3{
	position:relative;
	font-size:20px;
	margin:1em 0;
	padding-top:10px;
	line-height:1.3;
	min-height:2.6em;
}
.infoCarItem h3:before{
	content:'';
	display:block;
	position:absolute;
	width:20px;
	height:1px;
	background:var(--worth-sky);
	top:0;
	left:50%;
	margin-left:-10px;
}
.infoCarousel .owl-prev,
.infoCarousel .owl-next {
	font-size:0;
	width:15px;
	height:29px;
	display:block;
	position:absolute;
	background-image:url(images/arrow-dark.png);
	background-repeat:no-repeat;
	top:50%;
	transition:300ms opacity;
}
.infoCarousel .owl-prev{
	left:-7px;
}
.infoCarousel .owl-next {
	right:-7px;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.infoCarousel .owl-prev.disabled,
.infoCarousel .owl-next.disabled {
	opacity:0;
}
/* Link Blocks*/
.linkBlock  a{
	display:block;
	width:100%;
	position:relative;
	margin-bottom:30px;
	max-height:300px;
}
.linkBlock  a:before{
	content:'';
	display:block;
	width:100%;
	padding-top:55%;	
}
.linkBlock a .linkBlockimg{
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
.linkBlock a .linkBlockimg img{
	display:none;
}
.linkBlock a .lnkTitle{
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	line-height: 1.4em;
    padding: 10px 20px;
    font-size: 16px;
    text-transform: uppercase;
    background: var(--worth-navy);
    color: #fff;
    border: solid 2px var(--worth-navy);
    text-align: center;
    width: 100%;
    background: var(--worth-navy);
    transition: all 300ms;
}
.linkBlock  a:hover .lnkTitle{
	background:#fff;
	color:var(--worth-navy);
}
.dynamic-link_blocks .linkBlocks .linkBlock {
    background: none!important;
    margin: 0!important;
}
.dynamic-link_blocks .linkBlocks {
    margin: 0!important;
}
@media (min-width:768px){
	.linkBlock  a:before{
	padding-top:65%;		
	}
}
@media (min-width:992px){
	.linkBlock a .lnkTitle {
    	font-size: 20px;
	}
    .dynamic-link_blocks .linkBlocks .linkBlock {
        padding: 20px!important;
    }
}
/*testimonials*/
.testimonialBlock .cycle-slideshow {
	width:100%;
	text-align:center;
}
.testimonialBlock .slide {
	width:100%;
}
.testimonialWrap {
	padding:20px 70px;
	font-size:20px;
}
.testimonialWrap .cycle-pager {
	font-size: 45px;
    line-height: 5px;
	color: var(--worth-sky);
	margin-top:20px;
	text-align:center;
}
.testimonialWrap .cycle-pager span{
	margin:0 3px;
	cursor:pointer;
	opacity:0.7;
}
.testimonialWrap .cycle-pager .cycle-pager-active {
	opacity:1;
}

/* white band with an angled top that overlaps the section above, like the angled sections on worthschool.co.uk */
.textBlock.testimonialBlock {
	--testimonial-edge: min(15vw, 220px);
	position: relative;
	z-index: 2;
	margin-top: calc(-1 * var(--testimonial-edge));
	padding-top: calc(var(--testimonial-edge) + 40px);
	background: #fff;
	clip-path: polygon(0 var(--testimonial-edge), 100% 0, 100% 100%, 0 100%);
}
/* room in the section above so the angle doesn't cover its content */
.dynamicContent:has(+ .dynamic-testimonials) .textBlock {
	padding-bottom: calc(80px + min(15vw, 220px));
}
.dynamicContent:has(+ .dynamic-testimonials) .imageBlock {
	margin-bottom: 0;
}
/* quotes match worthschool.co.uk's quote slider (.quote-content .hs-line-4.serif / .hs-line-10) */
.testimonialWrap blockquote{
	width: 80%;
	margin: 0 auto;
	padding: 0;
	border: 0;
	font-family: var(--font-display);
	font-size: 42px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.04em;
	text-transform: lowercase;
	font-style: normal;
	color: #000;
}

.testimonialWrap blockquote p {
	margin-bottom: 30px;
}

.testimonialWrap blockquote p::before {
	content: url(images/quote-marks.svg);
	display: block;
	width: 30px;
	margin: 0 auto;
	padding-bottom: 20px;
}

.testimonialWrap blockquote cite{
	display: block;
	font-family: var(--font-body);
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	color: #000;
}
@media (max-width: 768px) {
	.testimonialWrap {
		padding: 20px 0;
	}
	.testimonialWrap blockquote {
		width: 100%;
		font-size: 20px;
	}
	.testimonialWrap blockquote p {
		margin-bottom: 10px;
	}
}
/* Video block - as the "Worth on film" section on worthschool.co.uk */
.videoBlock {
	--video-edge: min(15vw, 220px);
	position: relative;
	z-index: 2;
	/* angled top edge rising from bottom left to top right; the section above shows through the angle */
	margin-top: calc(-1 * var(--video-edge));
	padding-top: var(--video-edge);
	padding-bottom: 30px;
	background: var(--worth-teal);
	color: #fff;
	clip-path: polygon(0 var(--video-edge), 100% 0, 100% 100%, 0 100%);
}
/* make room so the angle never covers the content of the section above */
.dynamicContent:has(+ .dynamic-video_block) .textBlock {
	padding-bottom: calc(60px + min(15vw, 220px));
}
.videoCol {
	padding-top: 15px;
	padding-bottom: 15px;
}
.videoCard {
	display: block;
	position: relative;
	overflow: hidden;
	color: #000;
}
.videoCard:hover {
	opacity: 1;
	color: #000;
}
.videoCard img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 900 / 630;
	object-fit: cover;
}
.videoCard::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(250, 250, 250, 0);
	transition: background 0.3s;
}
.videoCard:hover::after {
	background: rgba(250, 250, 250, 0.9);
}
.videoCard .fa-play-circle {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	font-size: 70px;
	color: #fff;
	transition: opacity 0.3s;
}
.videoCard:hover .fa-play-circle {
	opacity: 0;
}
.videoIntro {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -50px;
	z-index: 3;
	padding: 20px;
	text-align: center;
	opacity: 0;
	transition: all 0.3s;
}
.videoCard:hover .videoIntro {
	bottom: 30%;
	opacity: 1;
}
.videoTitle {
	display: block;
	margin-bottom: 5px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
	text-transform: uppercase;
}
.videoDescr {
	font-size: 13px;
	opacity: 0.8;
}
.videoText {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px 30px;
	text-align: center;
	font-size: 15px;
}
/* h2 uses the page-wide h2 styles; only the colour changes on teal */
.videoText h2 {
	color: #fff;
	margin: 0 0 20px;
}
.videoText h3 {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 300;
	text-transform: lowercase;
	color: #fff;
	margin: 0 0 30px;
}
.videoText a {
	color: #fff;
}
.videoText .crestDivider {
	width: 240px;
	max-width: 100%;
	height: 53px;
	margin: 0 auto 30px;
	background:
		url(images/Worth-Crest-white.svg) center / 30px auto no-repeat,
		linear-gradient(#fff, #fff) left center / 100px 1px no-repeat,
		linear-gradient(#fff, #fff) right center / 100px 1px no-repeat;
}
@media (min-width: 992px) {
	.videoText {
		padding: 15px 40px;
	}
}
/*Image Block*/
.imageBlock {
	width:100%;
	margin:30px auto;	
}
/* single full-width images sit flush against the sections around them */
.imageBlock.imageBlockSingle {
	margin-top: 0;
	margin-bottom: 0;
}
.imageWrap {
	width:100%;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat
}

.imageWrap img{
	width:100%;
}
@media (min-width:992px){
	.imageWrap {
		max-height:400px;
	}
	.imageWrap img{
		visibility:hidden;
	}	
}
@media (min-width:1200px){
	.imageWrap {
		max-height:550px;
	}
}
.blockGalleryItem {
	padding-bottom:30px;
	text-align:center;
}
.blockGalleryItem a{
	border:solid 2px transparent;
	display:inline-block;
}
.blockGalleryItem a:hover{
	border-color:var(--worth-sky);
	opacity: 1;
}
.imgBlockCar {
	position:relative;
	padding:0 15px;
}
.imgBlockCar .blockGalleryItem {
	padding-bottom:0;
}
.imgBlockCar  .owl-prev,
.imgBlockCar  .owl-next {
	font-size:0;
	width:15px;
	height:29px;
	display:block;
	position:absolute;
	background-image:url(images/arrow-dark.png);
	background-repeat:no-repeat;
	top:50%;
	transition:300ms opacity;
}
.imgBlockCar  .owl-prev{
	left:-7px;
}
.imgBlockCar  .owl-next {
	right:-7px;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.imgBlockCar  .owl-prev.disabled,
.imgBlockCar  .owl-next.disabled {
	opacity:0;
}
/*----------------
Footer - as worthschool.co.uk
------------------*/
.footer {
	--footer-edge: min(15vw, 220px);
	/* angled top edge: navy rises from bottom left to top right (clipping the footer itself, so there's no seam) */
	padding-top: var(--footer-edge);
	background: var(--worth-navy);
	clip-path: polygon(0 var(--footer-edge), 100% 0, 100% 100%, 0 100%);
	color: #fff;
	font-size: 14px;
	text-align: left;
}

.footer a {
	color: #fff;
	text-decoration: none;
	transition: all 0.27s cubic-bezier(0.3, 0.1, 0.58, 1);
}

.footer a:hover {
	color: #fff;
	opacity: 0.5;
}

.footer p a:not(.linkbutton a, .textLink a, .readmore) {
	font-weight: 300;
}

.footer p {
	line-height: 1.2;
	margin-bottom: 1em;
}

.footerRow {
	padding: 20px 0 50px;
}

.footerLogo img {
	width: 100%;
	max-width: 150px;
	height: auto;
}

.footerCol {
	padding-top: 20px;
}

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

.footerLinks li {
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 1.6;
}

.socialLinks {
	display: flex;
	flex-wrap: wrap;
	padding-top: 40px !important;
}

.socialLinks li {
	padding: 0 10px;
	font-size: 18px;
}

.socialLinks li:first-child {
	padding-left: 0;
}

.footerCopy {
	margin: 20px 0 30px;
	font-size: 12px;
	opacity: 0.9;
}

.footerAwards ul {
	text-align: center;
	padding-top: 20px;
}

.footerAwards li {
	display: inline-block;
	margin: 0 5px 15px;
	padding: 1px;
	background: var(--worth-sky);
	border-radius: 50%;
}

.footerAwards img {
	display: block;
	width: auto;
	height: 105px;
	border-radius: 50%;
}

@media (max-width: 767px) {
	.footer {
		text-align: center;
	}
	.footerLogo {
		text-align: center;
	}
	.socialLinks {
		justify-content: center;
	}
	.socialLinks li:first-child {
		padding-left: 10px;
	}
}

@media (min-width: 768px) {
	.footerCol {
		border-right: dotted 1px #fff;
	}
	.footerCol + .footerCol {
		padding-left: 30px;
	}
}

@media (min-width: 992px) {
	.footerAwards ul {
		text-align: left;
		padding-left: 15px;
	}
}

.footerCredit {
	padding: 20px 15px 40px;
	background: #fff;
	text-align: center;
}

.footerCredit a {
	color: #757575;
	font-size: 12px;
}

.footerCredit a:hover {
	color: #757575;
}

ul.inputs-list {
    list-style: none;
}

ul.inputs-list input[type='checkbox'] {
    margin-right: 10px
}

/*Accordions*/
.accordion {
	margin-bottom:10px;
	border-bottom:dotted 1px var(--worth-sky);
}
.accordion.open {
	border-bottom-color: var(--worth-sky-soft);
}
.accordion .title {
	position:relative;
	cursor:pointer;
	background: transparent;
	color: var(--worth-ink);
	font-family: var(--font-display);
	font-weight: 300;
	font-size: 22px;
	text-transform: lowercase;
	letter-spacing: -0.02em;
	margin:0;
	padding:0.6em 10px 0.6em 0;
	padding-right:35px;
}
.accordion .title:after {
	content:'\f054';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display:inline-block;
	position:absolute;
	right:10px;
	top:0.7em;
	font-size: 16px;
	color: var(--worth-sky);
	transition:300ms;
}
.accordion.open .title:after {
	transform:rotate(90deg);
}
.accordionContent {
	display:none;
	overflow:hidden;	
	padding:10px 0 5px 0;
}

/*----------------
	STYLE TYPES
------------------*/

/*Style 1*/
.textBlock.style1 {
	background: var(--worth-navy);
	color:#fff;
}

.textBlock.style1 h2,
.textBlock.style1 h3,
.textBlock.style1 h4{
	color:#fff;
}
.textBlock.style1 a{
	color:#fff;
}
.ImgtextBlock .textBlock.style1 {
	background:rgba(0, 42, 78, 0.85)
}
.textBlock.style1 a.readmore,
.textBlock.style1 div.wpforms-container-full .wpforms-form button[type=submit],
.dynamic-two_columns .columnrow .col2 div.wpforms-container-full .wpforms-form button[type=submit],
.textBlock.style1 .submitButton  {
	color: #fff;
	border: solid 2px rgba(255, 255, 255, 0.75);
	background: transparent;
}
.textBlock.style1 a.readmore:hover,
.textBlock.style1 div.wpforms-container-full .wpforms-form button[type=submit]:hover,
.dynamic-two_columns .columnrow .col2 div.wpforms-container-full .wpforms-form button[type=submit]:hover,
.textBlock.style1 .submitButton:hover  {
	background: #fff;
    color: #111;
    border-color: transparent;
    opacity: 1;
}
.textBlock.style1 div.wpforms-container-full .wpforms-form .wpforms-field-label,
.textBlock.style1 div.wpforms-container-full .wpforms-form .wpforms-field-sublabel,
.textBlock.style1 div.wpforms-container-full .wpforms-form .wpforms-field-description {
	color: #fff;
}
/*Style 2*/
.textBlock.style2 {
	background: var(--worth-sky);
	color:#fff;
}
.textBlock.style2 h2,
.textBlock.style2 h3,
.textBlock.style2 h4{
	color:#fff;
}
.textBlock.style2 a{
	color:#fff;
}
.ImgtextBlock .textBlock.style2 {
	background:rgba(144, 197, 217, 0.9);
}
.textBlock.style2 {
	color: var(--worth-ink);
}
.textBlock.style2 h2,
.textBlock.style2 h3,
.textBlock.style2 h4,
.textBlock.style2 a {
	color: var(--worth-navy);
}
.textBlock.style2 .linkbutton a {
	border-color: var(--worth-navy);
}
/*Transparent*/
.textBlock.clearBlock .imageBackground {
    opacity: 1;
}

/*Light Grey 2*/
.textBlock.lightgreyBlock {
	background:#eee;
}
.ImgtextBlock .textBlock.lightgreyBlock{
	background:rgba(238, 238, 238, 0.8);
	color:#000;
}

/*Curriculum Page*/
.subject-tile {
	background:var(--worth-navy);
}
#subject-tiles .subject-block .panel {
	color:#000;
}
#subject-tiles .subject-block .subject-close {
	background:var(--worth-navy);
}
.subject-tile.subjectOpen .cover .button-wrap {
	background:var(--worth-navy);
}
#subject-tiles .subject-block .photo {
	margin-bottom:30px;
}
#subject-tiles .subjContent {
	padding-top:0;
}
#subject-tiles .title {
}
@media (min-width:992px){
	#subject-tiles .subject-block .photo {
		float:right;
		padding-right:35px;
		padding-left:15px;
	}
}

/* wpforms */

div.wpforms-container-full .wpforms-form .wpforms-field {
    padding: 8px 0!important;
}

div.wpforms-container-full .wpforms-form input[type=date], div.wpforms-container-full .wpforms-form input[type=datetime], div.wpforms-container-full .wpforms-form input[type=datetime-local], div.wpforms-container-full .wpforms-form input[type=email], div.wpforms-container-full .wpforms-form input[type=month], div.wpforms-container-full .wpforms-form input[type=number], div.wpforms-container-full .wpforms-form input[type=password], div.wpforms-container-full .wpforms-form input[type=range], div.wpforms-container-full .wpforms-form input[type=search], div.wpforms-container-full .wpforms-form input[type=tel], div.wpforms-container-full .wpforms-form input[type=text], div.wpforms-container-full .wpforms-form input[type=time], div.wpforms-container-full .wpforms-form input[type=url], div.wpforms-container-full .wpforms-form input[type=week], div.wpforms-container-full .wpforms-form select {
    height: 35px!important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-label {
    font-size: 15px!important;
}

/* tidy, consistent fields */
div.wpforms-container-full .wpforms-form input[type=email],
div.wpforms-container-full .wpforms-form input[type=tel],
div.wpforms-container-full .wpforms-form input[type=text],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea {
    height: 40px!important;
    padding: 6px 10px;
    font-family: var(--font-body);
    font-size: 15px;
    color: #000;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0;
    box-shadow: none;
}

div.wpforms-container-full .wpforms-form textarea {
    height: 90px!important;
}

div.wpforms-container-full .wpforms-form input:focus,
div.wpforms-container-full .wpforms-form select:focus,
div.wpforms-container-full .wpforms-form textarea:focus {
    border-color: var(--worth-sky);
    box-shadow: 0 0 0 2px var(--worth-sky-soft);
}

.dynamicContent div.wpforms-container-full .wpforms-form .wpforms-field-label {
    font-weight: 400;
    margin-bottom: 6px;
}

div.wpforms-container-full .wpforms-form .wpforms-required-label {
    color: var(--worth-sky);
}

div.wpforms-container-full .wpforms-form .wpforms-field-description {
    font-size: 13px;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 6px;
}

div.wpforms-container-full .wpforms-form .wpforms-field-label-inline {
    font-size: 15px;
}

div.wpforms-container-full .wpforms-form .wpforms-submit-container {
    padding-top: 15px;
}

div.wpforms-container-full .wpforms-form h3 {
    font-size: 22px!important;
}

.dynamic-solid_image_text_block p {
    line-height: 1.46!important;
}