/*
	Theme Name: Hilton Cannon
	Theme URI: https://www.hiltoncannon.co.uk/
	Description: Custom WP Theme for Hilton Cannon
	Version: 0.1
	Author: Creative Direction
	Author URI: https://creativedirection.info
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/
:root {
	--halyard-text-book: "halyard-text", sans-serif;
	--halyard-text-regular: "halyard-text", sans-serif;
	--halyard-text-medium: "halyard-text", sans-serif;
	--halyard-text-bold: "halyard-text", sans-serif;
	--halyard-micro-regular: "halyard-micro", sans-serif;
	--brother-1816-regular: "brother-1816", sans-serif;
}
/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	background-color: #F4EEEB;
	color:#1C2C35;
	font-size: 18px;
	font-family: "halyard-text", sans-serif;
	font-weight: 300;
	line-height:1.6em;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	height:auto;
	vertical-align:bottom;
}
a {
	color:#E52A23;
	text-decoration:none;
	transition:0.6s color;
}
a:hover {
	color:#E52A23;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

h1, h2, h3, h4, h5 {
	font-family: "brother-1816", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height:1;
}

h1 {
	font-size: 3.8em;
	margin-top: 0;
	letter-spacing: -0.02em;
}
h2 {
	font-size: 2em;
	margin-top: 0;
	letter-spacing: -0.02em;
	line-height:1.1em;
}
h3 {
	font-size: 1.6em;
	margin-top: 0;
	letter-spacing: -0.02em;
	line-height:1.1em;
}
h6 {
	text-transform: uppercase;	
	font-size:0.85em;
	font-family: "halyard-text", sans-serif;
	letter-spacing: 0.05em;
	font-weight: 500;
}
.inner {
	margin:0 auto;
/*	width:calc(100% - 4em);*/
	width:95%;
	max-width:1920px;
	position: relative;
}
.inner-narrow {
	margin:0 auto;
	width:85%;
	max-width:1600px;
}
.narrow {
	margin:0 auto;
	width:50%;
	max-width:800px;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	position:relative;
}
.nav-open .wrapper {
	overscroll-behavior: contain;
	overflow: hidden;
}
/* header */
.header {
	background-color: #f4f5f5;
	width: 340px;
	height: calc(2em + 30px);
	position: fixed;
	top:2em;
	left:2em;
	transition:all 0.6s  cubic-bezier(0.12, 0, 0.39, 0);
	z-index:99;
	box-shadow: 0px 3px 6px rgba(28, 44, 53, 0.15);
	padding:50px;
	font-family: "brother-1816", sans-serif;
	font-weight: 400;
	font-style: normal;
	border-radius: 2px;
}
.header ul {
	padding:0;
	font-size:1.6em;
	letter-spacing: -0.03;
}
.header ul li {
	margin-bottom: 0.6em;
}
.nav-open .header {
	height: calc(100vh - 4em);
	width:850px;
/*	min-width:850px;*/
}
.header a {
	color:#48565D;
}
.header a:hover {
	color:#A4AAAD;
}
.header h6 {
	margin-top:2em;
	color:#768085;
	margin-bottom: 0;
}
.header #menu-services {
	margin-top: 0.5em;
	margin-bottom: 0;
}
/* logo */
.logo {
	width:225px;
	height:auto;
	border-right:1px solid #D4D6D8;
	height:50px;
	top:25px;
	bottom:10px;
	left:20px;
	position: absolute;
}
.logo-img {

}
/* nav */
.nav-open .nav-modal {
	height:100vh;
	width:100%;
	position: fixed;
	top:0;
	bottom: 0;
	left: 0;
	backdrop-filter: blur(29.524499893188477px);
	--webkit-backdrop-filter: blur(29.524499893188477px);
	background-color: rgba(255, 255, 255, 0);
	z-index:3;
}
.nav-container {
	top:75px;
	left: 275px;
	position: absolute;
	width:calc(100% - 275px - 5em);
}
.nav {
	display: none;
	opacity:0;
/*	transition:1s opacity;*/
}
.nav ul {
	list-style:none;
}
.nav ul li, .nav-contact a, .nav h6 {
	opacity:0;
	transition: opacity 0.9s;
}
.nav-open .nav {
	display: block;
	opacity:1;
}



