/* ------------------------- */
/* ------- VARIABLES ------- */
/* ------------------------- */
@font-face {
    font-family: 'Century Gothic Bold';
    src: url("../fonts/century_gothic_bold.otf") format("opentype"),
         url('../fonts/century_gothic_bold.woff2') format('woff2'),
         url('../fonts/century_gothic_bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: Century Gothic Bold Italic;
    src: url("../fonts/century_gothic_bold_italic.otf") format("opentype"),
         url('../fonts/century_gothic_bold_italic.woff2') format('woff2'),
         url('../fonts/century_gothic_bold_italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: Century Gotic Italic;
    src: url("../fonts/century_gothic_italic.otf") format("opentype"),
         url('../fonts/century_gothic_italic.woff2') format('woff2'),
         url('../fonts/century_gothic_italic.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: Century Gothic;
    src: url("../fonts/century_gothic.otf") format("opentype"),
         url('../fonts/century_gothic.woff2') format('woff2'),
         url('../fonts/century_gothic.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
:root {
	font-size: 6.25%;
	--font-size-sm: clamp(12.8rem, 0.17vw + 12.14rem, 14.25rem);
	--font-size-base: clamp(16rem, 0.34vw + 14.64rem, 19rem);
	--font-size-md: clamp(20rem, 0.61vw + 17.58rem, 25.33rem);
	--font-size-lg: clamp(25rem, 1vw + 21.02rem, 33.76rem);
	--font-size-xl: clamp(31.25rem, 1.56vw + 25rem, 45rem);
	--font-size-xxl: clamp(39.06rem, 2.38vw + 29.55rem, 59.99rem);
	--font-size-xxxl: clamp(48.83rem, 3.54vw + 34.67rem, 79.97rem);
	
	--gray: #898989;
	--light-blue: #e2eff7;
	--blue: #127dc3;
	--dark-blue: #054890;
	--off-white: #F7F7F9;
	--white: white;
	
	/* Specific Brand Colours*/
	
	--primary-green: #00703C;
	--secondary-yellow: #F1BF3E;
	--tertiary-red: #DD4560;
	--black: #231F20; /* Changed from #2a2a2a to theme specific*/

	--font-family-base: "Montserrat", sans-serif;
	--font-family-heading: 'Century Gothic', sans-serif;
	--font-family-bold: 'Century Gothic Bold', sans-serif;
	--font-family-bold-italic: 'Century Gothic Bold Italic', sans-serif;
	--font-family-italic: 'Century Gothic Italic', sans-serif;
	--font-family-btn: "Goldman", sans-serif;
	
	--shadow: var(--dreamy-drop-shadow);
	--shadow-gray: rgba(0, 0, 0, .12);
	--dreamy-drop-shadow:
		0 .5px 1px 0 var(--shadow-gray),
		0 1px 2px 0 var(--shadow-gray),
		0 2px 4px 0 var(--shadow-gray),
		0 4px 8px 0 var(--shadow-gray),
		0 8px 16px 0 var(--shadow-gray);
	
	--border-radius-circle: 100%;
	--border-radius-lg: 20px;
	--border-radius-md: 10px;
	--border-radius-sm: 5px;
}

body {
	font-size: 16rem;
}

.page { margin: 0; }

.page-content-container {
	max-width: 1200px;
	margin: 0 auto;
	margin-top: 100px;
}

.container {
	max-width: 1200px;
	margin: 0 auto;
}

.home .section-container {
	margin-top: 100px;
}
.section-container:first-of-type {
	margin-top: 0;
}

.grid-content-container {
	display: grid;
	grid-template-columns: 3fr 1fr;
	gap: 80px;
}

@media (max-width: 1366px) {
	.page-content-container, .container {
		max-width: 100%;
		margin-left: 75px;
		margin-right: 75px;
	}
}
@media (max-width: 1024px) {
	.grid-content-container {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 768px) {
	.page-content-container, .container {
		margin-left: 20px;
		margin-right: 20px;
	}
}

/* ------------------------- */
/* ------ TYPOGRAPHY ------- */
/* ------------------------- */
body {
	font-family: var(--font-family-base);
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-family: var(--font-family-btn);
	line-height: 1.2;
}

h1 {
	font-size: var(--font-size-xxxl);
	font-weight: bold;
}
h2 {
	font-size: var(--font-size-xxl);
}
h3 {
	font-size: var(--font-size-xl);
}
h4 {
	font-size: var(--font-size-lg);
}
h5 {
	font-size: var(--font-size-md);
}
h6 {
	font-size: var(--font-size-base);
}

p {
	margin-bottom: 0;
	font-size: var(--font-size-base);
	line-height: 32px;
}
p.large-p {
	font-size: var(--font-size-md);
}
.primary-btn,
.secondary-btn{
    font-family: var(--font-family-btn);
}




/* ------------------------- */
/* -------- LAYOUT --------- */
/* ------------------------- */
.section-container {
	padding: 40px;
}

.section-column-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

.element-container {
	margin-top: 20px;
}

.alert-container {
	display: grid;
	grid-template-columns: 40px 1fr;
	align-items: center;
	gap: 20px;
	padding: 20px;
	border-radius: var(--border-radius-md);
}
.alert-container i {
	font-size: 40px;
}
.alert-container p {
	margin: 0;
}

.alert-container.danger i {
	color: red;
}
.alert-container.danger {
	background: rgba(255, 0, 0 , .2);
}

/* Gallery */
.gallery-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

/* Team */
.team-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

@media (max-width: 1024px) {
	.section-column-container {
		grid-template-columns: 1fr;
	}
	
	.gallery-container {
		grid-template-columns: 1fr 1fr;
	}
	
	.team-container {
		gap: 20px;
	}
}
@media (max-width: 768px) {
	.section-container {
		padding: 20px;
	}
	
	.gallery-container, .team-container {
		grid-template-columns: 1fr;
	}
}







/* ------------------------- */
/* -------- HEADER --------- */
/* ------------------------- */
#masthead.site-header {
	position: sticky;
	top: 0;
	background: white;
	width: 100%;
	box-shadow: var(--shadow);
	z-index: 1000;
}


.mob-menu-header-holder {
	background: white;
	box-shadow: 0 5px 12px rgba(0, 0, 0, .15);
}
.mobmenur-container i {
	color: black;
}
.mobmenur-container {
	top: 50%;
	transform: translatey(-50%);
}
.mobmenu .headertext {
	display: flex;
	height: 100%;
	width: max-content;
	align-items: center;
	margin: 0 auto;
}

#mobmenuright li:hover, #mobmenuright a:hover, .mobmenu-content #mobmenuright .sub-menu, .mobmenu-content #mobmenuright .sub-menu a {
	background: var(--light-blue) !important;
	color: black !important;
}

.mobmenu-right-panel {
	background: white;
}

.mob-expand-submenu i {
	font-size: 1em;
}

.mob-retina-logo, .mob-standard-logo {
	max-width: 170px;
	height: auto !important;
}





#header-top {
	position: sticky;
	z-index: 1000;
}

#header-middle {
	background: white;
	padding: 20px 0;
}

#masthead.site-header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 20px;
}

.site-branding {
	width: 150px;
}

#site-navigation {
	width: max-content;
}

