/*
Theme Name: Godalming Minster
Author: Unfold Studio / Ampersand Industries
Description: Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor. Organizations and businesses have the ability to create dynamic landing pages with endless layouts using the group and column blocks. The centered content column and fine-tuned typography also makes it perfect for traditional blogs. Complete editor styles give you a good idea of what your content will look like, even before you publish. You can give your site a personal touch by changing the background colors and the accent color in the Customizer. The colors of all elements on your site are automatically calculated based on the colors you pick, ensuring a high, accessible color contrast for your visitors.
Version: 1.0
*/	


:root{
	
	--background-purple: rgb(43,31,73);
	--background-grey: #F0EFF2;
	--primary-deep-purple: #2B1F49;
	--primary-deep-purple-tint: rgba(43, 31, 73, 0.2);
	--primary-deep-purple-90: rgba(43, 31, 73, 0.9);
	--background-dark-purple: #1D1334;
	--secondary-purple: #AB80B5;
	--text-grey: #4B4B4B;
	--text-mid-grey: #C6C6C6;
	
	
	--accent-coral: 	rgb(234,107,131);
	--accent-blue: 		rgb(86,186,186);
	--accent-yellow: 	rgb(234,164,39);
	--accent-green: 	rgb(146,183,80);
	--accent-purple: 	rgb(171,128,181);
	--accent-orange: 	rgb(239,121,75);
	
	
}



*,
html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	/* render fonts correctly on mac */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	position: relative; /* allow menu to grab whole screen */
	background: var(--background-purple);
	color: #4B4B4B;
	font-family: NourdLight, Helvetica, Arial, sans-serif;
	font-weight: 300;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	box-sizing: border-box;
}

/******
Base elements and tags
******/
a,
a:hover,
a:focus {
	color: var(--accent-coral);
	border-bottom: 1px solid;
	text-decoration: none;
	transition: all 0.2s;
}

img {
	border: none;
	display: block;
	width: 100%;
	height: auto;
}
p, li {
	margin: 0 0 1em 0;
	padding: 0;
}

hr {
	border: none;
	border-top: 1px solid #050d42;
	display: block;
}
figure {margin:0;}

b, strong, figcaption, p.wp-caption-text { font-family: NourdSemiBold; font-size: 90%; }
blockquote { font-family: NourdSemiBold;  color: var(--accent-coral); }

ul,ol { padding: 0 0 0 1.5em; }

table {border-collapse: collapse; width: 100%; margin-bottom: 50px;width: 100% !important;}
td {border: 1px solid #ccc; padding: 10px; vertical-align: top;}
th { background-color:#050d42; color:#fff;  padding: 10px; text-align:left;}

pre {white-space: break-spaces; }

table.compact td, .compact table td, .compact table th { padding: 5px 10px; }
.compact table { margin-bottom:0;}

.iframe-container {
  position: relative;
  height: 0;
  overflow: hidden;
}

/* 16x9 Aspect Ratio */
.iframe-container-storymap {
  height: 80vh;
	margin-bottom: 1.5%;
}
.iframe-container-16x9 {
  padding-bottom: 56.25%;
}

/* 4x3 Aspect Ratio */
.iframe-container-4x3 {
  padding-bottom: 75%;
}

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


a.button, ul.link-list a, ul.link-list-stacked a {
	display: inline-block;
	font-size: 14px;
	text-decoration: none;
	text-transform: uppercase;
	border-radius: 5px;
	color:#fff;
	background-color: var(--accent-coral);
	padding: 1em 1.25em 0.75em 1.25em;
	margin-top: 0.5em; margin-bottom: 0.5em;
	font-family: NourdSemiBold;
	letter-spacing: 0.7px;
	border: none; 
	line-height:1;
}

a.button:hover, ul.link-list a:hover, ul.link-list-stacked a:hover{ opacity: 0.7; }

a.keyline { display: inline-block; margin-top: 1em; text-decoration: none; border-bottom: 3px solid; font-family: NourdSemiBold; font-size: 14px; }
a.keyline:hover { border-color: var(--primary-deep-purple) !important; }

a.button.video-button:before{
	content: "";
	display: inline-block;
	height:23px;
	width:23px;
	margin-right: 10px;
	background: transparent url(images/icon-play.svg) no-repeat 50% 50%;background-size: contain;
	vertical-align: middle; 
	position: relative;
	top: -3px;
}
ul.link-list-stacked li { list-style: none !important; }

h1,h2,h3,h4,h5,h6 { font-family: NourdSemiBold; margin: 1.75em 0 0.25em 0; text-wrap: balance; line-height: 1.2; font-weight:300; }
h2,h3,h4,h5,h6 { color: var(--accent-coral); }
h4 { color:var(--primary-deep-purple) !important; }

h2.section-title { display: block; text-align:center; margin-top:0; padding: 2em 0 0 0; margin-bottom:1em;  }
section.single li, div.text li, column li { list-style: url(images/icon-list-bullet.svg); padding-left: 0.5em; }

.section-inner h1:first-child, .section-inner h2:first-child, .section-inner h3:first-child, .section-inner h4:first-child { margin-top: 0; }
column h1:first-child, column h2:first-child, column h3:first-child, column h4:first-child { margin-top: 0; }
.section-inner p:last-child,
.section-inner ul:last-child,
.section-inner ul:last-child li:last-child { margin-bottom:0; }


ul.link-list { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 15px; }
ul.link-list li, ul.link-list-stacked li {  list-style: none; padding:0; margin:0;  }

h2.icon-cross { padding-left: 60px !important; position: relative; }
h2.icon-cross::before{
	content: "";
	display: block;
	width: 40px;
	height: 100%;
	margin-right: 10px;
	background: transparent url(images/icon-cross.svg) 0 0 no-repeat; 
	position: absolute; 
	left:0;
}

p.postmeta { font-weight:300; font-family: NourdSemiBold; text-transform: uppercase; letter-spacing: 2px;}

/******

  HEADER AND NAVIGATION

******/
.section.heading { height: 84px; position: absolute; top:0; right:0; left:0; z-index: 100;}
.section.heading .section-inner { max-width: 100%; }
.navigation { padding-top: 23px; }
#logo, #logo_mobile_menu { 
	width: 137px; height: 84px; 
	display: block; border: none; position: absolute;
	background: transparent url(images/logo-godalming-minster-primary.svg) no-repeat 50% 50%; background-size: contain; 
	text-indent:-9999px; overflow:hidden;
}
#logo_mobile_menu{
	display: none;
	position:fixed; 
	z-index: 400;
    top: 0;
    left: 5%;
	
}