.nav-contact {
	border-top:1px solid transparent;
}
.nav-open .nav-contact {
	border-top:1px solid #D4D6D8;
	padding-top:1.5em;
	margin-top: 2em;
	font-size:0.9em;
}

.nav-phone, .nav-email {
	display: block;
/*	margin-bottom:0.3em;*/
}
.nav-button {
	position: absolute;
	left:265px;
	top:30px;
	height:30px;
	width:30px;
}


.header-contact {
	position: absolute;
	top:2em;
	right:2em;
	font-family: "halyard-text", sans-serif;
	font-weight: 500;
	text-transform: uppercase;
	font-size:0.85em;
}
.header-contact > div {
	border-radius: 3px;
	display: inline-block;
	background-color: #D4D6D8;
	border: 1px solid #f7f7f7;
	z-index:2;
	position: relative;
	margin-left: 2em;
	letter-spacing: -0.01em;
	color: #1c2c35;
	padding:0.5em;
}
.header-contact a {
	color: #1c2c35;
}
.header-contact-button {
	padding-right:2.5em !important;
	letter-spacing: 0.02em;
}
.header-contact-button:after {
	content:'';
	height:24px;
	width:24px;
	position: absolute;
	right:0.5em;
	top:0.6em;
	background-image: url(img/header-contact-button.svg);
	background-size: cover;
	transform:rotate(0deg);
	transition:0.3s all;
}
.header-contact-button:hover:after {
	transform:rotate(-45deg);
}


/* footer */
.footer {
	background-color: #1C2C35;
	background-image: url(img/footer-bg.webp);
	padding:5em 0 400px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom left;
	position: relative;
	z-index:2;
	color:#D4D6D8;
	font-weight:400;
}
.footer h6 {
	text-transform: uppercase;
	color:#A4AAAD;
	font-weight: 300;
	margin-bottom:0.5em;
	margin-top:0.6em;
}
.footer ul {
	list-style:none;
	padding: 0;
}
.footer ul li {
	margin-bottom:0.6em;
	font-size: 1em;
}

.footer a {
	color:#D4D6D8;
}

.footer-nav {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap:2em;
	font-size:1.1em;
}
.footer-nav ul, .footer-nav p {
	margin-top:0.6em;
}
.footer-social {
	display: flex;
	gap:1em;
}

.footer-bottom {
	margin-top: 4em;

}

.footer-accreditations {
	grid-column:3/5; margin-top: 4em; display: flex; gap:2em;
}

.footer-bottom > div:nth-of-type(3) {
	padding-top:1.6em;
	grid-column: 3/5;
	border-top:1px solid #48565D;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap:2em;
	color:#768085;
}
#menu-policies {
	margin: 0;
	display: flex;
	justify-content: space-between;
	width: 100%;
}
#menu-policies a {
	color:#768085;
}
.design-credit {
	text-align: right;
}


/*------------------------------------*\
    PAGES
\*------------------------------------*/
.content {
	position: relative;
	z-index:2;
	background: #F4EEEB;
}


/*------------------------------------*\
    BITS N BOBS
\*------------------------------------*/
.pad-box {
	padding:10px;
}
.pad-3em {
	padding:3em;
}
.pad-box-large {
	padding:50px;
}
.has-circles {
	background-image: url(img/circles-bg.svg);
	background-size: cover;
	background-repeat: no-repeat;
}

.has-border-radius {
	border-radius: 4px;
	overflow: hidden;
}

.dark-blur-bg {
	position: relative !important;
	top:auto;
	left:auto;
	right:auto;
	bottom:auto;
	border-radius: 4px;
	background: transparent;
	backdrop-filter: blur(19.89940071105957px);
	--webkit-backdrop-filter: blur(19.89940071105957px);
	background-color: rgba(0, 0, 0, 0.1);
}

.light-blur-bg {
	border-radius: 4px;
	background: transparent;
	backdrop-filter: blur(30.41710090637207px);
	--webkit-backdrop-filter: blur(30.41710090637207px);
	background-color: rgba(255, 255, 255, 0.05);
}