#primary-menu {
	gap: 40px;
}
#primary-menu a {
	color: #707070;
	transition: .3s;
}
#primary-menu a:hover {
	color: var(--black);
	transition: .3s;
}

.main-navigation.toggled ul {
	display: flex;
}

.main-navigation ul ul {
	background: white;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.menu-toggle {
	background: transparent;
	border: 2px solid black;
	font-size: 1em;
}

#header-section-inner {
	max-width: 1000px;
}

@media screen and (max-width: 1024px) {
    #primary-menu {
		flex-direction: column;
		gap: 0;
	}
	
	.menu-toggle {
		display: block;
	}
	.main-navigation ul a {
		text-align: center;
	}
	
	#header-top {
		display: none;
	}
	
	.main-navigation ul {
		position: absolute;
		width: 100%;
		top: -200%;
		left: 0;
		background: white;
		display: block;
		padding: 0;
		z-index: -1;
		transition: .3s;
	}
	.main-navigation.toggled ul {
		top: 100%;
		padding: 0;
	}
	
	.main-navigation .menu-item {
		border-top: 1px solid lightgray;
		transition: .3s;
	}
	.main-navigation .menu-item:hover {
		background: rgba(0, 0, 0, .04);
	}
	.main-navigation .menu-item a {
		padding: 10px;
	}
}

