/*
Theme Name: GPA (Government Property Agency)
Theme URI: TBC
Author: Panlogic Ltd
Author URI: https://www.panlogic.co.uk/
*/


body { font-family: 'Mulish', Helvetica, Arial, Lucida, sans-serif; font-size: 1rem; font-weight: 300; line-height: 1.5; color: #333; --white: #FFF; --black: #333; --blue: #024256; --blue80: #4d737f; --teal: #3DA; --pink: #d31e4e; --tint: #DDE8E4; --spacing: 2rem; --spacingSm: 2rem; margin: 0 !important; padding: 0; background: rgba(221,232,228,.5); }
.page { margin: 0 !important; }
.site { max-width: 100rem; margin: 0 auto; background: white;}

@media screen and (min-width: 48rem) {
	body { --spacing: 3rem; }
}
@media screen and (min-width: 75rem) {
	body { --spacing: 4rem; --spacingSm: 2rem; }
}
@media screen and (min-width: 87.5rem) {
	body { --spacing: 8rem; --spacingSm: 2rem; }
}


/* Media size used by javascript for menus */
.media-size { width: 100px; }

@media screen and (min-width: 64rem) {
	.media-size { width: 200px; }
}


/* Typography */
.center { text-align: center; }

h1, h2, h3, h4 { margin: 0 0 1.25rem 0; font-family: 'Mulish', sans-serif; line-height: 1.2; color: var(--blue); }
h1 a, h2 a, h3 a, h4 a { text-decoration: none; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover,
	h1 a:focus, h2 a:focus, h3 a:focus, h4 a:focus { text-decoration: underline !important; }

h1, .h1 { font-size: 2rem; font-weight: 900; }
h2 { font-size: 2rem; font-weight: 500; }
h3, .h3 { font-size: 1.25rem; line-height: 1.4; font-weight: 500; }
h4, .h4 { font-size: 1.125rem; line-height: 1.4; font-weight: 500; color: var(--blue); margin: 0 0 1.25rem 0; display: inline-block; }

@media screen and (min-width: 64rem) {
	h1, .h1 { font-size: 2.5rem; line-height: 1.2; }
	h2 { font-size: 2.5rem; line-height: 1.2; }
	h3, .h3 { font-size: 1.5rem; line-height: 1.2; }
}

p { margin: 0 0 1.25rem 0; }
.caption, figcaption { margin: 0.5rem 0; font-size: .85rem; text-align: left !important; }
.date { font-size: .85rem; color: var(--blue); opacity: .75; }

ul { margin: 0 0 1.25rem 1.25rem; padding: 0; }
ol { margin: 0 0 1.25rem 1.25rem; padding: 0; }

blockquote { font-weight: 500; font-style: italic; color: var(--blue); border-left: 2px solid var(--blue); padding-left: 1rem; margin: 0; }
blockquote em { font-weight: 300; font-style: normal; color: var(--black); display: block; padding-top: .5rem; font-size: .85rem; }

strong { font-weight: 700; }


a:link, a:active, a:visited { color: var(--blue); }
a:hover, a:focus { text-decoration: none; }

a.highlight,
	span.link.highlight { font-weight: 700; display: block; text-decoration: none; padding-left: 2rem; position: relative; }
a.highlight:before,
	span.link.highlight:before { content: '\2014'; position: absolute; left: 0 }

h1 a.highlight, h2 a.highlight, h3 a.highlight, h4 a.highlight { font-size: 1rem; display: inline-block; margin-left: 1rem; }

a.button:link, a.button:active, a.button:visited { display: inline-block; color: var(--blue); background: var(--teal); padding: 1rem 2rem; font-weight: 700; text-decoration: none; overflow-wrap: break-word; word-wrap: break-word; max-width: 100%; }
a.button:hover, a.button:focus { color: var(--white); background: var(--blue); }

a.tag:link, a.tag:active, a.tag:visited { display: inline-block; color: var(--white); background: var(--pink); padding: .15rem .25rem; font-size: .85rem; text-transform: uppercase; text-decoration: none; margin-right: .25rem; display: inline; }
a.tag.type { background: var(--blue); }
a.tag:hover,
	a.tag:focus { background: var(--teal); color: var(--blue); }

span.tag { display: inline-block; color: var(--white); background: var(--pink); padding: .15rem .25rem; font-size: .85rem; text-transform: uppercase; text-decoration: none; }
span.tag.type { background: var(--blue); }
span.tag.service { background: var(--teal); }

a:focus { outline: 2px solid var(--blue); outline-offset: 2px; }


a[target=_blank] { position: relative; padding-right: .25rem; }
a[target=_blank]:after { content: "\e928"; padding-top: 3px; padding-left: 6px; font-family: 'icomoon' !important; text-decoration: none; font-size: .75em; }


/* Images */
/* img, figure { width: 100%; margin: 0; }
figure img { width: 100% !important; } */

figure { margin-top: 0 !important; margin-bottom: 0 !important; }

/* Set fixed image sizes */
.img, .gallery-icon { aspect-ratio: 16 / 9; display: flex; justify-content: center; align-items: center; overflow: hidden; }
.img.square, .gallery-icon.square { aspect-ratio: 1 / 1; }
.img.landscape, .gallery-icon.landscape { aspect-ratio: 4 / 3; }
.img.portrait, .gallery-icon.portrait { aspect-ratio: 3 / 4; }
.img img, .gallery-icon img { object-fit: cover; min-width: 100%; min-height: 100%; }

.gallery-size-thumbnail .gallery-icon.landscape,
	.gallery-size-thumbnail .gallery-icon.portrait { aspect-ratio: 1 / 1; }

.gallery-size-thumbnail.gallery-columns-1 { width: 100%; }

@media screen and (min-width: 30rem) {
	.gallery-size-thumbnail.gallery-columns-1 { margin-left: 2rem; float: right; width: 300px; }
}
@media screen and (min-width: 48rem) {
	.gallery-size-medium.gallery-columns-1 { margin-left: 2rem; float: right; width: calc(((100% - 60px) / 3) * 2); }
}


/* Videos */
/* Maintain ratio of embedded videos */
.maintain-ratio { overflow: hidden; height: 0; padding-top: 56.25%; position: relative; }
.maintain-ratio .inside { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
.maintain-ratio .inside iframe { width: 100%; height: 100%; }


/* Carousels */
.gallery.slick-slider { grid-gap: 0; }

.slick-slider button .slick-sr-only { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

.slick-arrow { height: 2rem; width: 2rem; padding: 0; position: absolute; top: -3.5rem; right: 0; background: transparent; background-repeat: no-repeat; background-size: auto 100%; }
.slick-arrow:hover, 
	.slick-arrow:focus{ background-color: transparent; }
.slick-arrow.slick-prev { background-image: url(../images/arrow-left.svg); background-position: left; right: 2rem; }
.slick-arrow.slick-next { background-image: url(../images/arrow-right.svg); background-position: right; }
.blue .slick-arrow.slick-prev { background-image: url(../images/arrow-left-wht.svg); }
.blue .slick-arrow.slick-next { background-image: url(../images/arrow-right-wht.svg); }

.slick-dots { list-style: none; margin: 0; }
.slick-dots li { display: inline-block; padding: 0 .5rem 0 0; }
.slick-dots li button { width: 1.5rem; height: 1.5rem; padding: 0; border-radius: 50%; background: var(--blue); }
.slick-dots li.slick-active button { background: var(--teal); }


/* Forms */
fieldset { border: 0; padding: 0; }
legend { font-size: 1.125rem; line-height: 1.4; font-weight: 500; color: var(--blue); margin: 0 0 .75rem 0; display: inline-block; }

input[type="text"], 
	input[type="email"], 
	input[type="url"], 
	input[type="password"], 
	input[type="search"], 
	input[type="number"], 
	input[type="tel"], 
	input[type="range"], 
	input[type="date"], 
	input[type="month"], 
	input[type="week"], 
	input[type="time"], 
	input[type="datetime"], 
	input[type="datetime-local"], 
	input[type="color"], 
	textarea { border: 1px solid rgba(2,66,86,.5); border-radius: 0; font-family: 'Mulish', Helvetica, Arial, Lucida, sans-serif; font-size: 1rem; font-weight: 300; line-height: 1.5; color: #333; padding: .5rem .75rem; width: 100%; }

input[type="number"] { padding-right: 0; }

select { border: 1px solid rgba(2,66,86,.5); font-family: 'Mulish', Helvetica, Arial, Lucida, sans-serif; font-size: 1rem; font-weight: 300; line-height: 1.5; color: #333; padding: .5rem .75rem; width: 100%; }

label { display: block; }

button,
	input[type="submit"],
	input[type="button"] { border-radius: 0; border: 0; color: var(--blue); background: var(--teal); padding: 1rem 2rem; cursor: pointer; font-family: 'Mulish', Helvetica, Arial, Lucida, sans-serif; font-size: 1rem; font-weight: 500; }
button:hover,
	button:focus,
	input[type="submit"]:hover,
	input[type="submit"]:focus,
	input[type="button"]:hover,
	input[type="button"]:focus { color: var(--white); background: var(--blue); }

button:focus,
	input[type="submit"]:focus,
	input[type="button"]:focus,
	input[type="text"]:focus,
	input[type="search"]:focus { outline: 2px solid var(--blue); }


/* Navigation */
.site > header .container { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; position: relative; padding-top: 1rem; }
.site > header .logo img { width: 80px; height: auto; margin-bottom: 1rem; }

@media screen and (min-width: 64rem) {
	.site > header .container { align-items: flex-end; }
}

.site > header button { background: var(--white); padding: 0; display: block; }
.site > header button:hover,
	.site > header button:focus { color: var(--blue); background: var(--white); }

.site > header button.menu-toggle { font-size: 1.75rem; position: absolute; top: 1rem; right: 2rem; }
.site > header button.search-toggle { font-size: 1.55rem; position: absolute; top: 1rem; right: 5rem; }
.site > header button.sub-menu-toggle { background: var(--white) !important; padding: .75rem 0 .75rem 1rem; }

.site > header li.search-toggle,
	.site > header li.search-toggle a { display: none; }

.site > header nav { width: 100%; }
.site > header nav a { text-decoration: none; font-weight: 500; padding: .5rem 0; }
.site > header nav ul { margin: 0 0 var(--spacingSm); list-style: none; }
.site > header nav ul li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.site > header nav ul li button { display: inline-block; }
.site > header nav ul li ul { width: 100%; margin-bottom: .5rem; display: none; }
.site > header nav ul li ul li a { font-weight: 300; padding: .25rem 0; }

.site > header nav .menu-sub-menu-container ul li a { display: block; width: 100%; text-align: center; color: var(--white); background: var(--blue); padding: 1rem 1rem; font-weight: 300; font-size: .85rem; margin-bottom: .25rem; }
.site > header nav .menu-sub-menu-container ul li:last-child a { color: var(--blue); background: var(--teal); font-weight: 500; }

.site > header nav .menu-sub-menu-container ul li a:hover,
	.site > header nav .menu-sub-menu-container ul li a:focus { color: var(--blue); background: var(--teal); }
.site > header nav .menu-sub-menu-container ul li:last-child a:hover,
	.site > header nav .menu-sub-menu-container ul li:last-child a:focus { color: var(--white); background: var(--blue); }

.site > header nav .desktop { display: none; }

.site > header nav .menu-main-menu-container,
	.site > header nav .menu-sub-menu-container { display: none; }


.site > header .mega-menu { display: none; position: absolute; z-index: 1000; background: var(--blue); color: var(--white); width: 100%; left: 0; top: 123px; margin: 0; padding: var(--spacingSm) 0;  }
.site > header .mega-menu .container { display: flex; justify-content: space-between; align-items: flex-start; padding-top: 0; }
.site > header .mega-menu.cols2 .container div.mega-menu-section { width: calc((100% - 60px) / 2); }
.site > header .mega-menu.cols2.split7030 .container div.mega-menu-section:first-child { width: calc(((100% - 120px) / 3) * 2); }
.site > header .mega-menu.cols2.split7030 .container div.mega-menu-section:last-child { width: calc(((100% - 120px) / 3)); }
.site > header .mega-menu.cols3 .container div.mega-menu-section { width: calc((100% - 120px) / 3); }

.site > header .mega-menu a { color: var(--teal); border-bottom: 0 !important; padding-bottom: 0; margin-left: 2rem; display: inline-block; position: relative; }
.site > header .mega-menu a:hover,
	.site > header .mega-menu a:focus { text-decoration: underline; }
.site > header .mega-menu a:before { content: '\2014'; position: absolute; left: -2rem; }
.site > header .mega-menu ul li { align-items: flex-start; }
.site > header .mega-menu ul li button { display: none }

.site > header .mega-menu div h2,
	.site > header .mega-menu div .textwidget:first-child p:first-child,
	.site > header .mega-menu div ul.menu,
	.site > header .mega-menu div .textwidget ul li a:first-child { font-size: 1.25rem; }

.site > header .mega-menu div h2 { color: var(--white); }	

.site > header .mega-menu div ul.menu { display: block; }
.site > header .mega-menu div ul.menu li { padding-bottom: .25rem; }

.site > header .mega-menu div .textwidget ul { display: flex; justify-content: space-between; flex-wrap: wrap; }
.site > header .mega-menu div .textwidget ul li { width: calc((100% - 60px) / 2); margin-bottom: var(--spacingSm); }
.site > header .mega-menu div .textwidget ul li br { display: none; }

.site > header .mega-menu figcaption { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

.site > header .mega-menu div.mega-menu-section.latest ul { display: flex !important; flex-wrap: wrap; justify-content: space-between; }
.site > header .mega-menu div.mega-menu-section.latest ul li { width: 48%; display: inline-block; margin-bottom: 1rem; }
.site > header .mega-menu div.mega-menu-section.latest ul li h3 { font-size: 1.25rem; margin-bottom: .5rem; }
.site > header .mega-menu div.mega-menu-section.latest ul li h3 a { margin-left: 0; }
.site > header .mega-menu div.mega-menu-section.latest ul li h3 a:before { content: ''; padding: 0; }
.site > header .mega-menu div.mega-menu-section.latest ul li .type {  text-transform: uppercase; display: inline; }
.site > header .mega-menu div.mega-menu-section.latest ul li .date {  color: var(--white); display: inline; padding-left: 1rem; }

.site > header .mega-menu div.mega-menu-section.vacancies ul { display: block; }
.site > header .mega-menu div.mega-menu-section.vacancies ul li { display: inline-block; padding-bottom: 1rem; }
.site > header .mega-menu div.mega-menu-section.vacancies ul li h3 { font-size: 1.25rem; margin-bottom: .5rem; padding: 0; }
.site > header .mega-menu div.mega-menu-section.vacancies ul li h3 a { margin-left: 0; }
.site > header .mega-menu div.mega-menu-section.vacancies ul li h3 a:before { content: ''; padding: 0; }
.site > header .mega-menu div.mega-menu-section.vacancies ul li .meta a { font-weight: 300; padding: 0; }
.site > header .mega-menu div.mega-menu-section.vacancies ul li .meta a:before { content: ''; padding: 0; }

.site > header .mega-menu .triangle.bottom.color { width: 0; height: 0; border-top: 20px solid var(--blue); border-right: 100vw solid transparent; position: absolute; bottom: -19px; }
.site > header .mega-menu .triangle.bottom.teal {  width: 0; height: 0; border-top: 30px solid var(--teal); border-left: 40vw solid transparent; position: absolute; bottom: -29px; right: 0; }

@media screen and (min-width: 30rem) {
	.site > header nav .menu-sub-menu-container ul { display: flex; flex-wrap: nowrap; }
	.site > header nav .menu-sub-menu-container ul li { display: inline-block; width: 100%; }
	.site > header nav .menu-sub-menu-container ul li { padding-left: .25rem; }
	.site > header nav .menu-sub-menu-container ul li:first-child { padding-left: 0; }
	.site > header nav .menu-sub-menu-container ul li a { margin: 0; }
}
@media screen and (min-width: 64rem) {
	.site > header .logo img { width: 100px; } 

	.site > header button.menu-toggle,
		.site > header button.search-toggle { display: none; }
	.site > header button.sub-menu-toggle { font-size: .85rem; padding: .75rem 1rem; }

	.site > header li.search-toggle { display: inline-block; }
	.site > header li.search-toggle button { font-size: 1.125rem; padding: .6rem 0; }
	.site > header li.search-toggle a { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

	.site > header nav { width: auto; }
	.site > header nav ul { display: flex; margin: 0; }
	.site > header nav ul li { align-items: flex-end; padding-right: 1rem; }
	.site > header nav ul li:last-child { padding-right: 0; }
	.site > header nav ul li a { display: inline-block; padding-bottom: 12px; border-bottom: 5px solid var(--white); }
	.site > header nav ul li:hover a,
		.site > header nav ul li a:focus { border-bottom: 5px solid var(--teal); }
	.site > header nav ul li button { margin-bottom: 9px; display: inline-block; }
	.site > header nav ul li ul { display: none; }
	.site > header nav ul li .mega-menu ul { display: block; }

	.site > header nav .desktop { display: block; }
	.site > header nav .mobile { display: none; }

	.site > header nav .menu-sub-menu-container { position: absolute; top: 0; right: var(--spacing); width: 50%; }
	.site > header nav .menu-sub-menu-container ul { width: 100%; justify-content: flex-end; }
	.site > header nav .menu-sub-menu-container ul li { padding-right: 0; padding-left: .5rem; width: auto; }
	.site > header nav .menu-sub-menu-container ul li a { border-bottom: 0; padding: .75rem 1rem .5rem; }

	.site > header nav .menu-main-menu-container,
		.site > header nav .menu-sub-menu-container { display: block; }
}
@media screen and (min-width: 100rem) {
	.site > header .mega-menu .triangle.bottom.color { border-right: 100rem solid transparent; }
}


.breadcrumbs { list-style: none; margin: 0 0 0 0; padding: 0.5rem 0; border-top: 2px solid var(--blue); width: 100%; font-size: .95rem; }
.breadcrumbs li { display: inline-block; }
.breadcrumbs li:after { content: '/'; padding: 0 .75rem; }
.breadcrumbs li:last-child:after { content: ''; }
.breadcrumbs li a { text-decoration: none; }
.error404 .breadcrumbs { display: none !important; }


.pagination { margin: var(--spacingSm) 0; }
.pagination a,
	.pagination span { display: inline-block; padding-right: .5rem; text-decoration: none; }
.pagination span { font-weight: 500; }


.site > footer { background: var(--blue80); }
.site > footer .container { padding: var(--spacingSm) var(--spacing); }

.site > footer a:focus { outline: 2px solid var(--white); }

.site > footer ul { list-style: none; margin: 0; }
.site > footer ul li a { color: var(--white); text-decoration: none; font-weight: 500; }
.site > footer .footer-section ul { margin-bottom: 1rem; }
.site > footer .footer-section ul li a:before { content: '\2014'; padding-right: 1rem; }

.site > footer .menu-footer-social-links-container ul { margin: 2rem 0 0; }
.site > footer .menu-footer-social-links-container ul li { display: inline-block; padding-right: 1rem; }
.site > footer .footer-section ul li.social a { text-indent: -2000rem; display: block; width: 3rem; height: 3rem; background-repeat: no-repeat; background-size: 100%; background-position: center; }
.site > footer .footer-section ul li.social.twitter a { background-image: url(../images/twitter.svg); }
.site > footer .footer-section ul li.social.linkedin a { background-image: url(../images/linkedin.svg); }

.site > footer .legals { background: var(--blue); }
.site > footer .legals ul li a { font-weight: 300; }

@media screen and (min-width: 64rem) {
	.site > footer .container { display: flex; justify-content: space-between; }

	.site > footer .footer-section { width: calc((100% - 60px) / 3); }
	.site > footer .footer-section ul li { padding: .25rem 0; }

	.site > footer .menu-footer-social-links-container ul { display: flex; flex-wrap: nowrap; justify-content: flex-end; margin: 0; }
	.site > footer .menu-footer-social-links-container ul li { padding-right: 0; padding-left: 1rem !important; }

	.site > footer .legals div { width: 100%; }
	.site > footer .legals ul li { display: inline; padding-right: 1rem; }
	.site > footer .legals ul li:last-child { float: right; padding-right: 0; }
}


/* Search */
.site form.search-form { width: 100%; display: flex; justify-content: space-between; margin-bottom: 2rem; }
.site form.search-form label { width: 100%; }
.site form.search-form input[type='search'] { padding: .75rem 1rem; }

.site > header .search-container { width: 100%; display: none; }

.site main form.search-form { padding-top: var(--spacingSm); }


.searchandfilter h4 { font-weight: 500; font-size: 1.125rem; line-height: 1.4; color: var(--blue); padding-top: 0; }
.searchandfilter ul { margin: 0; }
.searchandfilter ul li { padding: 0 0 1rem 0; }
.searchandfilter ul li ul li { padding: 0 0 .25rem 0; }
.searchandfilter label { display: block; }
.searchandfilter label.sf-label-checkbox { display: inline-block; }

.searchandfilter .sf-field-search .screen-reader-text,
	.searchandfilter .sf-field-tag .screen-reader-text,
	.searchandfilter .sf-field-taxonomy-locations .screen-reader-text,
	.searchandfilter .sf-field-taxonomy-types .screen-reader-text { border: 0; clip: none; clip-path: none; height: auto; margin: 0; overflow: inherit; padding: 0 0 10px 0; position: relative !important; width: auto; word-wrap: normal !important; color: var(--blue); font-size: 1.125rem; font-weight: 500; line-height: 1.2; display: inline-block; }

.searchandfilter .sf-range-max, 
	.searchandfilter .sf-range-min { max-width: 100%; }

.sf-meta-range-number { display: flex; justify-content: flex-start; align-items: center; flex-wrap: nowrap; }
.sf-meta-range-number label { width: 100% }
.sf-meta-range-number .sf-range-values-seperator { padding: 0 .5rem; }

.chosen-container-multi .chosen-choices { border: 1px solid rgba(2,66,86,.5); background-image: none; font-family: 'Mulish', Helvetica, Arial, Lucida, sans-serif; font-size: 1rem; font-weight: 300; line-height: 1.5; color: #333; padding: .25rem .5rem; width: 100%; }

@media screen and (min-width: 48rem) {
	.rows .searchandfilter ul { display: flex; flex-wrap: nowrap; justify-content: space-between; }
	.rows .searchandfilter ul li { padding-right: 1rem; width: 33%; }
	.rows .searchandfilter ul li:last-child { padding-right: 1rem; width: 100px;}
	.rows .searchandfilter ul li h4 { display: none; }
	.rows .searchandfilter ul li input[type='submit'] { padding: .8rem 2rem; }
}
@media screen and (min-width: 64rem) {
	.sf-meta-range-number { justify-content: space-between; }
}


/* Structure */
.divider { width: 95px; height: 2px; background: var(--blue); margin-bottom: .5rem; }
.divider.margin { margin-bottom: 1.5rem; }
.divider.small { width: 47px; height: 1px; background: var(--blue); opacity: .5; margin-top: .5rem; }
.divider.full { width: 100%; margin-top: 2rem; }
.blue .divider { background: var(--white); }


.container, .wrapper { margin: 0 auto; padding: 0 var(--spacing); }
.container.limit { max-width: 64rem; }
.container.cols .content { margin-bottom: var(--spacingSm); }
.container.cols .content blockquote { margin: .25rem 0 1.5rem; }
.container.cols .content p:last-child { margin-bottom: 0; }
.container.cols .content a.button:hover,
	.container.cols .content a.button:focus { background: var(--blue); }

.container.cols .content section:first-child { margin-top: 0; }
.container.cols .content section:last-child { margin-bottom: 0; }

.container.cols aside h2 { font-weight: 700; }
.container.cols aside h3 { font-size: 1.125rem; font-weight: 700; margin-bottom: .25rem; }
.container.cols aside ul { list-style: none; margin: 0 0 1.5rem 0; }
.container.cols aside ul li { margin-bottom: 1rem; }
.container.cols aside a.button { margin-bottom: 1.5rem; }

@media screen and (min-width: 64rem) {	
	.container.cols { display: flex; flex-wrap: nowrap; justify-content: space-between; }
	.container.cols .content { width: calc(((100% / 3) * 2) + 120px ); }
	.container.cols .content:first-child {padding-right: 60px; }
	.container.cols .content:last-child {padding-left: 60px; }
	.container.cols > aside,
		.container.cols > .filters-container { width: calc((100% / 3) - 120px ); }
}


/* Meta display */
.meta ul { list-style: none; margin: 0; display: inline-block !important; width: 100%; }
.meta ul li { display: inline-block !important; padding-right: .25rem; float: left; margin: 0 !important; width: auto !important; }
.meta ul li a.tag { margin-right: 0 !important; }
.meta span { display: block; }
.meta a.tag,
	.meta span.tag { display: inline !important; }


/* Post lists */
.post-list ul { list-style: none; margin: 0; }
.post-list ul li { margin-bottom: var(--spacingSm); }

@media screen and (min-width: 48rem) {
	.post-list ul li.has-image { display: flex; justify-content: space-between; flex-direction: row-reverse; align-items: flex-start; }
	.post-list ul li.has-image .copy { width: 50%; }
	.post-list ul li.has-image .img-container { width: 42%; }
}


section { margin: var(--spacingSm) 0; }

section.tint { margin: 0 0; padding: var(--spacingSm) 0; background: var(--tint); }

section.blue { margin: calc(var(--spacingSm) * 2) 0; }
section.blue.tint-top { margin-top: var(--spacingSm); }
section.blue.tint-bottom { margin-bottom: 1rem; }
section.blue.tint-both { margin-top: var(--spacingSm); margin-bottom: 1rem; }
section.blue.tint-both .tint-top,
	section.blue.tint-top .tint-top,
	section.blue.tint .tint-top { position: absolute; top: -2rem; height: var(--spacingSm); width: 100%; background: var(--tint); z-index: 0; }
section.blue.tint-both .tint-bottom,
	section.blue.tint-bottom .tint-bottom,
	section.blue.tint .tint-bottom { position: absolute; bottom: -2rem; height: var(--spacingSm); width: 100%; background: var(--tint); z-index: 0; }


.container.cols article { margin-bottom: var(--spacingSm); }
article .header-container { position: relative; margin-bottom: 40px; }
article .header-container.featured { margin-bottom: 30px; }
article header { background: var(--tint); padding: var(--spacingSm) 0; }

article .header-container .triangle.bottom.color { width: 0; height: 0; border-top: 20px solid var(--tint); border-right: 100vw solid transparent; position: absolute; bottom: -19px; }
article .header-container.blue .triangle.bottom.color { border-top: 20px solid var(--blue); }

article .header-container .triangle.bottom.teal { width: 0; height: 0; border-top: 30px solid var(--teal); border-left: 60vw solid transparent; position: absolute; bottom: -29px; right: 0; }

article header .copy p { color: var(--blue); margin-bottom: .25rem; }
article header .copy p a { color: var(--white); }
article header .copy a.button { margin-top: 1.5rem; }

article .header-container.blue header { background: var(--blue); }
article .header-container.blue header .divider { background: var(--white); }
article .header-container.blue header h1,
	article .header-container.blue header p,
	article .header-container.blue header .date { color: var(--white); }

article .header-container.featured header { padding: 0 0; position: relative; aspect-ratio: 16 / 8; }
article .header-container.featured header .img-container .img { aspect-ratio: 16 / 8; }

article .header-container.featured header .copy { padding: 2rem 0; }

article .header-container.featured header { position: relative; }
article .header-container.featured header .home-carousel .copy { border-bottom: var(--spacing) solid var(--tint); padding: var(--spacing); }
article .header-container.featured header .home-carousel .copy h2 { font-weight: 900; }
article .home-carousel .slick-dots { position: absolute; bottom: 1rem; left: var(--spacing); }
article .home-carousel .slick-dots li button { width: 1rem; height: 1rem; }
article .home-carousel .slick-arrow { height: 1.5rem; width: 1.5rem; top: auto; bottom: 1rem; right: var(--spacing); z-index: 100000; }
article .home-carousel .slick-arrow.slick-prev { right: calc(var(--spacing)*1.75); }

/*article .home-carousel .slick-autoplay-toggle-button { position: absolute; bottom: 1rem; right: var(--spacing); width: 1.5rem; height: 1.5rem; padding: 0; z-index: 100000; background: transparent;  }
article .home-carousel .slick-autoplay-toggle-button span { width: 1.5rem; height: 1.5rem; padding: .75rem; background: transparent; background-repeat: no-repeat; background-size: 1.5rem 1.5rem; background-position: right; background-image: url(../images/pause.svg); z-index: 100000; }

article .home-carousel .slick-autoplay-toggle-button .slick-play-icon { background-image: url(../images/play.svg); }*/


@media screen and (min-width: 48rem) {
	article .header-container.featured .triangle.bottom.color { border-top: 0; border-bottom: 20px solid var(--white); border-right: 0; border-left: 100vw solid transparent; bottom: 0; }
	article .header-container.featured .triangle.bottom.teal { border-top: 13px solid transparent; border-bottom: 30px solid transparent; border-right: 60vw solid var(--teal); border-left: 0; bottom: -22px; z-index: 10; }

	article .header-container.featured header { background: transparent; }
	article .header-container.featured header  .img-container { z-index: 0; }

	article .header-container.featured header .copy { background: var(--tint); padding: 2rem; position: absolute; bottom: var(--spacing); left: var(--spacing); width: calc(100% - 6rem); z-index: 10; }
	article .header-container.featured header .copy p { width: 100%; }

	article .header-container.featured header .home-carousel .copy { border-bottom: 0; position: absolute; bottom: var(--spacing); left: auto; margin-left: var(--spacing); width: calc(100vw - 6rem); }

	article .home-carousel .slick-dots { position: absolute; bottom: 4rem; left: calc(var(--spacing) *2); }
	article .home-carousel .slick-dots li { padding: 0 .5rem 0 0; }
	article .home-carousel .slick-arrow { bottom: 4rem; right: calc(var(--spacing) *2); }
	article .home-carousel .slick-arrow.slick-prev { right: calc(var(--spacing)*2.5); }
	article .home-carousel .slick-autoplay-toggle-button { bottom: 4rem; right: 4rem; }
}
@media screen and (min-width: 64rem) {
	article header .copy p { font-size: 1.25rem; }

	article .header-container .triangle.bottom.teal { border-left: 40vw solid transparent; }
	article .header-container.featured .triangle.bottom.teal { border-top: 8px solid transparent; border-right: 40vw solid var(--teal); bottom: -18px; }

	article .header-container.featured header .copy { width: calc(((100% - 120px) / 3) * 2); padding: 3rem; }

	article .header-container.featured header .home-carousel .copy { width: calc(((100vw - 120px) / 3) * 2); }
	article .home-carousel .slick-autoplay-toggle-button { right: calc(((100vw - 120px) / 3) + 6rem); }
}
@media screen and (min-width: 75em) {
	article .header-container.featured header .home-carousel .copy { padding: 3rem; }

	article .home-carousel .slick-dots { bottom: 5rem; left: calc(var(--spacing) + 3rem); }
	article .home-carousel .slick-autoplay-toggle-button { bottom: 5rem; right: calc(((100vw - 120px) / 3) + 5rem); }
}
@media screen and (min-width: 87.5em) {
	article header .copy { width: calc(((100% - 30px) / 3) * 2.5); }

	article .home-carousel .slick-dots { bottom: 9rem; }
	article .home-carousel .slick-autoplay-toggle-button { bottom: 9rem; right: calc(((100vw - 120px) / 3) + 1rem); }
}
@media screen and (min-width: 100rem) {
	article .header-container .triangle.bottom.color { border-right: 100rem solid transparent; }
	article .header-container.featured .triangle.bottom.color { border-left: 100rem solid transparent; bottom: 0; }
	article .header-container .triangle.bottom.teal { border-left: 40rem solid transparent; }
	article .header-container.featured .triangle.bottom.teal { border-right: 40rem solid var(--teal); }

	article .header-container.featured header .home-carousel .copy { width: calc(((100rem - 120px) / 3) * 2); }
	article .home-carousel .slick-dots { bottom: 9rem; right: calc(((100rem - 60px) / 3) + 1rem); }
	article .home-carousel .slick-autoplay-toggle-button { bottom: 9rem; right: calc(((100rem - 120px) / 3) + 1rem); }
}


/* Blocks */
/* Tabs */
section.tabs .tab { display: none; }
section.tabs .tab.first { display: block; }

section.tabs .tab-nav { list-style: none; margin: 0; display: flex; flex-wrap: nowrap; justify-content: flex-start; }
section.tabs .tab-nav li { border-left: 1px solid var(--blue); padding: 0 1rem; }
section.tabs .tab-nav li:first-child { border-left: 0; padding: 0 1rem 0 0; }
section.tabs .tab-nav li a { display: inline-block; text-decoration: none; font-weight: 500; padding-bottom: .5rem; border-bottom: 5px solid var(--white); }
section.tabs .tab-nav li a.active { font-weight: 700; border-bottom: 5px solid var(--teal) !important; }

section.tabs.tint .tab-nav li a { border-bottom: 5px solid var(--tint); }
section.tabs.tint .tab li { background: var(--white); }

section.tabs .tab { margin-top: var(--spacingSm); }

section.tabs .copy .intro { font-size: 1.25rem; margin-bottom: 3rem; }

@media screen and (min-width: 48rem) {
	section.tabs .tab-nav li { padding: 0 1.5rem; }
	section.tabs .tab-nav li:first-child { padding: 0 1.5rem 0 0; }
	section.tabs .tab-nav li a { font-size: 1.25rem; }
}
@media screen and (min-width: 64rem) {
	section.tabs .tab-nav li { padding: 0 2rem; }
	section.tabs .tab-nav li:first-child { padding: 0 2rem 0 0; }
	section.tabs .tab-nav li a { font-size: 1.5rem; }
}
@media screen and (min-width: 87.5rem) {
	section.tabs .container .copy .intro,
		section.tabs .tab .container > .copy p { max-width: calc(((100% - 30px) / 3) * 2.5); }
}


/* Lists */
section.list .list { list-style: none; margin: 0; }
section.list .list .list-item .img-container { margin-bottom: 1.25rem; }
section.list .list .list-item h4,
	section.list .list .list-item p:last-child { margin-bottom: 0; }

section.list .list .list-item a { display: block; }

section.list .icon-container { display: block; text-decoration: none; }
section.list [class^="icon-"], 
	section.list [class*=" icon-"] { font-size: 5rem; margin-bottom: 1rem; color: var(--blue); }

section.list .copy .intro { font-size: 1.25rem; margin-bottom: 2rem; }

section.list.tint-item .list .list-item { background: var(--tint); }
section.list.tint-item .list .list-item .icon-container { padding: var(--spacingSm) var(--spacingSm) 0; }
section.list.tint-item .list .list-item .img-container { margin-bottom: 0; }
section.list.tint-item .list .list-item .copy { padding: var(--spacingSm); }
section.list.icon.tint-item .list .list-item .copy { padding: 0 var(--spacingSm) var(--spacingSm); }
section.list.tint.tint-item .list .list-item { background: var(--white); }
section.list.blue.tint-item .list .list-item,
	section.list.icon.blue.tint-item .list .list-item { background: transparent; }
section.list.blue.tint-item .list .list-item .icon-container { padding: 0; }
section.list.blue.tint-item .list .list-item .copy,
	section.list.icon.blue.tint-item .list .list-item .copy { padding: 0; }

section.list.blue .list .list-item .copy .date { color: var(--white); }
section.list.blue .list .list-item .copy span.tag.type { color: var(--blue); background: var(--teal); }

section.list.two-cols .list .list-item { margin-top: var(--spacingSm); }
section.list.two-cols .list .list-item:first-child { margin-top: 0; }

@media screen and (min-width: 48rem) {
	section.list.two-cols .list { display: flex; justify-content: space-between; flex-wrap: wrap; }
	section.list.two-cols .list .list-item { width: calc((100% - 30px) / 2); }
	section.list.two-cols .list .list-item:nth-child(2) { margin-top: 0; }
}
@media screen and (min-width: 75rem) {
	section.list.two-cols .list .list-item { width: calc((100% - 60px) / 2); }
}
@media screen and (min-width: 87.5rem) {
	section.list .copy .intro { max-width: calc(((100% - 30px) / 3) * 2.5); }
}
@media screen and (min-width: 100rem) {
	section.list.two-cols .list .list-item { width: calc(((100rem - (var(--spacing) * 2)) - 60px) / 2); margin-top: calc(var(--spacingSm) * 1.5); }
}

section.list.blue .triangle.top.color { width: 0; height: 0; border-bottom: 20px solid var(--blue); border-left: 100vw solid transparent; position: absolute; top: -19px; }
section.list.blue .triangle.top.teal {  width: 0; height: 0; border-bottom: 30px solid var(--teal); border-right: 40vw solid transparent; position: absolute; top: -29px; }
section.list.blue .triangle.bottom.color { width: 0; height: 0; border-top: 20px solid var(--blue); border-right: 100vw solid transparent; position: absolute; bottom: -19px; }
section.list.blue .triangle.bottom.teal {  width: 0; height: 0; border-top: 30px solid var(--teal); border-left: 40vw solid transparent; position: absolute; bottom: -29px; right: 0; }

section.list.blue { background: var(--blue); color: var(--white); position: relative; z-index: 10; }
section.list.blue .container { padding: var(--spacingSm) var(--spacing); position: relative; z-index: 10; }

section.list.blue [class^="icon-"], 
	section.list.blue [class*=" icon-"] { color: var(--teal); }
section.list.blue h2,
	section.list.blue h3,
	section.list.blue a { color: var(--white); }
section.list.blue a.highlight,
	section.list.blue span.highlight { color: var(--teal); display: inline-block; }
section.list.blue a.highlight:focus { outline: 2px solid var(--teal); }

section.list.blue .bg-image { position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: .05; z-index: 0; }

@media screen and (min-width: 100rem) {
	section.list.blue .triangle.top.color { border-left: 100rem solid transparent; }
	section.list.blue .triangle.bottom.color { border-right: 100rem solid transparent; }
}


section.list.grid .list .list-item { margin-top: var(--spacingSm); }
section.list.grid.related .list .list-item,
	section.list.grid.explore .list .list-item { margin-bottom: 0; }

@media screen and (min-width: 48rem) {
	section.list.grid .list { display: flex; justify-content: flex-start; flex-wrap: wrap; }
	section.list.grid .list .list-item { width: calc((100% - 60px) / 3);  margin-top: calc(var(--spacingSm) * 1.5); margin-right: 30px; }
	section.list.grid .list .list-item:first-child,
		section.list.grid .list .list-item:nth-child(2),
		section.list.grid .list .list-item:nth-child(3) { margin-top: 0; }
	section.list.grid .list .list-item:nth-child(3n) { margin-right: 0; }

	.container.cols section.list.grid .list .list-item { width: calc((100% - 60px) / 2); margin-right: 30px; margin-top: var(--spacingSm); }
	.container.cols section.list.grid .list .list-item:first-child,
		.container.cols section.list.grid .list .list-item:nth-child(2) { margin-top: 0; }

	section.list.grid.count2 .list .list-item { width: calc((100% - 30px) / 2) !important; margin-top: 0 !important; }
	section.list.grid.count2 .list .list-item:nth-child(2n) { margin-right: 0 !important; }

	section.list.grid.featured .list { justify-content: space-between; }
	section.list.grid.featured .list .list-item { margin-right: 0; }
	section.list.grid.featured .list .list-item:first-child { width: 100% !important; display: flex; justify-content: space-between; }
	section.list.grid.featured .list .list-item:nth-child(2),
		section.list.grid.featured .list .list-item:nth-child(3) { margin-top: calc(var(--spacingSm) * 1.5); }
	section.list.grid.featured .list .list-item:first-child > div { width: calc((((100% - 60px) / 3) * 2) + 30px); }
	section.list.grid.featured .list .list-item:first-child .copy { width: calc((100% - 60px) / 3); }
	section.list.grid.featured.tint-item .list .list-item:first-child .copy { padding: var(--spacingSm) var(--spacingSm) var(--spacingSm) 0; }
	section.list.grid.featured .list .list-item:first-child .img-container { margin-bottom: 0; }

	section.list.grid.featured .list .list-item .meta ul li:first-child { width: auto !important; }

	/*section.list.grid ul li.contact { width: 100%; }
	section.list.grid ul li.contact h2 { font-weight: 700; }*/
}
@media screen and (min-width: 75rem) {
	section.list.grid .list .list-item { width: calc((100% - 120px) / 3); margin-right: 60px; }
	.container.cols section.list.grid .list .list-item { width: calc((100% - 90px) / 3); margin-right: 30px; }
	.container.cols section.list.grid .list .list-item:nth-child(3) { margin-top: 0; }

	section.list.grid.count2 .list .list-item { width: calc((100% - 60px) / 2); }

	section.list.grid.featured .list .list-item:first-child > a { width: calc((((100% - 120px) / 3) * 2) + 60px); }
	section.list.grid.featured .list .list-item:first-child .copy { width: calc((100% - 120px) / 3); }
	section.list.grid.featured .list .list-item:first-child .copy h2,
		section.list.grid.featured .list .list-item:first-child .copy h3 { font-size: 2.5rem; }
	section.list.grid.featured .list .list-item:first-child .copy p { font-size: 1.25rem; }
}
@media screen and (min-width: 101rem) {
	section.list.grid .list .list-item { width: calc(((100rem - (var(--spacing) * 2)) - 120px) / 3); }

	section.list.grid.count2 .list .list-item { width: calc(((100rem - (var(--spacing) * 2)) - 60px) / 2); }

	section.list.grid.featured .list .list-item:first-child > a { width: calc(((((100rem - (var(--spacing) * 2)) - 120px) / 3) * 2) + 60px); }
	section.list.grid.featured .list .list-item:first-child .copy { width: calc(((100rem - (var(--spacing) * 2)) - 120px) / 3); }
}


section.list.carousel .copy .intro,
	section.list.carousel-icon .copy .intro { padding-bottom: 1.5rem; }
section.list.carousel .slick-track,
	section.list.carousel-icon .slick-track { display: flex !important; justify-content: space-between !important; }
section.list.carousel .slick-slide,
	section.list.carousel-icon .slick-slide { height: inherit !important; }
section.list.carousel .list .list-item, 
	section.list.carousel-icon .list .list-item { width: 100% !important; }

section.list.carousel .list .list-item .meta ul li,
	section.list.carousel-icon .list .list-item .meta ul li { width: auto !important; }

@media screen and (min-width: 40rem) {
	section.list.carousel-icon .slick-list { margin-left: -30px; }
	section.list.carousel-icon .list .list-item { width: calc(((100vw - (var(--spacing) * 2)) - 30px) / 2) !important; margin-left: 30px; }
}
@media screen and (min-width: 48rem) {
	section.list.carousel .slick-list { margin-left: -30px; }
	section.list.carousel .list .list-item { width: calc(((100vw - (var(--spacing) * 2)) - 60px) / 3) !important; margin-left: 30px; }

	.container.cols section.list.carousel .slick-list { margin-left: -30px; }
	.container.cols section.list.carousel .list .list-item { width: calc(100% - 30px) !important; margin-left: 30px; }

	section.list.carousel-icon .list .list-item { width: calc(((100vw - (var(--spacing) * 2)) - 60px) / 3) !important; }

	.container.cols section.list.carousel-icon .list .list-item { width: calc(100% - 30px) !important; }
}
@media screen and (min-width: 75rem) {
	section.list.carousel .slick-list { margin-left: -60px; }
	section.list.carousel .list .list-item { width: calc(((100vw - (var(--spacing) * 2)) - 120px) / 3) !important; margin-left: 60px; }

	section.list.carousel-icon .list .list-item { width: calc(((100vw - (var(--spacing) * 2)) - 90px) / 4) !important; }
}
@media screen and (min-width: 87.5rem) {
	section.list.carousel .copy .intro,
		section.list.carousel-icon .copy .intro { padding-bottom: 0; }
}
@media screen and (min-width: 100rem) {
	section.list.carousel .list .list-item { width: calc(((100rem - (var(--spacing) * 2)) - 120px) / 3) !important; }

	section.list.carousel-icon .list .list-item { width: calc(((100rem - (var(--spacing) * 2)) - 90px) / 4) !important; }
}


section.list.icon a { text-decoration: none; }
section.list.icon h2,
	section.list.icon h3 { text-decoration: none; }


section.list.stats .list-item h2,
	section.list.stats .list-item h3 { display: inline-block; font-style: normal; font-size: 2rem; font-weight: 900; color: var(--blue); line-height: 1.2; padding-bottom: .25rem; }
section.list.stats.large-title .list-item h2,
	section.list.stats.large-title .list-item h3 { font-size: 3rem; line-height: 1.1; }
section.list.stats p { color: var(--blue); margin-bottom: 0; }
section.list.stats.large-title p { font-size: 1.25rem; }

@media screen and (min-width: 75rem) {
	section.list.stats .list-item h2,
		section.list.stats .list-item h3 { font-size: 2.5rem; }
	section.list.stats.large-title .list-item h2,
		section.list.stats.large-title .list-item h3 { font-size: 4rem; }
}


section.list.explore h2,
	section.list.related h2 { font-weight: 900; }
section.list.explore .divider,
	section.listrelated .divider { margin-bottom: 1.25rem; }



/* Content and media */
section.content-media {}

section.content-media .wrapper { display: flex; flex-wrap: wrap-reverse; }
.container.cols section.content-media .wrapper { padding: 0; }
section.content-media .copy,
	section.content-media .img-container,
	section.content-media .video-container,
	section.content-media .gallery-container { width: 100%; margin-bottom: 1rem; }

section.content-media.gallery { display: block; }


@media screen and (min-width: 48rem) {
	section.content-media .wrapper { flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; }
	section.content-media.left .wrapper { flex-direction: row-reverse; }

	section.content-media .copy,
		section.content-media .img-container,
		section.content-media .video-container,
		section.content-media .gallery-container { width: calc(((100vw - (var(--spacing) * 2)) - 30px) / 2); margin-bottom: 0; }

	section.content-media.small .copy { width: calc(((((100vw - (var(--spacing) * 2)) - 60px) / 3) * 2) + 30px); }
	section.content-media.small .img-container,
		section.content-media.small .video-container,
		section.content-media.small .gallery-container { width: calc(((100vw - (var(--spacing) * 2)) - 60px) / 3); }

	section.content-media.large .copy { width: calc(((100vw - (var(--spacing) * 2)) - 60px) / 3); }
	section.content-media.large .img-container,
		section.content-media.large .video-container,
		section.content-media.large .gallery-container { width: calc(((((100vw - (var(--spacing) * 2)) - 60px) / 3) * 2) + 30px); }

	.container.cols section.content-media .copy,
		.container.cols section.content-media .img-container,
		.container.cols section.content-media .video-container,
		.container.cols section.content-media .gallery-container { width: calc((100% - 30px) / 2); margin-bottom: 0; }

	.container.cols section.content-media .gallery-container .img-container { width: 100% !important; }

	.container.cols section.content-media.small .copy { width: calc((((100% - 60px) / 3) * 2) + 30px); }
	.container.cols section.content-media.small .img-container,
		.container.cols section.content-media.small .video-container,
		.container.cols section.content-media.small .gallery-container { width: calc((100% - 60px) / 3); }

	.container.cols section.content-media.large .copy { width: calc((100% - 60px) / 3); }
	.container.cols section.content-media.large .img-container,
		.container.cols section.content-media.large .video-container,
		.container.cols section.content-media.large .gallery-container { width: calc((((100% - 60px) / 3) * 2) + 30px); }
}
@media screen and (min-width: 75rem) {
	section.content-media .copy,
		section.content-media .img-container,
		section.content-media .video-container,
		section.content-media .gallery-container { width: calc(((100vw - (var(--spacing) * 2)) - 60px) / 2); }

	section.content-media.small .copy { width: calc(((((100vw - (var(--spacing) * 2)) - 120px) / 3) * 2) + 60px); }
	section.content-media.small .img-container,
		section.content-media.small .video-container,
		section.content-media.small .gallery-container { width: calc(((100vw - (var(--spacing) * 2)) - 120px) / 3); }

	section.content-media.large .copy { width: calc(((100vw - (var(--spacing) * 2)) - 120px) / 3); }
	section.content-media.large .img-container,
		section.content-media.large .video-container,
		section.content-media.large .gallery-container { width: calc(((((100vw - (var(--spacing) * 2)) - 120px) / 3) * 2) + 60px); }
}
@media screen and (min-width: 100rem) {
	section.content-media .copy,
		section.content-media .img-container,
		section.content-media .video-container,
		section.content-media .gallery-container { width: calc(((100rem - (var(--spacing) * 2)) - 60px) / 2); }

	section.content-media.small .copy { width: calc(((((100rem - (var(--spacing) * 2)) - 120px) / 3) * 2) + 60px); }
	section.content-media.small .img-container,
		section.content-media.small .video-container,
		section.content-media.small .gallery-container { width: calc(((100rem - (var(--spacing) * 2)) - 120px) / 3); }

	section.content-media.large .copy { width: calc(((100rem - (var(--spacing) * 2)) - 120px) / 3); }
	section.content-media.large .img-container,
		section.content-media.large .video-container,
		section.content-media.large .gallery-container { width: calc(((((100rem - (var(--spacing) * 2)) - 120px) / 3) * 2) + 60px); }
}


/* Title and text */
@media screen and (min-width: 87.5rem) {
	section.title-text h2,
		section.title-text p { max-width: calc(((100% / 3) * 2) + 60px ); }
}


/* Rich content */
.rich-content blockquote { margin: .25rem 0 1.5rem; }

.rich-content.has-contact .floating-contact { margin-top: .5rem; }
.rich-content.has-contact .floating-contact .item { border-left: 2px solid var(--blue); padding-left: 1rem; margin-bottom: 2rem; }

.rich-content p:last-child { margin-bottom: 0; }

.rich-content img.size-full,
	.rich-content img.size-large { width: 100% !important; margin-left: 0; }
.rich-content img.size-medium { width: calc(((100% - 60px) / 3) * 2) !important; }
.rich-content img.size-thumbnail { width: 100%; }

@media screen and (min-width: 30rem) {
	.rich-content img.size-thumbnail { width: auto !important; }
}
@media screen and (min-width: 48rem) {
	.rich-content.has-contact .container { display: flex; justify-content: space-between; align-items: flex-start; }
	.rich-content.has-contact .container .content { width: calc(((100% - 30px) / 3) * 2); }
	.rich-content.has-contact .container .floating-contact { width: calc(((100% - 30px) / 3)); margin-left: 30px }
}
@media screen and (min-width: 75rem) {
	.rich-content.has-contact .container .content { width: calc(((100% - 30px) / 3) * 2.5); }
	.rich-content.has-contact .container .floating-contact { width: calc(((100% - 30px) / 4)); margin-left: 60px; }
	.rich-content.has-contact .floating-contact .item { padding-left: 2rem; }
}


/* Banner */
section.banner { position: relative; }
section.banner .container { overflow: hidden; }
section.banner .container .copy { position: relative; z-index: 10; }

section.banner .triangle.top.color { width: 0; height: 0; border-bottom: 20px solid var(--tint); border-left: 100vw solid transparent; position: absolute; top: -19px; }

section.banner .triangle.top.teal {  width: 0; height: 0; border-bottom: 30px solid var(--teal); border-right: 40vw solid transparent; position: absolute; top: -29px; }
section.banner .triangle.bottom.color { width: 0; height: 0; border-top: 20px solid var(--tint); border-right: 100vw solid transparent; position: absolute; bottom: -19px; }
section.banner .triangle.bottom.teal {  width: 0; height: 0; border-top: 30px solid var(--teal); border-left: 40vw solid transparent; position: absolute; bottom: -29px; right: 0; }

section.banner.blue .triangle.top.color { border-bottom: 20px solid var(--blue); }
section.banner.blue .triangle.bottom.color { border-top: 20px solid var(--blue); }

section.banner.blue { background: var(--blue); color: var(--white); }
section.banner.blue .container,
	section.banner.tint .container { padding: var(--spacingSm) var(--spacing); }
section.banner.blue h2,
	section.banner.blue a,
	section.banner.blue blockquote,
	section.banner.blue blockquote em { color: var(--white); }

section.banner.blue a.button  { color: var(--blue); }
section.banner.blue a.button:hover, 
	section.banner.blue a.button:focus { background: var(--white); }

section.banner.tint { margin: calc(var(--spacingSm) * 2) 0; }

section.banner .bg-image { position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: .05; }

@media screen and (min-width: 75rem) {
	section.banner p { font-size: 1.25rem; }
}
@media screen and (min-width: 87.5rem) {
	section.banner .container .copy { width: calc(((100% - 30px) / 3) * 2.5); }
	section.banner.blue .container .copy,
		section.banner.tint .container .copy { width: calc(((100% - 30px) / 3) * 2.5); }
}
@media screen and (min-width: 100rem) {
	section.banner .triangle.top.color { border-left: 100rem solid transparent; }
	section.banner .triangle.bottom.color { border-right: 100rem solid transparent; }
}


/* Quote */
section.quote.tint .copy,
	section.quote.blue .copy,
	.container.cols section.quote .copy { display: flex; }
section.quote.blue .copy { padding: 2rem 0; }

section.quote.tint .copy [class^="icon-"], 
	section.quote.tint .copy [class*=" icon-"],
	section.quote.blue .copy [class^="icon-"], 
	section.quote.blue .copy [class*=" icon-"],
	.container.cols section.quote .copy [class^="icon-"], 
	.container.cols section.quote .copy [class*=" icon-"] { font-size: 3rem; margin-right: 2rem; }

.container.cols section.quote .copy [class^="icon-"], 
	.container.cols section.quote .copy [class*=" icon-"] { margin-right: 1rem; }

section.quote.tint .copy [class^="icon-"], 
	section.quote.tint .copy [class*=" icon-"],
	.container.cols section.quote .copy [class^="icon-"], 
	.container.cols section.quote .copy [class*=" icon-"] { color: var(--blue); }

section.quote.tint blockquote,
	section.quote.blue blockquote,
	.container.cols section.quote blockquote { border-left: 0; padding-left: 0; font-size: 1.25rem; }

@media screen and (min-width: 75rem) {
	section.quote.tint blockquote,
		section.quote.blue blockquote { font-size: 1.5rem; }
}


/* Plugin specific */
/* Search & filter */
.chosen-container-multi { width: 100% !important; }

.searchandfilter-date-picker { display: none !important; }

/*.sf-field-tag { position: relative; }
.sf-field-tag ul { max-height: 10rem; overflow: scroll; }
.sf-field-tag ul:before { content: 'Scroll down to see all categories'; padding-bottom: .5rem; display: inline-block; }*/


/* Cookie notice */
.cky-consent-container { position: relative !important; }
.cky-consent-container .cky-consent-bar { box-shadow: none !important; padding: var(--spacingSm) var(--spacing) !important; }
.cky-notice-des { font-size: 1rem !important; line-height: 1.4 !important; }
.cky-preference-body-wrapper p { font-size: 1rem !important; }
.cky-preference-header :focus,
	.cky-preference-body-wrapper :focus { outline: 2px solid var(--teal) !important; outline-offset: 2px !important; }
button.cky-show-desc-btn:not(:hover):not(:active) { color: var(--teal) !important; }
button.cky-show-desc-btn { color: var(--white) !important; }
.cky-accordion-header .cky-always-active { color: var(--white) !important; font-size: 1rem !important; }
.cky-btn-close {display: inline-block !important; color: var(--white); padding: 5px 0 !important; }
/*.cky-footer-wrapper div:last-child { display: none !important; }*/
.cky-sidebar-left { display: none; }
.cky-sidebar-left.cky-modal-open { display: block; }

.cky-consent-container a:focus,
	.cky-consent-container button:focus,
	.cky-sidebar-left button:focus { outline: 2px solid var(--white) !important; outline-offset: 2px !important; }

.cky-btn-revisit:focus { outline: 2px solid var(--teal) !important; outline-offset: 2px !important; }


/* Ninja forms */
.nf-form-cont { max-width: 64rem; margin: 0 auto; }
.nf-form-fields-required { margin-bottom: 2rem; }


/* Maps */
.wpgmp_filter_wrappers { all: revert; }
.wpgmp_before_listing { display: none; }

div.categories_filter select { all: revert; }
div.categories_filter select { border: 1px solid rgba(2,66,86,.5); font-family: 'Mulish', Helvetica, Arial, Lucida, sans-serif; font-size: 1rem; font-weight: 300; line-height: 1.5; color: #333; padding: .5rem 1rem; width: 100%; margin-bottom: 1rem; }

.categories_filter .categories_filter_reset { margin-bottom: 2rem; }
.categories_filter input[type=button] { all: revert; }
.categories_filter input[type=button] { border-radius: 0; border: 0; color: var(--blue) !important; background: var(--teal); padding: 0.8rem 2rem; cursor: pointer; font-family: 'Mulish', Helvetica, Arial, Lucida, sans-serif; font-size: 1rem !important; font-weight: 500 !important; line-height: 1 !important; float: none; margin-top: 0 !important; }

.wpgmp_listing_container * { all: revert; }
.wpgmp_listing_container { margin: 0 !important; }

.wpgmp_listing_container .wpgmp_locations { margin-bottom: calc(var(--spacingSm) * 1.5) !important; border-bottom: 0 !important; background: var(--tint) !important; }
.wpgmp_listing_container .wpgmp_locations .copy { padding: var(--spacingSm); }
.wpgmp_listing_container h2 { font-weight: 500; font-size: 1.25rem; line-height: 1.4; margin-top: 0 !important; }
.wpgmp_listing_container h2 a { text-decoration: none; }
.wpgmp_listing_container p,
	.fc-item-box p { margin-bottom: 1rem !important; line-height: 1.5; font-weight: 300; }
.wpgmp_listing_container p.services,
	.fc-item-box p.services { font-size:.85rem; text-transform: uppercase; }
.wpgmp_listing_container p:last-child,
	.fc-item-box p:last-child { margin-bottom: 0 !important; }
.wpgmp_listing_container .visual,
	.fc-item-box .visual { aspect-ratio: 3 / 2; display: flex; justify-content: center; align-items: center; overflow: hidden; background: var(--tint); margin: 0 !important; padding: 0 !important; }
.wpgmp_listing_container .fc-feature-img,
	.fc-item-box .image { aspect-ratio: 3 / 2; display: flex; justify-content: center; align-items: center; overflow: hidden; }
.wpgmp_listing_container .fc-feature-img  img,
	.fc-item-box .image img { object-fit: cover; min-width: 100%; min-height: 100%;  margin: 0 !important; padding: 0 !important;}

.wpgmp_listing_container [class^="icon-"], 
.wpgmp_listing_container [class*=" icon-"],
	.fc-item-box [class^="icon-"],
	.fc-item-box [class*=" icon-"] { font-size: 5rem; color: var(--blue); }

#wpgmp_pagination { width: 100% !important; }
.wpgmp_pagination a,
	.wpgmp_pagination span { background: none !important; color: var(--black) !important; padding: 0 .5rem 0 0 !important; margin: 0 !important; font-size: 1rem !important; }
.wpgmp_pagination a { color: var(--blue) !important; }
.wpgmp_pagination span.current { font-weight: 500; }

@media screen and (min-width: 48rem) {
	.categories_filter { display: flex; justify-content: space-between; flex-wrap: nowrap; margin-bottom: 1.5rem !important; }
	.categories_filter > div { display: flex; justify-content: space-between; flex-wrap: nowrap; width: 100%; }
	.categories_filter > div select { margin-right: 1rem; }
	.categories_filter > div.categories_filter_reset { display: inline-block; width: auto; margin: 0; }

	.fc-component-6 { display: flex;  justify-content: space-between; flex-wrap: wrap; margin-top: 1.5rem; }
	.fc-component-6 .wpgmp_locations { width: calc((100% - 60px) / 3); }
}
@media screen and (min-width: 75rem) {
	.fc-component-6 .wpgmp_locations { width: calc((100% - 120px) / 3); }
}
@media screen and (min-width: 100rem) {
	.fc-component-6 .wpgmp_locations { width: calc(((100rem - (var(--spacing) * 2)) - 120px) / 3); }
}



/* Mourning page styles */
.page-id-4148 { background: #0b0c0c; font-size: 1.18rem; }
.page-id-4148 .site { background: #0b0c0c; color: #fff; }

.page-id-4148 .divider { background: #fff; }

.page-id-4148 h1, .page-id-4148 h2, .page-id-4148 h3, .page-id-4148 h4 { color: #fff; }
.page-id-4148 h1 { font-size: 3rem; }
.page-id-4148 h2 { font-size: 1.5rem; }

.page-id-4148 a:link, .page-id-4148 a:active, .page-id-4148 a:visited { color: #fff; }
.page-id-4148 a:hover, .page-id-4148 a:focus { text-decoration: underline; }
.page-id-4148 a:focus { outline: 2px solid var(--teal); }
.page-id-4148 a.button:link, .page-id-4148 a.button:active, .page-id-4148 a.button:visited { color: #0b0c0c; background: #fff; }

.page-id-4148 .slick-dots li button { background: rgba(255,255,255,.3); }
.page-id-4148 .slick-dots li.slick-active button { background: #fff; }

.page-id-4148 .site > header .container { align-items: flex-start; }
.page-id-4148 .site > header .container nav { font-size: 1rem; }

.page-id-4148 .header-container > header .container .copy { padding-top: 1rem; }

.page-id-4148 section.title-text h2, section.title-text p { max-width: 100%; }

.page-id-4148 .site > footer .legals { background: #0b0c0c; font-size: 1rem; }
.page-id-4148 .site > footer .legals .menu { border-top: 2px solid #fff; padding-top: 1rem; }


.mourning-banner { background: #0b0c0c; color: #fff; padding-bottom: 2rem; }
.mourning-banner a:link, .mourning-banner a:active, .mourning-banner a:visited { color: #fff; }
.mourning-banner a:hover, .mourning-banner a:focus { text-decoration: underline; }
.mourning-banner a:focus { outline: 2px solid var(--teal); }
.mourning-banner a.button:link, .mourning-banner a.button:active, .mourning-banner a.button:visited { color: #0b0c0c; background: #fff; }
.mourning-banner h2 { font-size: 1.5rem; color: #fff; }