.has-dots {
	background-image: url(img/dots-bg.webp);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom left;

}
.has-circles-right {
	background-image: url(img/circles-right.webp);
	background-size: 15%;
	background-repeat: no-repeat;
	background-position: center right;
}

/*------------------------------------*\
	GUTENBERG STUFF
\*------------------------------------*/
:where(.wp-block-columns.is-layout-flex) {
	gap:0;
}
:where(.wp-block-group.has-background) {
	padding:0;
}
:where(.wp-block-columns) {
	margin-bottom: 0;
}
.alignright {
	margin-bottom:0 !important;
}
.wp-block-cover__background {
	mix-blend-mode: multiply;
}
video.wp-block-cover__video-background.intrinsic-ignore {
	mix-blend-mode: luminosity;
	position: fixed;
}
.hero-container .wp-block-cover__inner-container {
	position: fixed;
	bottom:5%;
}

.wp-block-verse {
	font-family: "halyard-text", sans-serif;
	font-weight: 400;
	font-size:0.9em;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding-left:1.5em;
	position: relative;
	display: table;
	margin-top: 0;
	color:#768085;
}

.wp-block-verse:before {
	content:'+';
	color:#96BFFA;
	font-weight: 600;
	position: absolute;
	left:0;
}
.wp-block-verse.has-dark-plus:before {
	color:#1C2C35;
}
.wp-block-verse.has-white-plus:before {
	color:#F4EEEB;
}

.wp-admin .wp-block-cover__inner-container {
	position: relative;
}

.has-text-align-left {
	margin-left:0 !important;
}

.wp-block-cover__image-background.has-parallax {
	background-position: center right !important;
	background-size: 50%;
}
.wp-block-cover:has(.wp-block-cover__image-background.has-parallax)::before {
	display: block;
	content:'';
	height:47vw;
/*	width:600px;*/
	aspect-ratio: 1 / 1;
	background-color: #F7F7F7;
	opacity:0.4;
	border-radius:999px;
	position: fixed;
	right:25%;
	top:50%;
	transform:translate(50%, -50%);
	filter:blur(100px);
/*	z-index:-1;*/
}
.wp-block-cover:has(.wp-block-cover__image-background.has-parallax) {
	background: linear-gradient(#1c2c35 0%, #48565d 100%);
}

.wp-block-list {
	padding-left: 2em;
}


/* Blog Archive */
.blog-header {
	background-color: #96BFFA;
	min-height:50vh;
	padding-top: 200px;
	padding-bottom:75px;
}

.blog-header .wp-block-verse {
	color: #48565D;
}

.blog-header-categories {
	display: flex;
	gap:2em;
}

.blog-header-categories a {
	text-transform: uppercase;
	color:#1C2C35;
	border:1px solid #1C2C35;
	border-radius:3px;
	padding:0.3em 0.8em;
	letter-spacing: 0.02em;
	font-weight: 500;
	transition:0.3s all;
}

.blog-header-categories a.active-category, .blog-header-categories a:hover {
	background-color: #1C2C35;
	color:#96BFFA;
}

.blog-list-container {
	margin-top:75px;
	margin-bottom: 50px;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap:3em;
}

.home .blog-list-container {
	margin-top: 0;
}

.blog-list-container article {
	position: relative;
}
.blog-list-container article img {
	border-radius:4px;
	margin-bottom: 0.8em;
}
.blog-list-container h2 {
	font-family: "brother-1816", sans-serif;
    font-weight: 400;
    font-size: 1.37em;
    letter-spacing: -0.025em;
    display: block;
    line-height:1.35em;
}

.blog-list-container a {
	color:#1C2C35;
}

.loop-category {
	position: absolute;
	top:10px;
	left:10px;
	font-size:0.65em;
	background-color: #F7F7F7;
	border-radius: 3px;
	text-transform: uppercase;
	padding:0.3em 1em;
	font-weight: 500;
}


.projects-header {
	background-color: #1C2C35;
	min-height:50vh;
	padding-top: 200px;
	color:#F7F7F7;
	padding-bottom:2em;
}
.projects-intro {
	color:#A4AAAD;
	font-size:1.16em;
	max-width: 50%;
}

.pagination {
    display: flex;
    justify-content: center;
    gap: 1em;
    margin-bottom: 75px;
}

/* Blog single */

.single-blog-title {
	font-size:2.2em;
}

.blog-single-category {
	text-transform: uppercase;
	font-size:0.9em;
	margin-bottom:1em;
}

.blog-single-category-separator {
	color:#95BEF9;
}

.single-blog-title {
	line-height:1.4em;
}

.single-article-top {
	margin-top:75px;
	display: grid;
	grid-template-columns: 45% 50%;
	grid-gap: 5%;
	max-width:100%;
	margin-bottom:75px;
    position: relative;
}
.single-article-top::after {
	content:'';
	display: block;
	height:1px;
	width: 200px;
	background: #F0E6C4;
	position: absolute;
	bottom:0;
	left: 0;
}
.single-article-top-left {
	display:flex;
	justify-content: space-between;
	flex-direction: column;
}
.single-article-category {
	text-transform: uppercase;
    background-color: #1C2C35;
	color:#95BEF9;
    border: 1px solid #1C2C35;
    border-radius: 3px;
    padding: 0.3em 0.8em;
    letter-spacing: 0.02em;
    font-weight: 500;
    transition: 0.3s all;
    display: inline-block;
}
.single-article-top-right img {
	max-width:100%;
}

.single-article-top-left .knowledge-base-country {
	margin-bottom:3em;
	display: inline-block;
}

.single-article-top-left h6 {
	color:#C0B8B4;
	margin-bottom:0;
}

.single-article-top-left .knowledge-base-date {
	color:#6C5B4F;
	margin-top:2em;
	padding-top:2em;
	border-top:1px solid #E0DBDA;
	display: inline-block;
}

.single-article-top-right img {
	box-shadow: 0px 3px 10px rgba(105, 92, 81, 0.2);
}


.single-article-footer {
	background-color: #F8F4F1;
	padding:75px 0;
}

.single-article-footer .inner {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 2em;
}

#single-article-left .single-article-featured-image {
	margin:4rem 0;
	display: block;
}

