@charset "UTF-8";

/*
Theme Name: Code and Create
Theme URI: https://codeandcreate.co.uk
Author: Code and Create
Author URI: https://codeandcreate.co.uk
Description: Code and Create
Requires PHP: 5.6
Version: 1.0
Text Domain: codeandcreate

*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

 html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
  }
  
  /* Sections
	 ========================================================================== */
  
  /**
   * Remove the margin in all browsers.
   */
  
  body {
	margin: 0;
  }
  
  /**
   * Render the `main` element consistently in IE.
   */
  
  main {
	display: block;
  }
  
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
  
  h1 {
	font-size: 2em;
	margin: 0.67em 0;
  }
  
  /* Grouping content
	 ========================================================================== */
  
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  
  hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
  }
  
  /* Text-level semantics
	 ========================================================================== */
  
  /**
   * Remove the gray background on active links in IE 10.
   */
  
  a {
	background-color: transparent;
  }
  
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  
  abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
  }
  
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  
  b,
  strong {
	font-weight: bolder;
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  code,
  kbd,
  samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
  }
  
  /**
   * Add the correct font size in all browsers.
   */
  
  small {
	font-size: 80%;
  }
  
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  
  sub,
  sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
  }
  
  sub {
	bottom: -0.25em;
  }
  
  sup {
	top: -0.5em;
  }
  
  /* Embedded content
	 ========================================================================== */
  
  /**
   * Remove the border on images inside links in IE 10.
   */
  
  img {
	border-style: none;
  }
  
  /* Forms
	 ========================================================================== */
  
  /**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
  
  button,
  input,
  optgroup,
  select,
  textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
	background: rgba(61, 74, 61, 0.03);
	border: 1px solid rgba(61, 74, 61, 0.16);
  }

  textarea {
	width: 100%;
    box-sizing: border-box;
    padding: 16px;
    height: 130px;
  }
  
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  
  button,
  input { /* 1 */
	overflow: visible;
	background: rgba(61, 74, 61, 0.03);
	border: 1px solid rgba(61, 74, 61, 0.16);
	box-sizing: border-box;
	padding: 19px;
  }

  [type="text"] {
	  width: 100%;
  }
  
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  
  button,
  select { /* 1 */
	text-transform: none;
  }
  
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
  
  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
	-webkit-appearance: button;
  }
  
  /**
   * Remove the inner border and padding in Firefox.
   */
  
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
  }
  
  /**
   * Restore the focus styles unset by the previous rule.
   */
  
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
  }
  
  /**
   * Correct the padding in Firefox.
   */
  
  fieldset {
	padding: 0.35em 0.75em 0.625em;
  }
  
  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
  
  legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
  }
  
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  
  progress {
	vertical-align: baseline;
  }
  
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  
  textarea {
	overflow: auto;
  }
  
  /**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
  
  [type="checkbox"],
  [type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
  }
  
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
	height: auto;
  }
  
  /**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
  
  [type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
  }
  
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  
  [type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
  }
  
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  
  ::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
  }
  
  /* Interactive
	 ========================================================================== */
  
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  
  details {
	display: block;
  }
  
  /*
   * Add the correct display in all browsers.
   */
  
  summary {
	display: list-item;
  }
  
  /* Misc
	 ========================================================================== */
  
  /**
   * Add the correct display in IE 10+.
   */
  
  template {
	display: none;
  }
  
  /**
   * Add the correct display in IE 10.
   */
  
  [hidden] {
	display: none;
  }


/* Code and Create 
	========================================================================== */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
	word-break: normal;
}

.skip-link:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	-webkit-clip-path: none;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
} 

/* Fonts
	========================================================================== */
