/*
THEME NAME: Custom Theme
DESCRIPTION: Bespoke WordPress theme
VERSION: 1.0
AUTHOR: Lake District Web Services
Author URI: https://ldws.co.uk
*/

:root{
    --body : #1E1E1E;
    --bodyLineHeight: 1.5rem;
    --buttonBG : #969696;
    --buttonColour : #fff;
    --buttonBGHover : #ddd;
    --buttonBGHoverColour : #000;
    --gridGap : 40px;
    --bigGridGap : 150px;
    --mWidth : 1550px;
    

    --dark : #1c1c20;
    --pink : #ff4f79;
    --green : #09a59a;
    --grey : #f0efef;
	--yellow : #f4c143;

}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video,* {margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
.smooth,input,textarea,a{-webkit-transition:all 0.2s ease;-moz-transition:all 0.2s ease;-o-transition:all 0.2s ease;-ms-transition:all 0.2s ease;transition:all 0.2s ease;}
*, *:after, *:before {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
html{scroll-behavior: smooth !important;}
html, body { overflow-x: hidden !important; }

:target:before {
    content: "";
    display: block;
    height: 100px;
    margin: -100px 0 0;
}

body {
font-family:"Poppins", sans-serif;
color:var(--dark);
line-height:var(--bodyLineHeight);
font-size:1.125rem;
}

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

a{text-decoration:none;color:inherit;cursor:pointer;}
p{margin-bottom:20px;}
b,strong{font-weight:bold;}
i,em{font-style:italic;}







h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:1em;line-height: 1.1em;}

h1 {
    font-size: clamp(2.5rem, 6vw, 63px);
}

h2 {
    font-size: clamp(1.7rem, 4.2vw, 57px);
}

h3 {
    font-size: clamp(1.54rem, 4.02vw, 53px);
}

h4 {
    font-size: clamp(1.16rem, 2.32vw, 31px);
}

h5 {
    font-size: clamp(1.00rem, 1.93vw, 26px);
}

h6 {
    font-size: clamp(0.85rem, 1.47vw, 19px);
}


:is(h1,h2,h3,h4,h5,h6):last-child{margin:0}



input[type="text"],input[type="email"],textarea{padding:10px 20px;border:1px solid #ccc;width:100%;border-radius:28px;margin-bottom:5px;outline:none;}

input[type="button"],input[type="submit"],.button {-webkit-appearance:none;border-radius:28px;cursor:pointer;display:inline-block;background:var(--green);color:white;padding:0.75rem 2.5rem;}

input[type="button"]:hover, input[type="submit"]:hover, .button:hover{background:var(--pink);color: white}



.theme-grey :is(input[type="button"].outline,input[type="submit"].outline,.button.outline){background-color: transparent;color:var(--dark);border:1px solid var(--dark);}

.theme-grey :is(input[type="button"].outline,input[type="submit"].outline,.button.outline):hover{background-color: var(--dark);color:white}

:is(.theme-dark, .theme-pink, .theme-green) :is(input[type="button"].outline,input[type="submit"].outline,.button.outline){background-color: transparent;color:white;border:1px solid white;}
:is(.theme-dark, .theme-pink, .theme-green) :is(input[type="button"].outline,input[type="submit"].outline,.button.outline):hover{background-color: white;color:var(--dark)}

#newsletter .signup input[type="submit"]:hover{background-color: var(--pink);color:white;border-color:var(--pink)}



.theme-dark{background-color: var(--dark);color:white}
.theme-pink{background-color: var(--pink);color:white}
.theme-green{background-color: var(--green);color:white}
.theme-grey{background-color: var(--grey);}
.theme-white{background-color: white;color:var(--body)}


.theme-grey-grad{background: linear-gradient(to bottom, var(--grey), white);}

.vidEmbed{position:relative;z-index:1}
.vidEmbed iframe,
.vidEmbed video {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  display: block;
}


/* - - GRID - - */
.grid{display: grid;}
.halves{grid-template-columns: 1fr 1fr;}
.thirds{grid-template-columns: 1fr 1fr 1fr;}
.quarters{grid-template-columns: 1fr 1fr 1fr 1fr;}
.gridGap{grid-gap: var(--gridGap);}
.bigGridGap{grid-gap: var(--bigGridGap);}
.gridMid{align-items: center;}
.grid.swap .cont-half{order:1}
.grid.swap .img-half{order:2}
.gap150{gap:150px}
.gap80{gap:80px}
.gap50{gap:50px}
.gap20{gap:20px}
.gap10{gap:10px}

.base{align-items: flex-end;}

.flex{display: flex;}
.vmid{align-items:center;}
.sb{justify-content: space-between}

.f1 > div{flex:1}

.nodesk{display:none;}

.padded{padding:80px 50px}
.smallPad{padding:40px 50px}
.tinyPad{padding:20px 50px}


.smallerPadT{padding-top:40px}
.noPadT{padding-top:0}

.smallerPadB{padding-bottom:40px}
.noPadB{padding-bottom:0}

.in{max-width:var(--mWidth);margin:auto;}
.nopad{padding:0;}
.nomar{margin:0;}
.tac{text-align:center;}
.tar{text-align:right;}
.row{margin-bottom:40px;}
.bigRow{margin-bottom: 80px}
.prel{position:relative;}
.pa{position:absolute;}
.ov{overflow:visible;}
.oh{overflow:hidden;}
.mb20{margin-bottom:20px}

.in.narrow{max-width: 900px;}
.in.veryNarrow{max-width: 700px;}


.rad28{border-radius: 28px;}
.rad45{border-radius: 45px;}
.circle{border-radius: 50%;aspect-ratio: 1}

.rad28Wrap img{border-radius: 28px;}
.rad45Wrap img{border-radius: 45px;}
.circleWrap img{border-radius: 50%;aspect-ratio: 1}


.equalCols ul, .equalCols ol{margin-left:1rem}
.equalCols li{margin-bottom:10px}

section{overflow: hidden;}
section.backgroundUnderlap{overflow: visible;position: relative;z-index: 0}

/*.entry-content :not(img) a:not(.button){text-decoration: underline;}*/

#header{border-bottom:1px solid white;font-size: clamp(14px, 1.2vw, 18px);position: sticky;top:0;z-index: 2}

/*#header .logo{width: 9rem;width: clamp(100px, 15vw, 180px);height: auto}*/
/*.scrolled #header .logo{width: 6rem;width: clamp(70px, 10vw, 100px)}*/

#header .logo img{min-height: 40px;width: auto}

#header li{display: inline;margin-left: 2rem}



.logoCarousel .slick-track {
  display: flex !important;
  align-items: center;     /* vertical centering */
  justify-content: center; /* optional: horizontal centering */
}


#menu li:hover:not(.button) a, #menu .current_page_item:not(.button) a{color:var(--green)}

#menu .button{padding:0.5rem 2.5rem;}


.roundedImage img{border-radius: 28px}

.underlap{position: absolute;top:0;left:0;width:100%;z-index: 0}


.stat-number{font-family:"Outfit", sans-serif;font-size: 3rem;margin-bottom: 1rem}


a.card{display: block;display: flex;flex-direction: column;justify-content: space-between;transition: translateY smooth;overflow:hidden;box-shadow:
  0 10px 25px rgba(0, 0, 0, 0.1),
  0 4px 10px rgba(0, 0, 0, 0.3);
}
a.card:nth-child(even){transform:translateY(-50px)}
a.card svg{max-width: 33%;min-width: 80px;padding:30px;margin-bottom:100px;align-self:flex-end}
a.card .content{padding:30px 17%}

a.card:hover{background-color: var(--pink);color:white;transform:translateY(-50px)}
a.card:hover svg circle, a.card:hover svg path{stroke:white;}
a.card:hover svg path{fill:white;}

#header img{max-height:90px;width:auto}
#header .smallPad{padding-top:20px;padding-bottom:20px}

.postBox h4{font-size: clamp(1.16rem, 2.32vw, 24px);}
.postBox .courseInfo{position:relative;height:100%;padding-bottom:100px;font-size:1rem}
.postBox .courseInfo .buttonWrap{position:absolute;bottom:50px;}


.accordion .intro{position:relative;}

.accordionItem{background:var(--grey);padding:25px 35px;overflow: hidden;margin-bottom:20px;  height: fit-content; }
.theme-grey .accordionItem{background:var(--dark);color:white}

.accordionTitle{cursor: pointer;display:flex;gap:18px;justify-content: space-between;align-items:center;}
.accordionContent{max-height:0;opacity: 0;transition: all 0.5s ease}
.accordionItem.active .accordionContent{opacity: 1;max-height: 1000px;padding-top:40px}

.accordionIcon {
    display: inline-block;
    width: 50px;
    height: 50px;
    margin-right: -10px;
    margin-top:0px;
    transition: transform 0.3s ease;
    vertical-align: middle;
}

.accordionItem.active .accordionIcon {
    transform: rotate(180deg);
}
.accordionItem.active .accordionIcon svg circle, .accordionItem:hover .accordionIcon svg circle{fill:var(--dark);}

.accordionItem .accordionIcon svg circle{fill:var(--pink);}


.accordion.circle_right .intro{display:inline-block;}
.accordion.circle_right .intro:before{left:auto;right:0}


.courses .right{padding-left:60px}
.courseItem, .sideListItem{background:var(--grey);padding:25px 35px;position: relative;padding-left:75px;margin-bottom: 20px}
.sideListItem{padding:40px 70px}
.sideListItem p:last-child{margin-bottom: 0}
.courseIcon{width:120px;height:120px;display: grid;text-align: center;align-items: center;position: absolute;left:0;top:50%;transform:translate(-50%, -50%);background-color:var(--pink)}
.courseIcon svg{width:70px;height: auto;margin:auto;}

.courseItem:hover .courseIcon{background-color:var(--dark)}
.courseContent h4, .sideListItem h4{margin-bottom:1rem}
.courseArrow svg{width:50px;height: auto}
.courseBox h4{margin-bottom:20px}

.courses .left, .accordion.double .left{position:relative;}
.courses .left:before, .accordion .intro:before, .accordion.double .in > .grid:first-child > .left:before{position:absolute;top:0;left:0;transform:translate(-20%, -40%);background:var(--green);opacity:0.1;width:200px;height:200px;border-radius:50%;z-index:0;content:""}

.teamBox, .courseBox{border:1px solid var(--grey);background: white;padding:50px;text-align: center;display: flex;flex-direction: column;}


.teamProfile img{border-radius: 50%;aspect-ratio: 1;width:100%;height:100%;object-fit: cover;}
.teamBox h4{margin-bottom: 2rem}
.teamBox .moreButton{margin-top:auto}
.teamBox{box-shadow:
  0 10px 25px rgba(0, 0, 0, 0.1),
  0 4px 10px rgba(0, 0, 0, 0.3);}



.custom-post-type-search{margin-bottom:2rem}
.custom-post-type-search label{display: block;margin-bottom: 5px;margin-left:20px}
.custom-post-type-search input[type="search"]{border-radius:30px;padding:12px 20px;min-width: 360px}



.fullHeroImage{min-height:700px;height:75vh;display: flex;align-items: center;background-size:cover;}
.fullHeroImage .in{width: 100%;position: relative;z-index: 1}

.fullHeroImage h5{max-width:900px;margin:auto;margin-bottom:40px;font-weight:normal;}

.fullHeroImage:after{position: absolute;top:0;left:0;width: 100%;height: 100%;background-color:rgba(28,28,32,0.6);content: ""}


section{position: relative;}

section ul{margin-left:1rem;margin-bottom:1rem}

section .in{position: relative;z-index: 1}

.roleBox{padding:50px}
.roleTitle h4{margin-bottom: 10px}
.roleLocationWrap{font-weight: 600;font-size: 1.2rem}
.roleLocationWrap svg{width:40px;height: auto}
.titleBlock{border-bottom:1px solid #ccc;padding-bottom:20px;margin-bottom:20px}
.arrow svg{width: 50px;height: auto;transform:rotate(-90deg)}
.roleBox:hover svg circle{fill:var(--pink)}

 .logoCarousel .slick-slide, .coursesCarousel .slick-slide {
      margin: 0 20px;
  }

  .logoCarousel .slick-list, .coursesCarousel .slick-list {
      margin: 0 -20px;
  }



.blogStyle .courseBox{box-shadow:
  0 10px 25px rgba(0, 0, 0, 0.1),
  0 4px 10px rgba(0, 0, 0, 0.3);}





  .rolecat-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
}

@media (max-width: 1024px){
  .rolecat-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px){
  .rolecat-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px){
  .rolecat-grid{ grid-template-columns:repeat(1, minmax(0, 1fr)); }
}

.rolecat-card{
  text-decoration:none;
  display:flex;
  justify-content:center;
}

.rolecat-badge{
  position:relative;
  width:220px;         
  aspect-ratio:1 / 1;
  border-radius:999px;
  background:var(--green);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  text-align:center;
  box-sizing:border-box;
}

.rolecat-title{
  color:#fff;
  font-weight:500;
  font-size:1.5rem;
  line-height:1.1;
  padding:0 10px;
}

.rolecat-icon{
  position:absolute;
  top:-40px;
  left:-40px;
  width:110px;
  height:110px;
  border-radius:999px;
  background:var(--yellow);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-sizing:border-box;
  padding:25px;
}

.rolecat-icon img{
  width:100%;
  height:100%;
  max-width:100px;     
  max-height:100px;    
  object-fit:contain;
  display:block;
}


.single section.content .in{max-width: 900px}


.teamMemberSingle img{min-width: 400px;height: auto;border-radius: 50%;margin:auto;}


.blogStyle .courseInfo{display:flex;flex-direction: column;height: 100%}
.blogStyle .buttonWrap{margin-top: auto}

.quotesBlock{position:relative;}
.quotesBlock:after{position:absolute;top:50%;left:0;width:100%;height:50%;background:white;content:"";z-index:0;}
.quotesBlock .left h2:last-child{margin-bottom:0}
.quotesBlock .right{text-align: right}

.quoteBox{border:1px solid var(--grey);background: white;padding:40px}
.theme-grey .quoteBox{border-color: var(--white)}

.quoteBox svg{max-width: 50px;height: auto;margin-bottom:50px}
.quoteBox .profileImg{width:85px;height: 85px;background:var(--yellow);border-radius:50%}
.quoteBox:nth-child(even) .profileImg{width:85px;height: 85px;background:var(--pink)}
.quoteBox .profileImg img{width:85px;height: 85px;object-fit: cover;border-radius: 50%}
.quoteBox .profileName{font-size:1.2rem;font-weight: bold}

.quoteBox{display: flex;flex-direction: column;box-shadow:
  0 10px 25px rgba(0, 0, 0, 0.1),
  0 4px 10px rgba(0, 0, 0, 0.3);}
.quoteBox .profile{margin-top:auto}

.quoteBox:hover svg path{fill:var(--pink);}



.courseBox{text-align: left;padding:0}
.courseDetails{font-size: 0.9rem;align-items: center;}
.courseInfo{padding:0 50px 50px 50px}
span.button{cursor: auto;padding:10px 20px;text-align: center;}
span.button:hover{background-color: var(--green);}
.courseBox:hover span.button{background-color: var(--pink)}

.courseLength{flex-shrink: 0;flex-grow: 1;display: flex;align-items: center;}
.courseLength svg{max-width: 25px;height: auto;margin-right:10px}

.courseTitle{margin-bottom:1em}
.courseCat{margin-bottom:1em}


.itemBox{padding:40px;padding-bottom:20px;flex-basis:calc(33% - 15px);}
.iconBoxes .flex.gap{gap:15px;justify-content: center;flex-wrap: wrap;}
/* .iconBoxes .in{max-width: 1200px;} */
.itemBox h5{font-weight:600;}
.itemBox img{width:auto;height:70px;margin-bottom:20px}
.itemBox p{line-height:1.8}
/* .iconBoxes .itemBox{box-shadow: -6px 6px 0 #f4c143; */
}


.vidWrap{max-width:80%;margin:auto;}
.vidCont{position: absolute;top:50%;left:0;padding:50px;color:white;transform:translateY(-50%);z-index: 1}
.vidWrap:after{content:"";background:rgba(0,0,0,0.3);position: absolute;top:0;left:0%;width:100%;height:100%;border-radius: 45px}
.video .vidLink{z-index: 2;background:none;bottom:auto;top:40px;color:white;}
.vidWrap img{display: block;box-shadow: -15px 15px 0 #f4c143;width:100%;
}

.heroImage .halves{grid-template-columns: 3fr 2fr;}
.heroImage .imageWrap img{display: block;position: relative;}

.heroImage .imageWrap:after{position: absolute;height:250px;width:250px;background-color: var(--green);border-radius: 50%;bottom:0;left:0;transform:translate(-20%, 20%);content:"";z-index:-1;}

.heroImage .imageWrap:before{position: absolute;height:130px;width:130px;background-color: var(--yellow);border-radius: 50%;top:0;right:0;transform:translate(-10%, 10%);content:"";z-index:1;}

.heroImage .imageWrap.swap:after{background-color: var(--yellow);}
.heroImage .imageWrap.swap:before{background-color: var(--green);}

.heroImage .right a, .vidWrap a, .fullHeroImage .link{position: absolute;bottom:0;right:0;border-top-left-radius: 28px;background:white;padding:15px 40px;color:var(--body);font-size:0.8em;display:flex;gap:20px;align-items:center;}
.heroImage .right svg, .vidWrap svg{transform:rotate(-90deg);width: 50px;}
.fullHeroImage .link svg{width:50px}
.heroImage .right a:hover, .vidWrap a:hover, .fullHeroImage .link:hover{transform:scale(1.05);transform-origin: bottom right;}

.heroImage:after{background-color: white;position: absolute;bottom:0;left:0;width: 100%;height:200px;content:"";}
.heroImage .right a{position:relative;justify-content:flex-end;background:none;}
.fullHeroImage .link{z-index: 9}

.timeline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  gap:50px;
}