.article-recent-post {

}

#single-article-left p:first-of-type {
	margin-top:0;
}

#single-article-right {
	padding-left:3em;
/*	width:30%;*/
}

#single-article-right a.article-recent-post {
	margin-bottom:3px;
	padding:2em;
	width:66%;
	display:block;
	color:#6C5B4F;
	background-color:#F7F4F1;
}
#single-article-right a:last-of-type {
	border:0;
}

.single-article-main {
	display: grid;
	grid-template-columns: 55% 40%;
	grid-gap: 5%;
	margin-bottom:75px;
}

.gform-body input, .gform-body textarea {
	border:0 !important;
}

/* Contact form button */
.submit-container {
    display: table;
    position: relative;
    font-size:1em;
}
.submit-container {
    position: relative !important;

    background-color: #D4D6D8 !important;
    padding:0.9em 3.8em 0.9em 1em !important;
    display: block !important;
    border-radius:3px !important;
    text-decoration: none !important;
    transition:0.6s background-color !important;
}
.submit-container input {
	font-family: "halyard-text", sans-serif !important;
    font-weight: 500 !important;
    font-size: 0.9em !important;
    letter-spacing: 0.05em !important;
    text-align: left !important;
    text-transform: uppercase !important;
    color:#302E2E !important;
	background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-transform: uppercase !important;
    color:#302E2E;
    padding:0 !important;
}
.submit-container:hover {
   background-color: #E52A23 !important;
   color:#D4D6D8 !important;
}
.submit-container:hover input {
	color: #d4d6d8 !important;
}
.submit-container::before {
    content:'';
    display: block;
    position: absolute;
    right:12px;
    top:50%;
    transform: translateY(-50%);
    height:40px;
    width:40px;
    background-color: #858380;
    opacity:0.3;
    border-radius:40px;
}

.submit-container:hover::before {
    background-color: #d4d6d8;
}

.submit-container:after {
    content: '';
    display: block;
    width: 15px;
    height: 15px;
    background-image: url(img/button-arrow.php);
    background-size: contain;
    background-position: center;
    position: absolute;
    right: 1.4em;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s all;
}

.submit-container:hover:after {
    transform: translateY(-50%) rotate(45deg);
    background-image: url(img/button-arrow.php?col=d4d6d8);
}

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