@media (max-width: 768px) {
	footer#colophon .site-info {
		padding-left: 20px;
		padding-right: 20px;
	}
}



/* ------------------------- */
/* ---- HEADER SECTION ----- */
/* ------------------------- */
#header-section, #header-section-front-page,.footer-cta {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
#header-section-container,#footer-cta-container {
	display: flex;
	align-items: flex-end;
	color: var(--white);
	max-height: 100vh;
	position: relative;
	padding: 75px;
}

#header-section #header-section-container,.footer-cta #footer-cta-container {
	height: 500px;
	text-align: center;
	display: flex; 
	align-items: center;
	justify-content: center;
}

#header-section-inner,#footer-cta-inner {
	position: relative;
	z-index: 2;
}

#header-section #header-section-overlay,.footer-cta #footer-cta-overlay {
	height: 100%;
	bottom: auto;
	top: 0;
}
#header-section-overlay,#footer-cta-overlay {
	background: linear-gradient(to bottom, #0000, #000C);
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50%;
	z-index: 1;
}

.slick-initialized .slick-slide .container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: 100%;
	padding: 0 20px;
}

.slide-person-container {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}
.slide-text-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 500px;
	margin-top: auto;
}
.header-person {
	position: relative;
	height: 500px;
}

.slick-carousel, .slick-list, .slick-track {
	height: 100%;
}

#header-section p {
	margin: 0;
}

.home #header-section h1 {
	color: var(--dark-blue);
}
.page:not(.home) #header-section h1 {
	text-align: center;
}


#header-top {
	background: var(--primary-green);
	padding: 5px 0;
}

#header-top .menu {
	list-style: none;
	margin: 0;
	display: flex;
	gap: 20px;
}
#header-top a {
	color: white;
	text-decoration: none;
	font-size: var(--font-size-sm);
}
#header-top i {
	font-size: var(--font-size-lg);
}

#header-top .social-container {
	display: flex;
	gap: 20px;
	align-items: center;
}

.slick-dots {
	width: max-content;
	left: 50%;
	bottom: 80px;
}
.slick-dots li.slick-active button {
	background: black;
}
.slick-dots li button {
	background: transparent;
	border: 2px solid black;
	width: 15px;
	height: 15px;
	border-radius: 100px;
}
.slick-dots li button:before {
	content: '';
}

.slick-dotted.slick-slider {
	margin-bottom: 0;
}

#header-section-menu-container {
	padding: 20px 0;
}
#header-section-menu-container .menu {
	margin: 0;
	list-style: none;
	display: flex;
	gap: 20px;
	justify-content: center;
	font-size: var(--font-size-md);
}
#header-section-menu-container a {
	color: white;
	text-decoration: none;
}