.timeline::before {
  content: "";
  position: absolute;
  top: 51px; /* aligns with the dots */
  left: 50%;
  transform:translateX(-50%);
  height: 1px;
  width:var(--line-width);
  background: #979797;
  z-index: 0;
}

.step {
  text-align: center;
  position: relative;
}

.number {
  font-size: 48px;
  font-weight: normal;
  color: #222;
}

.dot {
  width: 16px;
  height: 16px;
  background-color: #00b1aa;
  border-radius: 50%;
  margin: 20px auto;
  z-index: 1;
  position: relative;
}



nav.pagination { margin: 2rem 0; text-align: center; }
nav.pagination .page-numbers { display: inline-flex; gap: .5rem; align-items: center; }
nav.pagination .page-numbers li { list-style: none; }
nav.pagination a.page-numbers,
nav.pagination span.page-numbers {
    display: inline-block; padding: .5rem .75rem; border: 1px solid #ddd; border-radius: 50%;
    text-decoration: none; line-height: 1;height:36px;width: 36px;
}
nav.pagination .current { background: var(--green);color:white; font-weight: 600; border:none}
nav.pagination .page-numbers.next, nav.pagination .page-numbers.prev{border:none;width: auto}





#newsletter{position: absolute;top:0;left:0;width: 100%;transform:translateY(-50%)}
#newsletter h4{margin-bottom:1rem}
#newsletter .padded{padding-top: 60px;padding-bottom: 60px}
#preFooter a:hover{text-decoration: underline;}
#preFooter{font-size:0.9rem}
.socials{margin-top:2rem;gap:8px}
.socials img{height:35px;width:auto;}
.footerLogo img{max-width: 220px;margin-bottom:2rem}