/* work-sans-regular - latin */
@font-face {
	font-family: 'Work Sans';
	font-style: normal;
	font-weight: 400;
	src: url('assets/fonts/work-sans-v9-latin-regular.eot'); /* IE9 Compat Modes */
	src: local(''),
		 url('assets/fonts/work-sans-v9-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		 url('assets/fonts/work-sans-v9-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
		 url('assets/fonts/work-sans-v9-latin-regular.woff') format('woff'), /* Modern Browsers */
		 url('assets/fonts/work-sans-v9-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
		 url('assets/fonts/work-sans-v9-latin-regular.svg#WorkSans') format('svg'); /* Legacy iOS */
  }
  /* work-sans-500 - latin */
  @font-face {
	font-family: 'Work Sans';
	font-style: normal;
	font-weight: 500;
	src: url('assets/fonts/work-sans-v9-latin-500.eot'); /* IE9 Compat Modes */
	src: local(''),
		 url('assets/fonts/work-sans-v9-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		 url('assets/fonts/work-sans-v9-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
		 url('assets/fonts/work-sans-v9-latin-500.woff') format('woff'), /* Modern Browsers */
		 url('assets/fonts/work-sans-v9-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
		 url('assets/fonts/work-sans-v9-latin-500.svg#WorkSans') format('svg'); /* Legacy iOS */
  }
  /* work-sans-600 - latin */
  @font-face {
	font-family: 'Work Sans';
	font-style: normal;
	font-weight: 600;
	src: url('assets/fonts/work-sans-v9-latin-600.eot'); /* IE9 Compat Modes */
	src: local(''),
		 url('assets/fonts/work-sans-v9-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		 url('assets/fonts/work-sans-v9-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
		 url('assets/fonts/work-sans-v9-latin-600.woff') format('woff'), /* Modern Browsers */
		 url('assets/fonts/work-sans-v9-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
		 url('assets/fonts/work-sans-v9-latin-600.svg#WorkSans') format('svg'); /* Legacy iOS */
  }


/* Variables
========================================================================== */
:root {
	/* Spacing */
	--global--space-gutenberg: 68px;
	--small-width: 52vw;
	--wide-width: 72vw;
	--width: calc(100vw - 32px);
	--full-width: 100vw;
	--mwidth:70vw;
	--wide-mwidth:1134px;
	--full-mwidth: 100%;

	/* Font Family */
	--global--font-primary: 'Work Sans', "Helvetica Neue", sans-serif;
	--global--font-secondary: 'Work Sans', "Helvetica Neue", sans-serif;

	/* Font Size */
	--global--font-size-base: 1rem;
	--global--font-size-xs: 1rem; 
	--global--font-size-sm: 1.125rem; 
	--global--font-size-md: 1.25rem;
	--global--font-size-lg: 1.5rem;
	--global--font-size-xl: 2.25rem;
	--global--font-size-xxl: 4rem;
	--global--font-size-xxxl: 5rem;
	--global--font-size-page-title: var(--global--font-size-xxl);
	--global--letter-spacing: normal;

	/* Line Height */
	--global--line-height-body: 1.7;
	--global--line-height-heading: 1.3;
	--global--line-height-page-title: 1.1;

	/* Headings */
	--heading--font-family: var(--global--font-primary);

	--heading--font-size-h6: var(--global--font-size-xs);
	--heading--font-size-h5: 14px;
	--heading--font-size-h4: 16px;
	--heading--font-size-h3: 24px;
	--heading--font-size-h2: 36px;
	--heading--font-size-h1: 48px;

	--heading--letter-spacing-h6: 0.05em;
	--heading--letter-spacing-h5: 0.05em;
	--heading--letter-spacing-h4: var(--global--letter-spacing);
	--heading--letter-spacing-h3: var(--global--letter-spacing);
	--heading--letter-spacing-h2: var(--global--letter-spacing);
	--heading--letter-spacing-h1: var(--global--letter-spacing);

	--heading--line-height-h6: var(--global--line-height-heading);
	--heading--line-height-h5: var(--global--line-height-heading);
	--heading--line-height-h4: var(--global--line-height-heading);
	--heading--line-height-h3: var(--global--line-height-heading);
	--heading--line-height-h2: var(--global--line-height-heading);
	--heading--line-height-h1: var(--global--line-height-page-title);

	--heading--font-weight: normal;
	--heading--font-weight-page-title: 400;
	--heading--font-weight-strong: 600;

	/* Colors */
	--global--color-black: #000;
	--global--color-dark-gray: #28303d;
	--global--color-gray: #39414d;
	--global--color-light-gray: rgba(61, 74, 61, 0.03);
	--global--color-green: #75AF64; /*new*/
	--global--color-ivy-green: #2C9942; /*new*/
	--global--color-dark-green: #3A403A; /*new*/
	--global--color-light-green: #F4FAF6; /*new*/
	--global--color-blue: #1D4ED8;
	--global--color-dark-blue: #1E3A8A;
	--global--color-purple: #d1d1e4;
	--global--color-dark-red: #7F1D1D;
	--global--color-red: #DC2626;
	--global--color-orange: #e4dad1;
	--global--color-yellow: #eeeadd;
	--global--color-white: #fff;
	--global--color-white-50: rgba(255, 255, 255, 0.5);
	--global--color-white-90: rgba(255, 255, 255, 0.9);

	--global--color-primary: var(--global--color-dark-gray); /* Body text color, site title, footer text color. */
	--global--color-secondary: var(--global--color-gray); /* Headings */
	--global--color-primary-hover: var(--global--color-primary);
	--global--color-background: var(--global--color-blue);
	--global--color-border: var(--global--color-primary); /* Used for borders (separators) */

	/* Elevation */
	--global--elevation: 1px 1px 3px 0 rgba(0, 0, 0, 0.2);

	/* Forms */
	--form--font-family: var(--global--font-secondary);
	--form--font-size: var(--global--font-size-sm);
	--form--line-height: var(--global--line-height-body);
	--form--color-text: var(--global--color-dark-gray); 
	--form--color-ranged: var(--global--color-secondary);
	--form--label-weight: 500;
	--form--border-color: var(--global--color-secondary);
	--form--border-width: 3px;
	--form--border-radius: 0;
	--form--spacing-unit: calc(0.5 * var(--global--spacing-unit));

	/* Cover block */
	--cover--height: calc(15 * var(--global--spacing-vertical));
	--cover--color-foreground: var(--global--color-white);
	--cover--color-background: var(--global--color-black);

	/* Buttons */
		/* Colors */
	--button--color-text: var(--global--color-background);
	--button--color-text-hover: var(--global--color-secondary);
	--button--color-text-active: var(--global--color-secondary);
	--button--color-background: var(--global--color-secondary);
	--button--color-background-hover: var(--global--color-background);
	--button--color-background-active: var(--global--color-background);
		/* Fonts */
	--button--font-family: var(--global--font-primary);
	--button--font-size: 16px;
	--button--font-weight: 500;
	--button--line-height: 1.5;
	--button--font-style: normal;
		/* Borders */
	--button--border-width: 1px;
	--button--border-radius: 0;
		/* Spacing */
	--button--padding-vertical: 15px;
	--button--padding-horizontal: calc(2 * var(--button--padding-vertical));
}

/* Mobile Variables
========================================================================== */
/* @media (max-width:749px){
	:root{
		/* spacing */
		/* --wide-mwidth: 90vw;
		--width: 100%;
		--wide-width: 100%;
		--full-width: 100%;
	} */
/* } */


/* Let's go
	========================================================================== */
*, *:before, *:after {
	-webkit-box-sizing: border-box; 
	-moz-box-sizing: border-box; 
	box-sizing: border-box;
}

html{
	font-family: var(--global--font-primary);
	font-size: var(--global--font-size-base);
	line-height: var(--global--line-height-body);
	letter-spacing: var(--global--letter-spacing);

	color: var(--global--color-primary);
}

h1,h2,h3,h4,h5,h6{
	font-family: var(--heading--font-family);
}

h1 {
	font-size: var(--heading--font-size-h1)
}
h2 {
	font-size: var(--heading--font-size-h2)
}
h3 {
	font-size: var(--heading--font-size-h3)
}
h4 {
	font-size: var(--heading--font-size-h4)
}
h5 {
	font-size: var(--heading--font-size-h5);
	font-weight: 400;
}

a{
	color: var(--global--color-blue);
}

/* figure {
	margin: 0;
} */

figure > img {
	width: 100%;
}

.button,
button {
  font-family: var(--button--font-family);
  font-style: var(--button--font-style);
  font-weight: var(--button--font-weight);
  font-size: var(--button--font-size);
  line-height: var(--button--line-height);
  border-radius: var(--button--border-radius);
  border-width: var(--button--border-width);
  
  color: var(--button--color-text);
  background: var(--button--color-background);
  padding: 16px 24px;
}

/* .button:hover,
button:hover{
	color: var(--button--color-text-hover);
	background: var(--button--color-background-hover);
}

.button:active,
button:active{
	color: var(--button--color-text-active);
	background: var(--button--color-background-active);
} */
/* Gutenberg Colours */
.has-black-color {
	color: var(--global--color-black);
}
.has-green-color {
	color: #75AF64;
}
.has-dark-green-color {
	color: #75AF64;
}
.has-white-color {
	color: #FFFFFF;
}
.has-ivy-green-color {
	color: #2C9942;
}
.has-light-green-color {
	color: #F4FAF6;
}

/* Gutenberg background-color options */
/* .has-background :is(
  a,
	p,
	h1,
	h2,
	h3,
	h4,
	h5,
	h6
){
  color: currentColor;
} */

.has-white-background-color {
	background: var(--global--color-white);
}
.has-green-background-color {
	background: var(--global--color-green);
}
.has-ivy-green-background-color {
	background: var(--global--color-ivy-green);
}
.has-dark-green-background-color {
	background: var(--global--color-dark-green);
}
.has-lightgreen-background-color {
	background: var(--global--color-light-green);
}

/* Header
=================================================*/

.masthead__inner{
	position: relative;
	padding:32px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: var(--wide-mwidth);
	margin:0 auto;
}

.site-branding {
	padding: 0 24px;
}

.site {
	overflow: hidden;
}

@media screen and (max-width: 1300px) {
	.masthead__inner{
		max-width: var(--width);
	}
}

@media screen and (max-width: 1050px) {
	.masthead__inner{
		max-width: 100vw;
	}
}

/* 		Navigation
=================================================*/

.site-cta{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.site-cta > * {
	margin:0 6px;
}

#site-navigation ul {
  display:flex;
  list-style: none;
  margin:0;
  padding:0;
}

#site-navigation ul li a{
  text-decoration: none;
  padding: 0 16px;
  color: var(--global--color-dark-green);
  font-size: 16px;
}

#primary-menu-list > .current-menu-item > a {
	font-weight: 600;
	color: var(--global--color-ivy-green);
}

@media (min-width:1300px){
	#primary-mobile-menu{
		display:none;
	}
}

.menu-button-container{
	align-self: flex-start;
	position: relative;
	z-index: 10;
}
#primary-mobile-menu{
	background:none;
	border:none;
	cursor: pointer;
	padding-top:0;
}
#primary-mobile-menu > * {
	pointer-events: none;
}
#primary-mobile-menu .dropdown-icon svg{
	vertical-align: middle;
}
#primary-mobile-menu .dropdown-icon.close{
	display: none;
}
@media (min-width:1300px){
	#site-navigation{
		display:block !important;
	}
}
@media (max-width:1300px){
	.site-cta,
	#site-navigation{
		display: none;
	}

	#site-navigation{
		padding:32px 0 22px 0;
		position:absolute;
		background: var(--global--color-dark-green);
		top:124px;
		width:100%;
		z-index: 9;
		font-size:1.4rem;
		opacity: 0.94;
	}
	#site-navigation ul{
		flex-direction: column;
		align-items: baseline;
		width: var(--mwidth);
		margin: 30px auto;
	}
	#site-navigation ul li a {
		padding:.5rem 0;
		display: block;
		color: var(--global--color-white);
		font-size: 18px;
		margin: 16px 0;
		font-weight: 400;
	}
	#primary-menu-list > .current-menu-item > a {
		color: var(--global--color-white)
	}
}
@media (max-width:900px){
	.site-cta {
		display: none;
	}
}