.navigation ul { 
	margin:0; padding:0; 
}
.navigation li { list-style:none; margin-bottom:0; }
.navigation a { font-size: 34px; line-height: 1.27; text-decoration: none; color:#fff; border: none; display: block; padding: 6px 0 15px 0; font-family: NourdSemiBold;}
.navigation a::after,
li.menu-item-has-children > a::after{ content:""; display:inline-block; height: 17px; width: 17px; background: transparent url(images/icon-menu-open.svg) no-repeat 50% 50%; background-size:contain; margin-left:15px; vertical-align: middle; position: relative; top: -2px; }

.navigation ul.sub-menu a::after { display: none; }
.navigation ul.sub-menu a { color: var(--accent-coral); font-size: 28px; line-height: 35px; font-family: NourdSemiBold; padding: 8px 0;}
.navigation ul.sub-menu ul.sub-menu a { color: #fff; font-size: 18px; line-height: 26px; font-family: NourdLight; font-weight:300;}

.navigation ul > li > ul.sub-menu {
	position: absolute;
	background-color:var(--background-purple) ;
	position: absolute;
    left: 0;
    right: 0;
    top: 65px;
	flex-direction: row;
	gap: 30px;
	z-index: 10;
	text-align: left;
	padding: 4vw;
}

.navigation ul.sub-menu > li {
	width: 25%;
}

.navigation ul.sub-menu > li > ul.sub-menu {
	display: block;
	position: relative;
	top:	auto;
	left: 	auto;
	right: auto;
	padding: 0; 
}

.navigation ul.sub-menu > li > ul.sub-menu > li { width: 100%; }

.navigation ul.sub-menu { display: none;}
.navigation li:hover ul.sub-menu { display: flex;}



/******

  FOOTER ELEMENTS

******/

p.footer-logo { 
	display: block; width: 203px; height: 81px; overflow: hidden; text-indent:-9999px; 
	background: transparent url(images/logo-godalming-minster-footer.svg) no-repeat 50% 50%; 
	background-size: contain;
}


#menu-social { padding-top: 2em; }
#menu-social li { display: inline-block; list-style: none; margin: 5px 30px 5px 0;}
#menu-social li a { display: block; width: 30px; height:30px; text-overflow: hidden; text-indent: -9999px; 	background-repeat: no-repeat; background-size: contain; background-position: 50% 50%; }
#menu-social li a:hover { opacity:0.6;}
#menu-social li.social-facebook a { background-image: url(images/icon-facebook.svg); }
#menu-social li.social-instagram a { background-image: url(images/icon-instagram.svg); }
#menu-social li.social-youtube a { background-image: url(images/icon-youtube.svg); }



/******

  STRUCTURE

******/
section {
	width: 100%;
	position: relative; /* why was this static? */
	padding: 60px 0;
	z-index:1;
	overflow: hidden;
}

section.logo_header,
section.no-bottom-margin {
	margin-bottom: 0;
}

.section-inner {
	width: 90%;
	margin: 0 auto;
	position: relative;
	padding: 0;
	max-width: 1192px;
	
}

column { display: block;}
.column { width: 100%; }

section.no_padding {padding:0 !important;}
section.no_padding_top {padding-top:0 !important;}
section.no_padding_base {padding-bottom:0 !important;}

section.no_padding .container{padding:0;}
section.no_padding_top .container{padding-top:0;}
section.no_padding_base .container{padding-bottom:0;}

section.adverts a { position: relative; border: none; background: var(--primary-deep-purple); }
section.adverts a .overlay { position: absolute; top:0; right:0; bottom:0; left:0; color:#fff !important; font-family: NourdSemiBold; text-wrap: balance;  transition: all 0.3s; background: transparent linear-gradient(180deg, #2B1F4900 0%, #2B1F4900 50%, #2B1F48B0 100%) 0% 0% no-repeat padding-box;}
section.adverts a img { transition: all 0.3s;}
section.adverts a:hover img { opacity: 0.6; transition: all 0.3s;}

section.adverts.large_link { margin:0; padding:0; }
section.adverts.large_link .section-inner { width: 100%; max-width: 100%; }
section.adverts.large_link .overlay{ font-size: 26px; line-height: 1.26; display: flex; justify-content: center; align-items: center;  padding:20px; text-align:center; background:var(--primary-deep-purple-tint);}
section.adverts.large_link .title { transition: all 0.2s; max-width: 250px;}
section.adverts.large_link .title svg { display: block; margin:0 auto 0.5em auto; }
section.adverts.large_link a:hover .title { padding-bottom:10px; transition: all 0.2s;}

section.adverts.scrolling { padding: 30px 0;}
section.adverts.scrolling .section-inner { margin-left: 5%; width: 95%; max-width: 100%;}
section.adverts.scrolling .intro h2 { color:#fff !important; line-height: 1.3; margin:0;}
section.adverts.scrolling .intro { display: flex; display: flex; justify-content: center; align-items: center; width: 226px;}
section.adverts.scrolling a img { width: 226px; height: 335px; object-fit: cover; transition: all 0.3s;}
section.adverts.scrolling a:hover img { opacity: 0.6 !important;  transition: all 0.3s;}
section.adverts.scrolling span.title { position: relative; width:100%; display: block; padding-right: 30px; }
section.adverts.scrolling span.title svg{ position: absolute; right:0; bottom: 4px; width: 20px; height: auto; }
section.adverts.scrolling a, 
section.adverts.scrolling a, section.adverts.scrolling .intro { border-radius: 5px; display: block; overflow:hidden; border: none; }
section.adverts.scrolling .intro { width:100%; padding: 1em 0; }

section.adverts.small_with_over .overlay{ font-size: 20px; line-height: 1.26; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; padding:20px;  transition: all 0.2s; }
section.adverts.small_with_over span.over-title { text-transform: uppercase; opacity:0.7; font-size: 12px;  /*font-family: 'NourdLight';*/ font-weight:300;  letter-spacing: 1.8px; padding-bottom: 0.25em; } 
section.adverts.small_with_over a:hover .overlay { padding-bottom: 30px; transition: all 0.2s;}
section.adverts.three_up a img { aspect-ratio: 1.1 / 1; object-fit: cover; border: none;}
section.adverts.three_up a { background-size: cover; background-repeat: no-repeat; background-position: 50% 50%; color:#fff; display: flex; flex-direction: row;  } /* had height 85vh*/

section.background_img_text_left .section-inner, section.background_img_text_right .section-inner{ display: flex; flex-direction: column; justify-content: center; min-height: 55vh;  }
section.background_img_text_left .section-inner h2, section.background_img_text_right .section-inner h2{ font-size: 40px; }
section.background_img_text_left .section-inner p, section.background_img_text_right .section-inner p{ font-size: 18px; color:#fff;  }

section.background_img_text_left:before{ content: ""; display: block; position: absolute; top:0; right:40%; left:0; bottom:0; background: transparent linear-gradient(270deg, #2B1F4900 0%, #2B1F4893 100%) 0% 0% no-repeat padding-box;}
section.background_img_text_right:before{ content: ""; display: block; position: absolute; top:0; right:0; left:40%; bottom:0; background: transparent linear-gradient(90deg, #2B1F4900 0%, #2B1F4893 100%) 0% 0% no-repeat padding-box;}

section.blocks .block { text-align:center; position: relative; display: flex; flex-direction: column;}
section.blocks .block a { margin: auto auto 0 auto; width: auto; max-width: fit-content; }
section.blocks .block .description { padding-bottom: 1em;  }
section.blocks img { border-radius: 5px; aspect-ratio: 1 / 1; object-fit: cover; max-width:320px; margin-left:auto; margin-right:auto;}
section.blocks.three_up .section-inner .row-content ,
section.blocks.two_up   .section-inner .row-content ,
section.blocks.four_up  .section-inner .row-content { display: grid; grid-gap: 40px 80px; max-width: 100%;  /* width: 90%; */ }	
section.blocks .block svg { display: none; }

section.call_to_action .text { font-size: 20px; font-family: NourdSemiBold; line-height: 1.2; text-wrap: balance; text-align:center;}
section.call_to_action .link { text-align:center; padding-top:10px;} 
section.call_to_action { padding: 40px 0;}

section.carousel .section-inner { width:100%; max-width:100%; padding-left:16px; }


section.faqs .item-details {break-inside: avoid; padding-bottom: 2em; margin-top: -1em; padding-right: 30px; }
section.faqs h3{ cursor: pointer; position: relative; padding: 1.67em 0; margin:0; color:var(--primary-deep-purple) !important;  padding-right: 30px; }
section.faqs h3::after{ content: ""; width:20px; height:100%;  display: block; position: absolute; right: 0; top:0; background: transparent url(images/icon-faq-open.svg) no-repeat 50% 50%; background-size:contain;}
section.faqs h3.ui-state-active::after{ background-image: url(images/icon-faq-close.svg); }
section.faqs h3::before{ content: ""; width:100%; height:6px;  display: block; position: absolute; top: 0; background: transparent url(images/illustration-divide-line.svg) no-repeat 50% 50%; background-size:cover;}


section.footer .section-inner{ 	display: grid; 	grid-gap: 20px; }
section.footer a.keyline { color:#fff !important; }
section.footer a.keyline:hover { border-color:#fff !important; }

section.footer ul li a { color:#fff !important; text-decoration: none !important; border: none !important; display: block; display: inline-block; border-bottom: 1px solid transparent !important; }
section.footer ul li a:hover { border-bottom: 1px solid #fff !important; }

section.footer ul li { list-style: none; margin:0; padding:0 0 0.65em 0; }
section.footer ul { margin:0; padding:0; font-size: 16px; line-height: 24px; }
section.footer { padding: 8vh 0;}

section.footer-final .section-inner { display: flex; justify-content: space-between; flex-direction: row; }
section.footer-final a:hover { color:#fff;}
section.footer-final { background-color: var(--background-dark-purple); padding: 13px 0;}
section.footer-final, section.footer-final a { color: var(--secondary-purple); font-size: 13px; line-height: 21px;}

section.header { position: relative; height: 60vh; margin:0; padding:0; overflow:hidden; }
section.header .section-inner { width: 100%; max-width: 100%; position: static; }
section.header video { position: absolute; top:0; right:0; bottom:0; left:0; object-fit: cover; width: 100vw; height: 60vh;}
section.header .header-content { position: absolute; top:0; right:0; bottom:0; left: 0; display: flex; flex-direction: column; align-items: center; gap: 60px; justify-content: center; background: transparent linear-gradient(180deg, #2B1F4800 0%, #2B1F4800 40%, #2B1F48 100%) 0% 0% no-repeat padding-box; }
section.header .header-content img.logo { display: block; width: 90%; max-width: 220px; height: auto; }


section.intro p { font-size: 20px; text-align:center; line-height: 1.5;  text-wrap: balance; }
section.intro { padding: 60px 0; }

section.listings, section.listing-navigation { background-color:#fff; }
section.listings .section-inner { display: grid; grid-gap: 16px; max-width: 1436px;}
section.listings .post { padding-bottom: 2em; display: flex; flex-direction:column;}
section.listings .post div.image a{ background-color:#c6c6c6; display: block; margin-bottom: 1em;}
section.listings .post div.image a, section.listings .post img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 5px;  overflow:hidden; border:none;}
section.listings .post h2 { margin-top:0; margin-bottom:1em; padding-right: 20px; line-height: 1.35; }
section.listings .post h2 a { border:none; text-decoration: none; color: var(--text-grey) !important; text-wrap:balance;  }
section.listings .post a.keyline { border-bottom-width: 3px; color: var(--text-grey) !important;  padding-bottom: 2px; align-self: flex-start; margin-top: auto; }
section.listings .post:hover a.keyline { border-color: var(--text-grey) !important; }
section.listings .post:hover h2 a { border-bottom:1px solid; }
.post .image a {position: relative;}
.post .image a::before {display: block; content: ""; position: absolute; top:0; right:0; bottom:0; left: 0; background-color: transparent;}
.post:hover .image a::before { background-color: var(--primary-deep-purple-tint); }
.post p.postmeta { font-size: 14px; }

section.page-header a.parent-link + h1 { margin-top:0; padding: 0.15em 0; }
section.page-header a.parent-link { text-align:center; font-size: 16px; color:#fff !important; text-decoration: none; display: block; margin:0 auto; opacity: 0.7; border: none; text-transform: uppercase; letter-spacing: 2.7px; }
section.page-header h1 { text-align:center; font-size: 45px; color:#fff !important;}
section.page-header svg { display: block; margin: 0 auto; }
section.page-header { 	background-color: var(--background-purple); padding: 84px 0 60px 0; }
section.page-header .section-inner { padding-top: 10vh;}

section.page-header + section.background-purple,
section.background-purple + section.background-purple,
section.page-header + section.intro { padding-top:0; }

section.single .section-inner { max-width: 708px; }

section.single.background_img_text_left .section-inner { max-width: 1192px; }
section.single.background_img_text_right .section-inner { max-width: 1192px; }

section.single.background_img_text_left .section-inner > *  { max-width: 600px; padding-left: 0; padding-right: 8.33%; margin-left: 0; margin-right: auto; }
section.single.background_img_text_right .section-inner > * { max-width: 600px; padding-left: 8.33%; padding-right: 0; margin-left: auto; margin-right: 0; }


section.spacer { padding: 0;}
section.spacer svg { display: block; margin:0 auto; max-width: 550px; }

section.testimonial { padding:0; }
section.testimonial .section-inner { width: 100%; max-width:100%; }
section.testimonial blockquote { 
	width: 80%;
    margin: 0 auto;
    padding: 15vh 3vw;
    max-width: 468px;
    text-align: center;
    position: relative;
    z-index: 2;
	text-wrap: balance;
}
section.testimonial blockquote img { margin:0 auto; display: block; border-radius: 150px; width: 122px; height: auto; margin-bottom: 2em; }
section.testimonial footer { text-transform: uppercase; font-size: 14px;  font-family: 'NourdSemiBold';   letter-spacing: 0.7px;}
section.testimonial svg#testimonial-illustration-left, section.testimonial svg#testimonial-illustration-right { display: none;}
section.testimonial svg#testimonial_mobile { max-width: 120px; margin-bottom:1.5em;}
 


section .introduction h2, h2.section-title { color:var(--primary-deep-purple) !important; text-transform: uppercase; text-align:center; font-family: NourdLight; font-size: 25px; letter-spacing: 5px; font-weight: 300; }
section.seperator h2.section-title { margin-bottom: 2em; }

section.text_and_image .section-inner { width: 100%; max-width: 100%; }
section.text_and_image div.text { padding: 30px; font-size: 18px; }
section.text_and_image { padding:0; }
section.text_and_image div.image { background-size: cover;  aspect-ratio: 3 / 2; background-position: 50% 50%; }
section.title_items column .item:first-child > h3 { margin-top:0; }
section.title_items column .item { margin-bottom: 2.5em; }
section.title_items column .item:last-of-type { margin-bottom: 0; }
section.title_items column .item a.keyline { margin-top: -0.75em; }

section.title_single .section-inner column:first-child h2, section.title_items .section-inner column:first-child h2 { font-size: 26px; line-height: 37px;}


section.illustration-bottom_left_rays > svg { position: absolute; bottom:0; left:20px; width: 40%; height: auto;}
section.illustration-bottom_right_rays > svg { position: absolute; bottom:0; right:0; }
section.illustration-top_rays > svg { position: absolute; top:0; right:0; left:0;  margin: 0 auto; width: 100%; height:auto; max-width:800px; }
section.illustration-top_rays  {  padding-top: }

.introduction { text-align: center; margin-bottom: 5vh; margin-left:auto; margin-right: auto; width:80%; max-width: 708px;  text-wrap: balance; }

.accordion { margin: 0 auto; max-width: 577px; }


.carousel .owl-carousel img {
	width: auto;
	height: 45vh;
	border-radius: 5px;
}



@media all and (min-width: 600px){
	section.footer .section-inner {  grid-template-columns: 1fr 1fr; }
	section.listings .section-inner {  grid-template-columns: 1fr 1fr; }
}
@media all and (min-width: 700px){
	
	section { padding: 120px 0; }

	section.adverts.scrolling .intro { display: flex; flex-direction: column; justify-content: center; padding-right:40px; width: 242px; }
	section.adverts.scrolling .section-inner { display: flex; flex-direction: row; justify-content: space-between; }
	section.adverts.scrolling .owl-carousel { width: calc(100% - 242px); }
	
	section.adverts.large_link .overlay{ font-size: 28px; line-height: 1.26;}
	section.adverts.three_up .section-inner { display: grid; grid-template-columns: 1fr 1fr 1fr; }
	
	section.blocks.four_up  .section-inner .row-content{ grid-template-columns: 1fr 1fr;}
	section.blocks.three_up .section-inner .row-content{ grid-template-columns: 1fr 1fr 1fr;}
	section.blocks.two_up   .section-inner .row-content{ grid-template-columns: 1fr 1fr;}
	
	section.call_to_action { padding: 25px 0;}
	
	/*section.blocks .block svg { position: absolute; top: 50%; right: -40px; height: auto; transform: translateY(-50%); left: auto; width: auto; display: block;}
	section.blocks .block svg { bottom: -154px;    position: absolute;    transform: rotate(90deg);    left: 0;    right: 0;    width: 100%; display: block;}
	*/
	section.blocks .block svg {   position: absolute;   right: -61px;   display: block;   top: -22px;}
	section.blocks .block:last-child svg { display: none; }


	section.blocks.two_up .block:nth-child(2n) svg { display: none; }
	section.blocks.three_up .block:nth-child(3n) svg { display: none; }
	section.blocks.four_up .block:nth-child(4n) svg { display: none; }

	section.call_to_action .link { flex-grow: 1; width: 35%; padding-top:0; text-align:right; align-content:center;}
	section.call_to_action .section-inner { display: flex; flex-direction: row; justify-content: space-between; gap: 30px; max-width: 710px; }
	section.call_to_action .text { flex-grow: 2; width: 60%; text-align:left; align-self: center; }

	section.faqs .column_holder,
	section.double_column .section-inner	{ display: flex; flex-direction: row; justify-content: space-between; gap: 2vw; }
	section.double_column.one_third .section-inner column:first-child	{ width: 31%; }
	section.double_column.one_third .section-inner column:last-child	{ width: 59%; }
	section.double_column.two_third .section-inner column:first-child	{ width: 59%; }
	section.double_column.two_third .section-inner column:last-child	{ width: 31%; }

	section.header .header-content img.logo {  max-width: 350px;  }
	 
	section.intro   { padding: 60px 0 120px 0; }
	section.intro p { font-size: 24px; }

	section.page-header  { padding: 84px 0 60px 0; }
	section.page-header a.parent-link { font-size: 18px;}
	section.page-header h1 { font-size: 70px; line-height: 78px; margin:0; }	

	section.testimonial svg#testimonial_mobile { display: none;}
	section.testimonial svg#testimonial-illustration-left, section.testimonial svg#testimonial-illustration-right { display: block;}
	section.testimonial svg { position: absolute;}
	section.testimonial svg:first-of-type { top:0; bottom:0; right:75vw;}
	section.testimonial svg:last-of-type { top:0; bottom:0; left:75vw;}	

	
	section.text_and_image .section-inner	{ display: flex; flex-direction: row; justify-content: space-between;  }
	section.text_and_image .section-inner > img { width: 50%; object-fit: cover; }
	section.text_and_image .section-inner .image { width: 50%; aspect-ratio: auto; }
	section.text_and_image .section-inner div.text { width: 50%;  padding: 10% 8%; }
	section.text_and_image.image_right .section-inner .image { order: 2; }

	section.title_items .section-inner		{ display: flex; flex-direction: row; justify-content: space-between; }
	section.title_items .section-inner column:first-child	{ width: 31%; }
	section.title_items .section-inner column:last-child	{ width: 59%; }

	section.title_single .section-inner		{ display: flex; flex-direction: row; justify-content: space-between; }
	section.title_single .section-inner column:first-child	{ width: 31%; }
	section.title_single .section-inner column:first-child h2, section.title_items .section-inner column:first-child h2 { font-size: 30px; line-height: 40px; margin-top:0;}
	section.title_single .section-inner column:last-child	{ width: 59%; }


	.carousel .owl-carousel img {
		height: 65vh;
	}



}


@media all and (min-width: 936px){
	section.testimonial svg:first-of-type { top:0; bottom:0; right: calc( 50vw + 232px );}
	section.testimonial svg:last-of-type { top:0; bottom:0; left:calc( 50vw + 232px );}	
	section.listings .section-inner {  grid-template-columns: 1fr 1fr 1fr; }

}

@media all and (min-width: 1135px){
	section.footer .section-inner {  grid-template-columns: 2fr 1fr 1fr 1fr; }
}

@media all and (min-width: 1200px) {
	section.blocks.four_up  .section-inner .row-content{ grid-template-columns: 1fr 1fr 1fr 1fr;}
	section.listings .section-inner {  grid-template-columns: 1fr 1fr 1fr 1fr; }
}

@media all and (min-width: 1275px) {
	section.testimonial svg:first-of-type { top:0; bottom:0; left:0; right: auto;}
	section.testimonial svg:last-of-type { top:0; bottom:0; right:0; left:auto;}	
}

.locations h3 svg {	display: inline-block;    vertical-align: middle;    margin-right: 8px; }


button.owl-next {	position: absolute;    top: 50%;    transform: translateY(-50%);    width: 50px;    height: 50px;    display: block;    background: #fff url(images/icon-arrow-next.svg) no-repeat 50% 50% !important;     border-radius: 50px;    right: 20px;}
button.owl-prev {position: absolute; top: 50%; transform: translateY(-50%) rotate(180deg); width: 50px; height: 50px; display: block; background: #fff url(images/icon-arrow-next.svg) no-repeat 50% 50% !important;  border-radius: 50px; left: 20px;}
button.owl-prev.disabled, button.owl-mext.disabled { display: none !important;}

/******

  COLOUR WAYS

******/

section.background-grey		{ background-color: var(--background-grey); }
section.background-purple	{ background-color: var(--background-purple); color:#fff; }
section.background-white 	{ background-color:#fff; }

section.accent-blue h1,		section.accent-blue h2,		section.accent-blue h3,		section.accent-blue h4,		section.accent-blue h5,		section.accent-blue h6,		section.accent-blue a,		section.accent-blue footer,		section.accent-blue li::before		, section.accent-blue p.postmeta	{ color: var(--accent-blue); } 
section.accent-coral h1,	section.accent-coral h2,	section.accent-coral h3,	section.accent-coral h4,	section.accent-coral h5,	section.accent-coral h6,	section.accent-coral a,		section.accent-coral footer,	section.accent-coral li::before		, section.accent-coral p.postmeta	{ color: var(--accent-coral); } 
section.accent-green h1,	section.accent-green h2,	section.accent-green h3,	section.accent-green h4,	section.accent-green h5,	section.accent-green h6,	section.accent-green a,		section.accent-green  footer,	section.accent-green li::before		, section.accent-green p.postmeta	{ color: var(--accent-green); } 
section.accent-orange h1,	section.accent-orange h2,	section.accent-orange h3,	section.accent-orange h4,	section.accent-orange h5,	section.accent-orange h6,	section.accent-orange a,	section.accent-orange footer,	section.accent-orange li::before	, section.accent-orange p.postmeta	{ color: var(--accent-orange); } 
section.accent-purple h1,	section.accent-purple h2,	section.accent-purple h3,	section.accent-purple h4,	section.accent-purple h5,	section.accent-purple h6,	section.accent-purple a,	section.accent-purple footer,	section.accent-purple li::before	, section.accent-purple p.postmeta	{ color: var(--accent-purple); } 
section.accent-yellow h1,	section.accent-yellow h2,	section.accent-yellow h3,	section.accent-yellow h4,	section.accent-yellow h5,	section.accent-yellow h6,	section.accent-yellow a,	section.accent-yellow footer,	section.accent-yellow li::before	, section.accent-yellow p.postmeta	{ color: var(--accent-yellow); } 


section.background-blue 	a.button { color: var(--accent-blue);	 		background-color: var(--background-purple); }
section.background-coral	a.button { color: var(--accent-coral);	 		background-color: var(--background-purple); }
section.background-green 	a.button { color: var(--accent-green);	 		background-color: var(--background-purple); }
section.background-orange 	a.button { color: var(--accent-orange);	 		background-color: var(--background-purple); }
section.background-purple 	a.button { color: var(--background-purple);	 	background-color: var(--accent-coral); }
section.background-yellow 	a.button { color: var(--accent-yellow);	 		background-color: var(--background-purple); }


section.accent-blue 	a.button, section.accent-blue 	 ul.link-list a, section.accent-blue 	 ul.link-list-stacked a	{ background-color: var(--accent-blue);		color: #fff; }
section.accent-coral	a.button, section.accent-coral	 ul.link-list a, section.accent-coral	 ul.link-list-stacked a	{ background-color: var(--accent-coral);	color: #fff; }
section.accent-green 	a.button, section.accent-green  ul.link-list a, section.accent-green  ul.link-list-stacked a	{ background-color: var(--accent-green);	color: #fff; }
section.accent-orange 	a.button, section.accent-orange ul.link-list a, section.accent-orange ul.link-list-stacked a	{ background-color: var(--accent-orange);	color: #fff; }
section.accent-purple 	a.button, section.accent-purple ul.link-list a, section.accent-purple ul.link-list-stacked a	{ background-color: var(--accent-purple);	color: #fff; }
section.accent-yellow 	a.button, section.accent-yellow ul.link-list a, section.accent-yellow ul.link-list-stacked a	{ background-color: var(--accent-yellow);	color: #fff; }

section.accent-blue 	a.keyline { border-color: var(--accent-blue);	color: #4B4B4B; }
section.accent-coral	a.keyline { border-color: var(--accent-coral);	color: #4B4B4B; }
section.accent-green 	a.keyline { border-color: var(--accent-green);	color: #4B4B4B; }
section.accent-orange 	a.keyline { border-color: var(--accent-orange);	color: #4B4B4B; }
section.accent-purple 	a.keyline { border-color: var(--accent-purple);	color: #4B4B4B; }
section.accent-yellow 	a.keyline { border-color: var(--accent-yellow);	color: #4B4B4B; }


section.accent-blue		svg path { fill: var(--accent-blue);	}
section.accent-coral	svg path { fill: var(--accent-coral);	}
section.accent-green	svg path { fill: var(--accent-green);	}
section.accent-orange	svg path { fill: var(--accent-orange);	}
section.accent-purple	svg path { fill: var(--accent-purple);	}
section.accent-yellow	svg path { fill: var(--accent-yellow);	}

section.accent-blue		svg.white-always path { fill: #fff; }
section.accent-coral	svg.white-always path { fill: #fff; }
section.accent-green	svg.white-always path { fill: #fff; }
section.accent-orange	svg.white-always path { fill: #fff; }
section.accent-purple	svg.white-always path { fill: #fff; }
section.accent-yellow	svg.white-always path { fill: #fff; }


section.accent-blue li{ list-style: url(images/icon-list-bullet-blue.svg);  }
section.accent-coral li{ list-style: url(images/icon-list-bullet-coral.svg);  }
section.accent-green li{ list-style: url(images/icon-list-bullet-green.svg);  }
section.accent-orange li{ list-style: url(images/icon-list-bullet-orange.svg);  }
section.accent-purple li{ list-style: url(images/icon-list-bullet-purple.svg);  }
section.accent-yellow li{ list-style: url(images/icon-list-bullet-yellow.svg);  }



section.background-blue 		{ background-color: var(--accent-blue);				color:#fff;	}
section.background-coral		{ background-color: var(--accent-coral);			color:#fff;	}
section.background-dark_purple 	{ background-color: var(--background-dark-purple);	color:#fff; }
section.background-green 		{ background-color: var(--accent-green);			color:#fff;	}
section.background-orange 		{ background-color: var(--accent-orange);			color:#fff;	}
section.background-purple 		{ background-color: var(--background-purple);		color:#fff;	}
section.background-yellow 		{ background-color: var(--accent-yellow);			color:#fff;	}


section.single.accent-blue   li { list-style: url(images/icon-list-bullet-blue.svg); }
section.single.accent-coral  li { list-style: url(images/icon-list-bullet-coral.svg); }
section.single.accent-green  li { list-style: url(images/icon-list-bullet-green.svg); }
section.single.accent-orange li { list-style: url(images/icon-list-bullet-orange.svg); }
section.single.accent-purple li { list-style: url(images/icon-list-bullet-purple.svg); }
section.single.accent-yellow li { list-style: url(images/icon-list-bullet-yellow.svg); }

section.background-dark_purple .introduction h2, section.background-dark_purple h2.section-title { color:#fff !important; }



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

.header-panels { overflow: hidden;}

@media all and (max-width: 739px) {
	.navigation { display: none; }
	a.menu_close { display: none; }
	a.menu_trigger {
		width: 50px;
		height: 50px;
		display: block; overflow:hidden; text-indent:-99999px; background: transparent url(images/icon-menu-burger.svg) no-repeat 50% 50%;
		position: absolute; 
		right:0;
		top:12px;
		border: none;
	}
	a.menu_trigger:hover { background-image: url(images/icon-menu-burger-pink.svg); display: none;}
	body.menu-active a.menu_trigger { background-image: url(images/icon-menu-overlay-close.svg); opacity: 1; z-index:200; }
	body.menu-active div.navigation {
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: var(--background-purple);
		z-index: 100;
		display: block;
		padding: 15vh 5vw;
		position: fixed;
	}
	body.menu-active a.menu_close.mobile_menu{
		display: block;
		position: fixed; top:12px; right: 5%; z-index:200;
		width: 50px; height: 50px; overflow:hidden; text-indent:-99999px; 
		background: var(--background-purple) url(images/icon-menu-overlay-close.svg)  no-repeat 50% 50%;
		z-index:400; border:none; 
	}
	body.menu-active a#logo_mobile_menu { display: block; }
	
	.menu-overlay .promo { display: none; }
	
	.menu li.menu-item-has-children .sub-menu { display: none;
		top: 0;
		right: 0;
		bottom: 0;
		left: 100vw;
		width: 100vw;
		background: var(--background-purple);
		z-index: 102;
		display: block;
		padding: 10vh 10vw;
		position: fixed;
		transition: left 0.3s linear;
	}
	
	.menu li.menu-item-has-children.active .sub-menu { 		
		left:0;
		transition: left 0.3s linear;
	}

	li.top-menu-back a, li.sub-menu-back a { text-transform: uppercase;  font-size: 14px !important; opacity: 0.7;  margin-top: 2em;  letter-spacing: 2.1px; display: block;}
	.parent-label {text-transform: uppercase;  font-size: 14px; color: var(--accent-coral);  font-weight: 300; letter-spacing: 2.1px; margin-bottom:2em; font-family: NourdSemiBold;}
	
	
	.header-panels > div{	position: fixed; top: 0; left:100vw; right:0; transition: left 0.3s linear;	 z-index:101; /*	opacity: 0; z-index: -40; padding: 2.5vh 0; */ width: 100vw; height: 100vh; overflow-y: scroll;	padding: 10vh 10vw;	background: var(--background-purple);}
	.header-panels > div.active { /*z-index: 40; opacity: 1; */ left: 0; transition: left 0.3s linear;}
	

	
}
.header-panels .menu a { font-size: 24px; font-family:NourdSemiBold; color:#fff; border: none;  }
	
.images .gallery ul { margin:0; padding:0;}	
.images .gallery ul li { list-style: none; }	
.images .gallery img { aspect-ratio: 1 / 1; object-fit: cover; border-radius: 5px; }	



@media all and (min-width: 740px) {
	
	.header-panels > div{	position: fixed; top: 0; left:0; right:0; transition: top 0.3s linear;	 opacity: 0; z-index: -40; padding: 2.5vh 0;  width: 100vw; height: 100vh; overflow-y: scroll;	background: var(--background-purple);}
	.header-panels > div.active { z-index: 40; opacity: 1;  top: 0; transition: top 0.3s linear;}

	
	a.menu_trigger { display: none !important; } 
	
	.navigation { display: block; }

	.navigation a { font-size: 18px; }

	.navigation ul { display: flex;gap: 60px; align-items: center;text-align: center; justify-content: flex-end; padding-right:70px;}
	
	li.sub-menu-back, li.top-menu-back, .parent-label { display: none; }
	
	.menu-overlay.four_col .menu > ul{
		position: relative; 
		width: 90vw;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-gap: 20px;
	/*    grid-template-rows: masonry; */
		top: 17vh;
		transition:top 0.5s linear;
		margin: 0 auto;
		max-width: 1200px;
	}

	.menu-overlay ul {margin:0; padding:0;}
	.menu-overlay ul li {margin:0 0 1em 0; padding:0; list-style: none;}
	.menu-overlay ul ul.sub-menu li {margin: 0; }

	.menu-overlay .menu a { text-decoration: none; border: none; color:#fff; font-size: 18px;}

	.menu-overlay .menu > ul > li > a { color: var(--accent-coral); font-size: 28px; margin-bottom: 1em;}
	.menu-overlay .menu ul.sub-menu > li  { }
	.menu-overlay .menu ul.sub-menu > li  > a { color: #fff; font-size: 18px;  line-height: 1.2; padding: 0.4em 0; display: inline-block; font-family: NourdLight; font-weight: 300; }

	.two_col .menu-inner {
		display: grid;
		width: 80vw;
		top: 17vh;
		transition:top 0.5s linear;

	
		position: relative;
		max-width: 900px;
		margin: 0 auto;
		grid-template-columns: 2fr 1fr;
	}
	.two_col .links .menu > ul { column-count: 2; }
	.two_col .links .menu > ul > li{  break-inside: avoid-column; }

	.menu-overlay.four_col.active .menu > ul,
	.two_col.active .menu-inner {top: 16vh; transition:top 0.5s linear;}

	.promo a { position: relative;  border: none; text-decoration: none; border-radius: 5px;  }
	.promo a::after{ content: ""; position: absolute; top:0; right:0; bottom:0; left:0; background-color: var(--background-purple); opacity: 0.3; }
	.promo a img { aspect-ratio: 2 / 3; object-fit: cover; border-radius: 5px; transition: all 0.3s;}
	.promo a:hover img { opacity: 0.6; transition: all 0.3s;}
	.promo a > span { position: absolute; bottom: 20px; left: 20px; right:20px; display: block; font-family: NourdSemiBold; z-index: 2; color:#fff; letter-spacing: 0.7px; background: transparent url(images/icon-menu-ad-arrow.svg) no-repeat 100% 85%; padding-right: 35px; transition: all 0.3s;}
	.promo a:hover > span { bottom: 30px; transition: all 0.3s;}
	.promo a > span span { display: block; text-transform: uppercase; color:#fff; border: none; text-decoration: none; font-size: 80%; font-family: NourdLight; opacity: 0.7; font-weight:300; }

	.navigation a:hover { color: var(--accent-coral); }
	.navigation a.sub_menu.active { color: var(--accent-coral); }
	.navigation a.sub_menu.active::after { background-image: url(images/icon-menu-close.svg);}

	.section.heading + .row { padding-top: 100px;}
	.section.heading + .row.header { padding-top: 0;}

	a.menu_close {
		width: 50px;
		height: 50px;
		display: block; overflow:hidden; text-indent:-99999px; background: transparent url(images/icon-menu-overlay-close.svg) no-repeat 50% 50%;
		position: absolute; 
		right:0;
		top:12px;
		border: none;
		opacity: 0;
	}
	a.menu_close:hover { background-image: url(images/icon-menu-overlay-close-white.svg); }
	body.menu-active a.menu_close { opacity: 1;}

	li.menu-item-has-children > a::after { display: none;}
	
	.images .gallery ul {
	  display: flex;
	  flex-wrap: no-wrap;
	  margin:0; padding:0; 
	}

	.images .gallery li {
	  height: 40vh;
	  flex-grow: 1;
	  padding: 0 5px;
	  margin: 0; 
	}

	.images .gallery li { list-style:none;}
	.images .gallery img {
	  max-height: 100%;
	  min-width: 100%;
	  object-fit: cover;
	  vertical-align: bottom;
	  aspect-ratio: auto;
	}

	
}

@media all and (min-width: 920px){
	.navigation ul { justify-content: center; padding-right:0;}
}

span.header-icon { float: left; margin-right: 15px; }

.contact_form.background-dark_purple h2 { color:#fff; }

#shadow-host-companion {  padding: 0; }
div.lity { background-color: var(--primary-deep-purple-90) !important; }

.archive div.section.heading, .blog div.section.heading, body.single-post div.section.heading { background-color: var(--background-purple);}

section.single.default div.wp-caption.alignnone { width:100% !important; margin-bottom:2em; clear: both;  }
section.single.default div.wp-caption.alignnone img { border-radius: 5px; } 


nav.sqs-svg-icon--list{ display: none !important; }

body.single-post .page-header { text-align:center; }
body.single-post p.postmeta { margin-top: 6vh; }

.single.default .section-inner h1:first-child, 
.single.default .section-inner h2:first-child, 
.single.default .section-inner h3:first-child, 
.single.default .section-inner h4:first-child {
	margin-top: 1.75em !important;
}

figcaption, p.wp-caption-text { padding: 0.75em 0;}
figcaption::before, p.wp-caption-text::before {
	content: "";
	display: inline-block;
	width: 17px; height:17px; margin-right: 11px; 
	background: transparent url(images/caption-arrow.svg) no-repeat 50% 50%; background-size: contain;
}

.page-header.background-white h1 { color: var(--primary-deep-purple) !important; margin-bottom: 0.6em; }

.archive section.page-header .section-inner,
.blog section.page-header .section-inner, 
.single-post section.page-header .section-inner { padding-top:0; max-width: 952px; position: relative;} 

svg.post-title { max-width: 500px; width:90%; }


section.posts-navigation {
	background-color: var(--background-grey);
	padding: 40px 0; 
}

.posts-navigation .section-inner{ 
	
	max-width: 710px; 
	
}

.posts-navigation .section-inner .wp-pagenavi{ 
	display: flex; flex-direction: row; 
	align-items: center; justify-items:center; 
	justify-content: space-around;
}


.posts-navigation a { border: none; }

.posts-navigation .nav-item-holder,
.posts-navigation a[rel="prev"],
.posts-navigation a[rel="next"]{
	width: 40px;
	height:40px;
	text-indent: -9999px;
	text-align: left;
	overflow:hidden;
	background:#fff url(images/icon-prev-next-arrow.svg) no-repeat 50% 50%; background-size: 9px;
	border-radius: 40px; 
	display: block;
}
.posts-navigation a[rel="prev"] { transform: rotate(180deg); margin-right:auto;}
.posts-navigation a[rel="next"] { margin-left:auto;}
.posts-navigation .nav-item-holder { background-image:none; background-color:transparent; }

.wp-pagenavi a.page, .wp-pagenavi span.current { padding: 5px 10px; font-family: NourdSemiBold; }
.wp-pagenavi span.current { color: var(--accent-coral) !important;}
.wp-pagenavi a.page { color: var(--text-grey) !important;}

a.news-link{ text-transform: uppercase; font-family: NourdSemiBold; letter-spacing:2px;}
a.news-back{ text-transform: uppercase; font-family: NourdSemiBold; letter-spacing:2px; color: var(--text-mid-grey) !important; position: absolute; left: 0; top: 4vh; border:none; font-size: 14px; line-height:21px;  }
a.news-back::before{ content:""; display: inline-block; width: 25px; height: 24px; vertical-align:middle; background: transparent url(images/news-back-arrow.svg) no-repeat 50% 50%; background-size: 10px; }
a.news-back:hover{ color: var(--text-grey) !important; }
a.news-back:hover::before{ background-image: url(images/news-back-arrow-hover.svg); }

.category-navigation ul { margin:0; padding:0; display: none;}
section.category-navigation {
	z-index: 5;
    overflow: visible;
}
.cat-nav-holder{
	position: relative; 
	width: 90%;
	margin: 0 auto;
}
.category-navigation .section-inner { padding-bottom: 30px; }
.category-navigation a#category_menu_trigger{
	border: 2px solid var(--accent-green);
	border-radius: 100px;
	padding: 15px 37px; 
	color: var(--text-grey) !important;
	display: block;
	font-family: NourdSemiBold;
	width: 100%;
	position: relative;
}
.category-navigation a#category_menu_trigger:after{
	content: "";
	display: block;
	position: absolute;
	width:20px;
	height:20px;
	background: transparent url(images/news-down-arrow.svg) no-repeat 50% 50%; 
	background-size: 17px;
    right: 25px;
    top: 18px;
}

.category-navigation ul li { list-style: none !important;}
.category-navigation ul li a { color: var(--text-grey) !important; border: none; font-family: NourdSemiBold; display:block;}

.category-navigation.menu-active ul { margin:0; padding: 20px; display: block; position: absolute; background-color:#fff; width:100%; 

	left: 18px;
    right: 18px;
    width: calc(100% - 36px);
    top: 55px;
	border: 2px solid var(--accent-green);
	border-top:none; 
}

.category-navigation.menu-active a#category_menu_trigger:after{ transform: rotate(180deg); }

@media all and (min-width: 900px){
	
	.category-navigation a#category_menu_trigger { display: none; }
	.category-navigation ul { margin:0; padding:0; text-align:center; display: block;}
	.category-navigation ul li { list-style: none !important; display: inline-block; padding: 5px 8px; margin:0;}
	
	.category-navigation ul li a:hover { color: var(--accent-green) !important; border-width: 3px; border-color: var(--accent-green) !important; }
	.category-navigation ul li a.selected { color: var(--accent-green) !important; border-bottom: 3px solid var(--accent-green) !important; }
	
}

.blog .page-header.background-white h1 {
	margin-bottom:0.3em; padding-top: 0.8em;
}

.carousel-cell {
    margin-right: 10px;
}

.adverts.scrolling a.item{
	margin-right:10px; 
}


.flickity-prev-next-button { width: 50px !important; height:50px !important; background: #fff url(images/icon-arrow-next.svg) no-repeat 50% 50% !important;  }
.flickity-prev-next-button > svg { display: none; } 
.flickity-prev-next-button.previous {transform: translateY(-50%) rotate(180deg);}


@media all and (min-width:700px) {
	.single-post section.single.intro{ padding-bottom: 60px; } 	
	.single-post section.single_image + section.single{ padding-top: 60px; } 	
}