#footer{font-size:0.7rem}
#footer a:hover{text-decoration: underline;}
#footer ul li{display:inline;padding-right:10px;margin-right:10px;border-right:1px solid white;}
#footer ul li:last-child{margin:0;padding:0;border:none;}


#cfWrapper h4{margin-bottom: 1.5rem}

.iframe-wrap{    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%;}

.iframe-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}


input.error,textarea.error{border:1px solid #ec0032;background:#ffdddd;}
#fail,#error{border:1px solid #ec0032;background:#ffdddd;display:none;padding:15px 20px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;}

#success{border:1px solid #4BB543;background:#d7fbd4;display:none;padding:15px 20px;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;}


.entry-title,.entry-meta {
clear:both;
}

.alignright,img.alignright{
float:right;
margin:1em 0 0 1em;
}

.alignleft,img.alignleft{
float:left;
margin:1em 1em 0 0;
}

.aligncenter,img.aligncenter{
display:block;
margin:1em auto;
text-align:center;
}

div.sidebar h3 {
font-size:1.2em;
}

div.sidebar li {
list-style:none;
margin:0 0 2em;
}

div.sidebar li form {
margin:0.2em 0 0;
padding:0;
}

div.sidebar ul ul {
margin:0 0 0 1em;
}

div.sidebar ul ul li {
list-style:none;
margin:0;
}

div.sidebar ul ul ul {
margin:0em;
}

div.sidebar ul ul ul li {
list-style:none;
}



input#author,input#url,div.navigation div ,.wp-caption {}.wp-caption-text {}.sticky {}.gallery-caption {}.bypostauthor {}

   





@media screen and (max-width:900px){
.vidWrap{max-width:100%;margin:auto;}

#header .hamburger{display:inline-block;z-index:9;outline: none}
#menu{display:none;padding:50px;position: absolute;top:0;left: 0;width:100%;height: 100vh;background:var(--dark);padding-top:200px;text-align: center;
}
#menu li a{padding: 15px 20px;display: block;font-size:1.5rem;}

.grid{grid-template-columns: 1fr;}
	
	.heroImage:after{display:none}
	.heroImage .halves{grid-template-columns:1fr;}
	
.theme-dark.heroImage .right a {color:white;}
	
	.padded{padding:40px 20px;}
	
	.video .vidLink{top:50%;left:50%;transform:translate(-50%, -50%);white-space:nowrap;}

	#newsletter .flex{flex-wrap:wrap;}
	#footer .flex{flex-wrap:wrap;}
	
	a.card:nth-child(even){transform:none}
	
	.courses .left:before, .accordion .intro:before, .accordion.double .in > .grid:first-child > .left:before{transform:translate(-20%, -5%)}
	
	.timeline{flex-wrap:wrap;}
	
	#header .button{background:none}

}