/* Alignments 
=======================================*/
.gutenberg-content > * {
  max-width: var(--full-width);
  margin: auto;
}

.gutenberg-content .alignwide {
  max-width: var(--wide-mwidth);
  margin: 0 auto;
  width: var(--wide-width);
}

.gutenberg-content .alignfull{
  max-width: var(--full-mwidth);
  margin: 0 auto;
  width: var(--full-width)
}

.gutenberg-content > .alignfull,
.gutenberg-content > .alignwide {
	margin: var(--global--space-gutenberg) auto;
}

.gutenberg-content > .wp-block-cover:first-child{
	margin-top:0;
}

.wp-block-group {
	width: var(--width);
	margin: var(--global--space-gutenberg) auto;
}

.wp-block-columns {
	align-items: center;
	width: var(--wide-width);
	margin: auto;
}

.wp-block-column > p {
	width: 80%;
}

.wp-block-column > figure > img {
	width: 80%;
}

.wp-block-image {
	margin:0;
}

.wp-block-group__inner-container {
	width: var(--wide-width);
	margin: auto;
}

.wp-block-cgb-block-can-do-block {
	margin-top: 60px;
}

.wp-block-gots-block-project-details { 
	margin-top: 120px;
}



.site-footer a {
	text-decoration: none;
}