@media (max-width: 1366px) {
	.home #header-section {
		height: 650px;
	}
	
	.slick-dots {
		bottom: 15px;
		transform: translatex(-50%);
	}
	
	.slick-initialized .slick-slide .container {
		display: block;
		padding: 0;
	}
	.slide-person-container {
		height: 100%;
	}
	.slide-person-container img {
		width: 100%;
		max-width: 650px;
		height: 100%;
		object-fit: contain;
		object-position: bottom;
		margin: 0 auto;
	}
	.slide-text-container {
		position: absolute;
		left: 0px;
		padding: 20px;
		padding-bottom: 50px;
		bottom: 0;
		height: auto;
		background: rgba(255, 255, 255, .7);
		text-align: center;
		width: 100%;
	}
	
	#header-section .slick-slide .container {
		margin: 0;
	}
}
@media (max-width: 1024px) {
	#header-section-menu-container .menu {
		flex-direction: column;
		text-align: center;
		gap: 10px;
	}
	#header-section-menu-container li:after {
		content: '';
	}
}
@media (max-width: 800px) {
	.slide-person-container img {
		object-fit: cover;
	}
}






/* ------------------------- */
/* -------- BUTTONS -------- */
/* ------------------------- */
.btn, .btn:visited, input[type="submit"] {
	font-family: nunito-sans, sans-serif;
	background: var(--dark-blue);
	color: white;
	font-weight: bold;
	padding: 8px 30px;
	text-decoration: none;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
	border: none;
	border-radius: var(--border-radius-sm);
	transition: .3s;
}
.btn:hover, input[type="submit"]:hover {
	opacity: 0.8;
	color: white;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0.16);
	cursor: pointer;
	transition: .3s;
}


/* ------------------------- */
/* --------- FORM ---------- */
/* ------------------------- */
input[type="text"], input[type="email"], textarea, select {
	font-family: nunito-sans, sans-serif;
	border-radius: 0;
	border: 2px solid #b1b1b1;
}

textarea {
	min-width: 100%;
	max-width: 100%;
	min-height: 100px;
	max-height: 1000px;
}




/* ------------------------- */
/* ------ POSTS PAGE ------- */
/* ------------------------- */
.posts-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.posts-container h3 {
	color: var(--black);
}
.posts-container a {
	text-decoration: none;
}

.post-meta-container {
	display: flex;
	gap: 20px;
	opacity: 0.7;
}

@media (max-width: 1024px) {
	.posts-container {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 768px) {
	.posts-container {
		grid-template-columns: 1fr;
	}
}





/* ------------------------- */
/* -------- FOOTER --------- */
/* ------------------------- */
footer#colophon {
	background: var(--white);
	color: var(--black);
	margin-top: 64px;
}

footer#colophon .site-info {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 20px;
}
footer#colophon .site-info .column {
	display: flex;
	align-items: center;
	gap: 20px;
}

footer#colophon .social-icons {
	display: flex;
	justify-content: center;
	align-items: center !important;
	gap: 20px;
}
footer#colophon .social-icons .wp-block-column {
	height: max-content;
}

footer#colophon .custom-logo-link {
	width: 150px;
}

footer#colophon i {
	font-size: 32px;
}

footer#colophon .widget {
	margin-bottom: 15px;
}
footer#colophon .wp-block-columns, footer#colophon .wp-block-image, footer#colophon p {
	margin: 0;
}

.site-footer .menu {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	gap: 10px;
}
.site-footer .menu a {
	text-decoration: none;
}

.wp-block-image .alignright, .wp-block-image .alignleft {
	margin: 0;
}

#footer-bottom {
	background: var(--off-white);
	padding: 20px 0;
	text-align: center;
}
#footer-bottom p {
	margin: 0;
}

@media (max-width: 1024px) {
	footer#colophon .site-info {
		flex-direction: column;
		align-items: center;
		padding-left: 75px;
		padding-right: 75px;
	}
	
	footer#colophon .footer-column {
		width: 100%;
	}
}
@media (max-width: 768px) {
	footer#colophon .site-info .column {
		flex-direction: column;
	}
	
	.site-footer .menu {
		flex-direction: column;
		text-align: center;
	}
	.site-footer .menu li:after {
		content: '';
	}
}




