@media only screen and (max-width: 1600px) {
	.homepage-about-content {
		flex-basis:50% !important;
	}
}
@media only screen and (max-width: 1200px) {

	.has-circles-right {
		background-size: 30%;
	}
}

@media only screen and (max-width: 1024px) {
	.hide-tablet {
		display: none;
	}
	.homepage-about-content {
		flex-basis:100% !important;
	}

	.blog-list-container {
		grid-template-columns: repeat(2,1fr);
	}
}

@media only screen and (max-width:980px) {
	.inner, .inner-narrow, .narrow, .mobile-inner {
		width: 90%;
	}
	.inner .inner, .inner .inner-narrow {
		width: 100%;
	}
	.not-inner-mob {
		width: 100%;
	}

/*	[class^="wp-container-core-group-is-layout-"] > * {
		width:100% !important; 
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }*/

    html body .hero *:not(.inner) {
		width:100% !important; 
        max-width: 100% !important;
    	margin-right: 0 !important;
    	margin-inline-end: 0 !important;
    }

    .hero-logos {
    	gap:2em;
    }

	.header-contact > .header-contact-button {
		display: none;
	}
	.footer-nav {
		grid-template-columns: repeat(2,1fr);
	}
	.single-article-main {
		display: block;
	}
	.single-article-top {
		display: flex;
		flex-direction: column-reverse;
		gap:2em;
	}
	#single-article-right {
		padding: 0;
		margin-top: 75px;
	}
	.has-circles-right {
		background-image:none;
	}
}

@media only screen and (max-width:768px) {
	h1 {
		font-size:3em;
	}
	h2 {
		font-size:2em;
		margin-top: 0;
	}
	:where(.wp-block-columns.is-layout-flex) {
		gap:0;
	}
	.wp-container-core-group-is-layout-1 > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: 100% !important;
	}
	.pad-3em {
		padding:1em;
	}
	.pad-box-large {
		padding:1em;
	}
	.wp-block-column .alignright:has(.btn) {
		float:none !important;
		margin-left: 0;
	}
	.header {
		top:0;
		left:0;
		padding-left:1em;
		padding-right:1em;
	}
	.header ul {
		font-size:1.5em;
	}
	.nav-open .header {
		width:100%;
		height:100%;
	}
	.header-contact {
		display: none;
	}

	.nav-container {
		position: relative;
		left:0;
		top:30px;
		width:unset;
		overflow: auto;
		height:calc(100% - 30px);
	}

	.footer {
		padding:1em 0;
	}
	.footer-nav {
		display: block;
	}
	.footer ul li {
		margin-bottom: 0.3em;
	}
	.footer-bottom > div:nth-of-type(3) {
		display: block;
	}
	.footer-accreditations {
		grid-column:unset;
		flex-direction: column;
	}
	#menu-policies {
		flex-direction: column;
	}
	.design-credit {
		text-align: left;
		margin-bottom:50px;
	}
	.has-dots {
		background-image: none;
	}
	.cta-heading {
		margin-top: 0;
		font-size:1.6em !important;
	}
	.wp-block-cover__image-background.has-parallax {
		background-position: center right !important;
		background-size: 100%;
		mix-blend-mode: soft-light;
		background-image: none !important;
	}
	.wp-block-cover:has(.wp-block-cover__image-background.has-parallax)::before {
		height:100vw;
		right:50%;
	}
	.hero-container .wp-block-cover__inner-container {
		position: relative;
		padding-top: 100px;
	}

	.single-article {
		flex-direction: column;
	}
	#single-article-left, #single-article-right {
		width:100%;
		padding-left:0;
	}
	#single-article-right {
		border-top:1px solid #ccc;
		margin-top:2em;
		padding-top:2em;
	}
	#single-article-right br {
		display: none;
	}
}

@media only screen and (max-width:680px) {
	
	.blog-list-container {
		grid-template-columns: 100%;
	}
	
}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#E52A23;
	color:#F4EEEB;
	text-shadow:none;
}
::-webkit-selection {
	background:#E52A23;
	color:#F4EEEB;
	text-shadow:none;
}
::-moz-selection {
	background:#E52A23;
	color:#F4EEEB;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