@media screen and (max-width: 1000px) {

	.wp-block-group__inner-container {
		width: 100vw;
		margin: 0;
	}

	.wp-block-group__inner-container > h2 {
		width: var(--mwidth);
		margin: 0 auto;
	}


	.wp-block-group {
		width: 100vw;
		margin-bottom: 0;
	}

	.wp-block-columns {
		width: var(--mwidth);
		flex-direction: column;
	}


	.wp-block-image > img {
		margin-top:64px;
		height: 300px;
	}

	.wp-block-column {
		margin-left: 0 !important;
	}

	.wp-block-column > p {
		width: 100%;
	}
	
	.wp-block-column > figure > img {
		width: 100%;
	}

	.wp-block-buttons {
		justify-content: center;
		margin-top: 36px;
		gap: 20px;
	}

	.wp-block-column > figure {
		margin: 0;
	}

	.wp-block-cgb-block-can-do-block {
		margin-top: 0;
	}
}

@media screen and (max-width: 500px) {
	.wp-block-column > .wp-block-image {
		width: 100vw;
		margin-left: calc((100vw - var(--mwidth)) / -2)
	}

	.wp-block-column {
		width: 100%;
	}
}

/* Footer
=================================================*/
footer {
	background: var(--global--color-dark-green);
	width: var(--width);
    margin: 0 auto;
}

.footer__inner{
	padding: 110px 0;
	display: grid;
	grid-template-columns: 25% 75%;
	align-items: flex-start;
	justify-content: center;
	column-gap: 70px;
	max-width: var(--max-width);
	margin:0 auto;
	width: var(--small-width);
	color: var(--global--color-white);
}

@media (max-width: 749px){
	.footer__inner{
		display: block;
	}
}

.footer__inner > div{
	width:100%;
}

.footer__navigation-wrapper {
	display: flex;
	list-style: none;
	padding:0;
	margin:0 0 1rem 0;
}
.footer__navigation-wrapper li a{
	font-weight: bold;
}
.footer__navigation-wrapper li a:after{
	content:".";
	padding-right: 0.1rem;
}

.footer__row {
	display: flex;
    column-gap: 80px;
}

@media screen and (max-width: 1050px) {
	.footer__inner {
		display: block;
		width: var(--mwidth)
	}
}

@media screen and (max-width: 850px) {
	.footer__row {
		flex-direction: column-reverse;
		gap: 50px;
	}
}

.footer__legals {
	display: flex;
	flex-direction: column;
}

.footer__social-icons {
	display: flex;
	gap: 24px;
}

.footer__right-container {
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.footer__heading-text > h3 {
	margin-top: 0;
	margin-bottom: 8px;
	width: 85%;
}

.footer__link, .footer__contact > a {
	color: var(--global--color-white);
	font-weight: 600;
	cursor: pointer;
}

.footer__contact > a {
	text-decoration: underline;
}

.footer__link:last-of-type {
	margin-top: 16px;
}

.footer__read-more {
	font-size: 15px;
	font-weight: 600;
	color: var(--global--color-green);
	cursor: pointer;
}

.footer__copyright {
	width: 70%;
}

/* Footer newsletter */
.footer-newsletter {
	width: var(--width);
	margin: 0 auto;
}

@media screen and (max-width: 1050px) {
	.footer-newsletter {
		width: 100vw;
	}

	footer {
		width: 100vw;
	}

	.footer__heading-text > h3 {
		width: 100%;
	}
}

.footer-newsletter__content {
	background: var(--global--color-ivy-green);
	color: var(--global--color-white);
	padding: 56px 0 72px 0;
}

.footer-newsletter__content__body {
	width: var(--wide-width);
	display: flex;
	align-items: center;
	margin: auto;
}

.footer-newsletter__content__body > div {
	width: 100%;
}

.footer-newsletter__content__body__text > h2 {
	line-height: 45px;
}

.footer-newsletter__content__body__text {
	box-sizing: border-box;
    padding-right: 100px;
}

.footer-newsletter__content__body__email-input {
	padding: 19px;
	margin-right: 16px;
	outline: none;
	width: 50%;
	border: none;
	background: var(--global--color-white);
}

[name="receive-emails"] {
	margin-right: 10px;
}

.footer-newsletter__buttons {
	display: flex;
	align-items: center;
}

.footer-newsletter__buttons > div {
	width: 100%;
}

.footer-newsletter__button > svg {
	margin-left: 16px;
}

.footer-newsletter__button {
	padding: 0 10vw;
}

.footer-newsletter__button:first-of-type {
	color: var(--global--color-dark-green);
	background: var(--global--color-light-green);
}

.footer-newsletter__button:last-of-type {
	color: var(--global--color-white);
	background: var(--global--color-green);
}

.footer-newsletter__content__body__email-text {
	margin-bottom: 16px;
	margin-top: 50px;
}

.footer-newsletter__contact {
	background: var(--global--color-white);
    padding: 120px 25vw;
}

.email-subscribe-button {
	display: inline;
}

.footer-newsletter-subscribe-button {
	display: inline;
}

@media screen and (max-width: 1050px) {
	.footer-newsletter__contact {
		padding: 0;
		width: var(--mwidth);
		margin: 120px auto;
	}
	
	.footer-newsletter__contact-form__row {
		flex-direction: column;
	}

	.newsletter-submit-button {
		margin-top: 40px;
		width: 100%;
	}

	.newsletter-submit-button > button {
		width: 100%;
	}

	.email-subscribe-button {
		display: block;
		width: 100%;
		margin-top: 24px;
	}

	.email-subscribe-button > button {
		width: 100%;
	}

	.footer-newsletter__content__body__email-input {
		margin-left: 0;
		width: 100%;
	}

	[name="receive-emails"] + h5 {
		margin: 0;
	}
}

.footer-newsletter__contact-form {
    display: flex;
    flex-direction: column;
}

.footer-newsletter__contact-form__label > p > span {
	color: var(--global--color-ivy-green);
	font-weight: 600;
}


.footer-newsletter__contact-form__row {
    display: flex;
    gap: 24px;
    margin-bottom: 30px;
}

.footer-newsletter__contact-form__row:first-of-type > div,
.footer-newsletter__contact-form__row:first-of-type > label {
    width: 100%;
}

.footer-newsletter__contact-form__row:first-of-type > div > input,
.footer-newsletter__contact-form__row:first-of-type > label > input {
    width: 100%;
}

input {
    background: rgba(61, 74, 61, 0.03);
	border: 1px solid rgba(61, 74, 61, 0.16);
	box-sizing: border-box;
    padding: 19px;
}

.green-span {
	color: var(--global--color-ivy-green);
	font-weight: 600;
}

.footer-newsletter__contact-form__message-box {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.footer-newsletter__contact-form__message-box > textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 16px;
    height: 130px;
}

.footer-newsletter__contact-form__toggle-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer-newsletter__contact-form__toggle-buttons > button {
    border: 1px solid rgba(61, 74, 61, 0.16);
    box-sizing: border-box;
    cursor: pointer;
}

.footer-newsletter__contact-form__toggle-buttons > button:first-of-type {
    padding: 16px 16px 16 24px;
}

.footer-newsletter__contact-form__toggle-buttons > button:last-of-type {
    padding: 16px 24px 16px 16px;
}

.footer-newsletter__contact-form__toggle-button {
	background: var(--global--color-light-gray);
    font-weight: 400;
    color: var(--global--color-dark-green);
}

.toggle-button__active {
	background: var(--global--color-green);
    font-weight: 600;
    color: var(--global--color-white);
}

.footer-newsletter__contact-form__address-entry {
	width: 100%;
}

.footer-newsletter__contact-form__address-entry > input {
    width: 100%;
}

.footer-newsletter__contact-form__check-box-row {
    display: flex;
    align-items: center;
}

.tandc-checkbox-text > input[type="checkbox"] {
    margin-right: 30px;
}

.tandc-checkbox-text > p {
	margin-right: 10px;
}

.footer-newsletter__icon {
	cursor: pointer;
}


@media screen and (max-width: 1050px){
	.footer-newsletter__content__body {
		flex-direction: column;
	}

	.footer-newsletter__content__body__text {
		padding-right: 0;
	}

	
	.footer-newsletter__buttons {
		flex-direction: column-reverse;
	}

	.footer-newsletter__contact-form__check-box-row {
		display: block;
	}

	.footer-newsletter__contact-form__check-box-row > div {
		width: 100%;
	}
}

/* Hero */
.entry-header__front-page,
.entry-header {
	position: relative;
	height: 420px;
	width: var(--width);
    margin: auto;
	margin-bottom: 80px;
}



.entry-header__front-page {
	height: 100%;
}

.entry-header__front-page__hero-image > img, 
.entry-header__hero-image > img {
	width: var(--width);
	height: 420px;
	top: 0;
	z-index: 0;
	object-fit:cover;
}

@media screen and (max-width: 1050px) {
	.entry-header__front-page, .entry-header {
		width: 100vw;
	}

	.entry-header__front-page__hero-image > img, .entry-header__hero-image > img {
		width: 100vw;
	}
}

.entry-header__front-page__hero-image > img {
	height: 860px;
}

.entry-header__front-page__hero-text, 
.entry-header__hero-text {
	position: absolute;
	top: 0;
	z-index: 1;
	margin-top: 100px;
	margin-left: 13vw;
	margin-right: 13vw;
}

.entry-header__front-page__hero-text {
	margin-top: 260px;
}

.entry-header__front-page__hero-text__heading {
	margin: 0
}

.entry-header__front-page__hero-text__heading, 
.entry-header__hero-text__heading {
	position: relative;
	z-index: 1;
	color: var(--global--color-white);
	background-color: var(--global--color-ivy-green);
	padding: 32px 40px;
}

.entry-header__front-page__hero-text__buttons {
	display: flex;
	flex-wrap: wrap;
}

.entry-content {
	margin: 0 auto;
}

.entry-content__body {
	width: var(--wide-width);
	margin: auto;
}

.entry-header__front-page__hero-text__button > button {
	text-decoration: none;
}

@media screen and (max-width: 1000px) {
	.entry-header__front-page__hero-text__heading,
	.entry-header__hero-text__heading {
		font-size: var(--global--font-size-xl);
		padding: 16px 24px;
	}
}

@media screen and (max-width: 500px) {
	.entry-header__front-page__hero-text__heading,
	.entry-header__hero-text__heading {
		font-size: var(--heading--font-size-h2);
	}
}

/* Gallery Slider */
.gs-container {
	position: relative;
	width: var(--width);
	margin: 16px auto;
	height: 500px;
}

.gallery-slider {
	width: var(--width);
	margin: auto;
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.gallery-slider__wrapper {
	width: var(--width);
	overflow: hidden;
	position: relative;
	height: 500px;
}

.gallery-slider__slides {
	display: flex;
	position: relative;
	gap: 16px;
	top: 0;
	left: calc(-40% - 16px);
}

.gallery-slider__slides.shifting {
	transition: left .2s ease-out;
  }

.gallery-slider__slide {
	min-width: 60%;
	max-width: 60%;
	height: 500px;
	object-fit: cover;
}

.gallery-slider__arrows {
	display: flex;
    position: absolute;
    top: 50%;
    margin-top: -28px;
    margin-right: 20vw;
    right: 0;
}

.gallery-slider__arrow {
	padding: 20px 22px;
	background: var(--global--color-white);
	cursor: pointer;
}

@media screen and (max-width: 1050px) {
	.gs-container {
		margin: 0 auto;
	}
}

@media screen and (max-width: 850px) {
	.gs-container {
		width: 100vw;
	}
	
	.gallery-slider {
		width: 100vw;
		/* top: 50%;
		left: 50%;
		transform: translate(-50%, -50%); */
	}
	
	.gallery-slider__wrapper {
		width: 100vw;
		overflow: hidden;
		position: relative;
		height: 500px;
	}
	
	.gallery-slider__slides {
		gap: 0;
		top: 0;
		left: 0;
	}

	.gallery-slider__slide {
		width: 100%;
		min-width: 100%;
		max-width: 100%;
	}
	
	.gallery-slider__arrows {
		margin-right: 0;
		width: 100vw;
		justify-content: space-between;
	}
}

/* Projects Archive */
.projects-archive {
	width: var(--wide-width);
	margin: 120px auto;
}

.projects-archive__header-post {
	margin-bottom: 60px;
}

.projects-archive__header-post > img {
	width: 100%;
	height: 340px;
	object-fit: cover;
	margin-bottom: 30px;
}

.projects-archive__header-post__text {
	display: flex;
	gap: 24px;
}

.projects-archive__header-post__text > h2 {
	margin-top: 0;
}

.projects-archive__header-post__text > * {
	margin-top: 10px;
}

.projects-archive__header-post__text > p:first-of-type {
	color: var(--global--color-green);
	font-weight: 600;
}

.projects-archive__body-posts {
	display: grid;
	gap: 32px;
	grid-template-columns: 1fr 1fr;
}

.projects-archive__body-post > img {
	width: 100%;
	height: 275px;
    object-fit: cover;
}

.projects-archive__body-post >  h3 {
	margin-bottom: 0
}

.projects-archive__link {
	color: var(--global--color-dark-green);
	text-decoration: none;
}

@media screen and (max-width: 1400px) {
	.projects-archive__header-post__text {
		flex-direction: column;
		gap: 0;
	}

	.projects-archive__header-post__text > h2 {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 800px) {	
	.projects-archive__body-posts {
		gap: 32px;
		grid-template-columns: 1fr;
	}

	.projects-archive__body-post > img {
		height: 340px;
	}
}

@media screen and (max-width: 500px) {	
	.projects-archive {
		width: 100vw;
		margin: 100px auto;
	}

	.projects-archive__header-post__text,
	.projects-archive__body-post__text {
		width: var(--mwidth);
		margin: 0 auto;
	}
}

/* News Archive */
.news-archive {
	width: var(--wide-width);
	margin: 120px auto;
}

.news-archive__body-posts {
	display: grid;
	gap: 32px;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.news-archive__body-post > img {
	width: 100%;
	height: 275px;
    object-fit: cover;
}

.news-archive__body-post__text >  h3 {
	margin: 0;
}

.news-archive__body-post__text > p:first-of-type,
.news-archive__body-post__text > a:last-of-type {
	color: var(--global--color-green);
	font-weight: 600;
	margin-bottom: 0;
	text-decoration: none;
}

@media screen and (max-width: 1800px) {
	.news-archive__body-posts {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

@media screen and (max-width: 1200px) {
	.news-archive__body-posts {
		grid-template-columns: 1fr 1fr;
	}

	.news-archive__body-posts {
		gap: 64px;
	}
}

@media screen and (max-width: 850px) {
	.news-archive__body-posts {
		grid-template-columns: 1fr;
	}

	.news-archive__body-post > img {
		height: 340px;
	}
}

@media screen and (max-width: 500px) {
	.news-archive {
		width: 100vw;
		margin: 100px auto;
	}

	.news-archive__body-post__text {
		width: var(--mwidth);
		margin: 0 auto;
	}
	
}

/* Our Team Shortcode */
.our-team {
	width: var(--wide-width);
	margin: 120px auto;
}

.our-team__title {
	text-align: center;
}

.our-team__sub-title {
	width: 40vw;
	margin: 0 auto;
	text-align: center;
}

.our-team__grid-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 30px;
	row-gap: 50px;
	margin-top: 70px;
}

.our-team__member {
	width: 308px;
}

.our-team__member__name {
	margin-bottom: 0;
    line-height: 24px;
}

@media screen and (max-width: 1050px) {
	.our-team__title {
		width: var(--mwidth);
		margin: 0 auto;
		text-align: left;
	}

	.our-team__sub-title {
		width: var(--mwidth);
		margin: 0 auto;
		text-align: left;
	}
}

/* Latest Projects Shortcode */
.our-latest-projects {
	width: var(--wide-width);
	margin: 120px auto;
	position: relative;
}

@media screen and (max-width: 1050px) {
	.our-latest-projects {
		margin: 0 auto;
		padding-top: 100px;
		padding-bottom: 120px;
	}
}

.our-latest-projects__title {
	margin: 0;
}

.our-latest-projects__sub-title {
	width: 35vw;
}

.our-latest-projects__button__desktop {
	margin-left: 32px;
	padding: 16px;
	text-decoration: none;
}

.our-latest-projects__button__mobile {
	padding: 16px;
	text-decoration: none;
}

.all-projects-mobile {
	margin-top: 48px;
}

.our-latest-projects__container {
	margin-top: 70px;
	gap: 30px;
	justify-content: left;
}

.our-latest-projects__project {
	width: 275px;
}

.our-latest-projects__project__image {
	width: 275px;
	height: 275px;
	object-fit: cover;
}

.projects-shortcode {
	position: relative;
	padding-top: 30px;
}

.projects-shortcode::before {
	content: "";
	background: var(--global--color-light-green);
	position: absolute;
	top: 16px;
	left: 16px;
	height: 500px;
	width: var(--width);
	z-index: -1;
}

/* .wp-block-image {
	margin-top: 60px;
} */

@media screen and (max-width: 1050px) {
	.projects-shortcode::before {
		top: 0;
		left: 0; 
		width: 100vw;
	}
}

.our-latest-projects__project__title {
	margin-bottom: 0;
}

.our-latest-projects__project__read-more {
	text-decoration: underline;
	font-weight: 600;
	color: var(--global--color-ivy-green)
}

.our-latest-projects__text {
	display: flex;
	align-items: center;
}


@media screen and (max-width: 850px) {
	.our-latest-projects {
		width: var(--mwidth);
	}

	.our-latest-projects__sub-title {
		width: 100%;
	}

	.all-projects-desktop {
		display: none;
	}

	.our-latest-projects {
		width: var(--mwidth);
	}

	.projects-shortcode::before {
		height: 100%;
	}

	.our-latest-projects__container {
		justify-content: center;
	}

}

@media screen and (min-width: 850px) {
	.all-projects-mobile {
		display: none;
	}
}


/* Latest News Prev/Next article footer */
.social-nav-links-row{
	width: var(--wide-width);
	margin: 50px auto 100px auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.social-row {
	display: flex;
	align-items: center;
	gap:32px;
}

.nav-links {
	display: flex;
}

.meta-nav > p {
	padding: 16px 24px;
}

.nav-next > a {
	text-decoration: none;
}

@media screen and (max-width: 800px) {
	.social-nav-links-row{
		flex-direction: column;
	}
}

@media screen and (max-width: 430px) {
	.nav-links {
		flex-direction: column;
		align-items: center;
	}
}

/* Cards */

.card{
	border: 2px solid #000;
	border-radius: 24px;
}

.is-style-wide {
	width: var(--width);
	margin: auto;
}
.is-style-small {
	width: var(--small-width);
	margin: auto;
}

.is-style-card-red,
.card-red{
	background: var(--global--color-dark-red);
	border: 2px solid var(--global--color-red);
	border-color: var(--global--color-red);
	border-radius: 24px;
	padding: 60px;
}

.is-style-card-blue,
.card-blue{
	background: var(--global--color-dark-blue);
	border: 2px solid var(--global--color-blue);
	border-color: var(--global--color-blue);
	border-radius: 24px;
	padding: 60px;
}

/* Buttons */
.is-style-light-green-button > * {
	background: var(--global--color-light-green);
	border: 1px solid var(--global--color-ivy-green);
	color: var(--global--color-ivy-green);
	font-weight: bold;
	font-size: 15px;
	border-radius: 0;
	transition: 300ms;
	cursor: pointer;
}
.is-style-light-green-button:hover > * {
	background:  var(--global--color-ivy-green);
	color: var(--global--color-light-green);
}
.is-style-white-button > * {
	background: var(--global--color-white);
	border: 1px solid var(--global--color-ivy-green);
	color: var(--global--color-ivy-green);
	font-weight: bold;
	font-size: 15px;
	border-radius: 0;
	transition: 300ms;
	cursor: pointer;
}
.is-style-white-button:hover > * {
	background:  var(--global--color-ivy-green);
	color: var(--global--color-white);
}

.is-style-dark-green-button > * {
	background: var(--global--color-dark-green);
	border: 1px solid var(--global--color-dark-green);
	color: var(--global--color-white);
	font-weight: bold;
	font-size: 15px;
	border-radius: 0;
	transition: 300ms;
	cursor: pointer;
}
.is-style-dark-green-button:hover > * {
	background:  var(--global--color-white);
	color: var(--global--color-dark-green);
}

.is-style-white-borderless-button > * {
	background: var(--global--color-white);
	border: 1px solid var(--global--color-white);
	color: var(--global--color-dark-green);
	font-weight: bold;
	font-size: 15px;
	border-radius: 0;
	transition: 300ms;
	cursor: pointer;
	text-decoration: underline;
}
.is-style-white-borderless-button:hover > * {
	background:  var(--global--color-dark-green);
	border: 1px solid var(--global--color-dark-green);
	color: var(--global--color-white);
}

.is-style-green-borderless-button > * {
	background: var(--global--color-green);
	border: 1px solid var(--global--color-green);
	color: var(--global--color-white);
	font-weight: bold;
	font-size: 15px;
	border-radius: 0;
	transition: 300ms;
	cursor: pointer;
}
.is-style-green-borderless-button:hover > * {
	background:  var(--global--color-white);
	color: var(--global--color-green);
}

.wp-block-spacer.is-style-negative{
	margin-top:-220px;
	height:0 !important;
}

.wp-block-embed.is-style-rounded {
	max-width: var(--mwidth);
	padding:5%;
	margin-left: auto;
	margin-right: auto;
}

.wp-block-embed-is-style-ivygreen-background {
	background: var(--global--color-ivy-green);
}

.wp-block-embed.is-style-rounded iframe {
	border: 1px solid var(--global--color-blue);
	box-sizing: border-box;
	filter: drop-shadow(0px 24px 100px rgba(2, 28, 52, 0.7));
	border-radius: 24px;
}

.wp-block-group.has-background {
	padding: var(--global--space-gutenberg) 0;
}

.wp-block-group__inner-container > p {
	width: var(--mwidth);
	margin: 0 auto;
}

.wpcf7-list-item {
	margin-right: 10px;
}

.wpcf7-list-item > label {
	display: flex;
	align-items: center;
	gap: 20px;
}

.wpcf7__submit-button {
	margin-top: 28px;
}


@media screen and (max-width: 1050px) {
	.wpcf7__submit-button {
		width: 100%;
	}
	
	.wpcf7__submit-button > input {
		width: 100%;
	}
}

/* Content */

.front-page__content-image {
	width: 70%;
	margin: auto;
}

.wp-block-image img {
    max-width: 100%;
	object-fit: cover;
}

/* Alerts 
==================================*/
.alert-shortcode{
	padding:22px 33px;
	max-width: 673px;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.alert-shortcode.is-style-card-blue, 
.alert-shortcode.is-style-card-blue a{
	color:white;
}
.alert-shortcode__close{
	background:none;
	border:none;
	cursor: pointer;
	padding:5px;
}
.alert-shortcode__closeIcon{
	pointer-events:none;
}

@media (max-width:749px){
	.alert-shortcode{
		flex-direction: column;
		text-align: center;
		width:80vw;
		padding:10px 15px 30px 15px;
	}
	.alert-shortcode.is-style-card-blue > span,
	.alert-shortcode.is-style-card-blue > a{
		order:2;
	}
	.alert-shortcode__close{
		align-self: flex-end;
		order:1;
	}
}

/* Util 
============================*/
/** Display 
============================*/
.d-flex{
	display:flex;
}
.d-block{
	display:flex;
}
.d-inline-flex{
	display:inline-flex;
}
.d-inline-block{
	display:inline-block;
}
.d-none{
	display:none;
}
.d-inline{
	display:inline;
}
/** Flex 
============================*/
.flex-wrap{
	flex-wrap: wrap;
}
.flex-nowrap{
	flex-wrap: nowrap;
}
/** Alignments 
============================*/
.justify-center{
	justify-content: center;
}
.justify-between{
	justify-content: space-between;
}
.justify-around{
	justify-content: space-around;
}
.justify-evenly{
	justify-content: space-evenly;
}
.justify-start{
	justify-content: flex-start;
}
.justify-end{
	justify-content: flex-end;
}
.align-center{
	align-items: center;
}
.align-start{
	align-items: flex-start;
}
.align-end{
	align-items: flex-end;
}
/** Margins
============================*/
.mt-0{
	margin-top:0 !important;
}
.mr-0{
	margin-right:0 !important;
}
.ml-0{
	margin-left:0 !important;
}
.mb-0{
	margin-bottom:0 !important;
}
.m-auto{
	margin: 0 auto;
}
/** Extras
============================*/
.bold {
	font-weight: 600;
}
.hide {
	display: none;
}