/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Vars
# Typography & Resets
# Navigation
# Home
# Footer
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Vars
--------------------------------------------------------------*/

:root {
	--color-blue: #002395;
	--color-dark-blue: #011c77;
	--color-gold: #e9bc68;
	--color-grey: #f2f3f7;
	--font-size-primary-heading: 50px;
	--font-size-secondary-heading: 29px;
	--font-size-tertiary-heading: 17px;
	--font-size-body: 16px;
}

/*--------------------------------------------------------------
# Typography & Resets
--------------------------------------------------------------*/

body {
	font-family: 'Source Sans Pro', sans-serif;
	overflow-x: hidden !important;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Quicksand', sans-serif;
}

h1 {
	margin: 0;
	font-size: var(--font-size-primary-heading);
	line-height: 1.2em;
}

h2 {
	color: var(--color-blue);
	margin: 10px 0;
	line-height: 1.3em;
	font-size: var(--font-size-secondary-heading)
}

a, a:active, a:focus {
	outline: none;
}

#page {
	overflow-x: hidden !important;
}

.post, 
.page {
	margin: 0;
}

.home .entry-header, 
.entry-footer {
	display: none;
}

.entry-content, 
.hentry {
	margin: 0;
}

.max-width {
	max-width: 1240px;
	padding: 0 30px;
	margin: 0 auto;
}

.max-width.less {
	max-width: 1200px;
}

.button {
	display: inline-block;
	text-decoration: none;
	font-weight: 700;
	border-radius: 10px;
	border-top-left-radius: 0;
	padding: 11px 17px;
	font-size: 15px;
	text-shadow: none;
	box-shadow: none;
	transition: 0.35s ease all;
}

.button.blue {
	background-color: var(--color-blue);
	color: #fff;
}

.button.blue:hover {
	background-color: var(--color-gold);
	color: #000;
}

.button.gold {
	background-color: var(--color-gold);
	color: #000;
}

.button.gold:hover {
	background-color: var(--color-blue);
	color: #fff;
}

.button.white {
	background-color: #fff;
	color: var(--color-blue);
	border: 2px solid transparent;
	padding: 9px 15px;
}

.button.white:hover {
	background-color: transparent;
	color: #fff;
	border-color: #fff;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/

#masthead {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999;
	background-image: url('/wp-content/uploads/2023/01/menu-bg.png');
	background-size: cover;
	background-position: center;
}

#site-navigation {
	z-index: 20;
	position: relative;
	padding: 10px 30px;
	max-width: 1470px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.blend {
	background-color: var(--color-blue);
	mix-blend-mode: multiply;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	z-index: 10;
}

#primary-menu {
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	text-align: center;
	display: block;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

#primary-menu li {
	margin: 0 15px;
}

.main-navigation li {
	position: relative;
	display: inline-block;
	vertical-align: middle;
}

.main-navigation a {
	color: #fff;
	display: block;
	font-size: 17px;
}

.main-navigation a:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  height: 1.5px;
  width: 100%;
  background-color: #fff;
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transition: color 0.1s, transform 0.3s ease-out;
  -ms-transition: color 0.1s, transform 0.3s ease-out;
  transition: color 0.1s, transform 0.3s ease-out;
}

.main-navigation a:hover:after,
.current-menu-ancestor a:after {
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}

/*--------------------------------------------------------------
# Home
--------------------------------------------------------------*/

.home-carousel {
	height: 100vh;
	width: 100%;
}

.carousel-slide {
	height: 100%;
	width: 100%;
	background-size: cover;
	background-position: center;
}

.home-carousel .max-width {
	position: relative;
	top: calc(50% + 45px);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.home-carousel .wrap {
	max-width: 500px;
}

.home-carousel h1 {
	color: #fff;
}

.home-carousel p {
	color: #fff;
}

.accent-row {
	padding: 70px 0;
	background-color: var(--color-grey);
	background-image: url('/wp-content/uploads/2023/01/body-texture.png');
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: 100%;
}

.blue-content-block {
	background-image: url('/wp-content/uploads/2023/01/bg-texture.png');
	background-size: cover;
	background-position: center;
	padding: 90px 70px 100px;
	position: relative;
	text-align: center;
	border-radius: 20px;
	border-top-left-radius: 0;
}

.blue-content-block::after {
	content: '';
	display: block;
	background-image: url('/wp-content/uploads/2023/01/canna-icon.svg');
	width: 68px;
	height: 80px;
	position: relative;
	z-index: 10;
	position: absolute;
	right: 30px;
	bottom: 28px;
}

.blue-content-block .blend {
	top: 0;
	left: 0;
	border-radius: 20px;
	border-top-left-radius: 0;
	border: 5px solid var(--color-gold);
}

.blue-content-block p {
	font-family: 'Quicksand', sans-serif;
	color: #fff;
	position: relative;
	z-index: 10;
	font-size: 35px;
	line-height: 1.4em;
	margin: ;
	margin: 0;
}

.image-content-block {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 100px 0 20px;
}

.content-block {
	background-color: #fff;
	border-radius: 20px;
	border-top-left-radius: 0;
	padding: 45px;
	box-shadow: 1px 1px 10px rgba(0,0,0,0.2);
	max-width: 580px;
	position: relative;
	z-index: 2;
}

.content-block span,
.center-content span {
	color: var(--color-gold);
	font-weight: 700;
	letter-spacing: 1px;
	font-size: 14px;
	display: block;
	text-transform: uppercase;
}

.content-block h2 {
	max-width: 470px;
}

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

.image-blocks {
	width: calc(100% - 580px);
	position: relative;
}

.image-block-one {
	position: relative;
	left: -5%;
}

.image-block-two {
	position: absolute;
	top: 7%;
	left: 35%;
}

.image-block-three {
	position: absolute;
	left: 34%;
	bottom: -11%;
	width: 120%;
	max-width: unset;
}

.parallax-banner-row {
	height: 680px;
	position: relative;
}

.parallax-banner-row .max-width {
	display: flex;
	justify-content: end;
	position: relative;
	top: 65%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.center-content {
	text-align: center;
	padding: 10px 0 25px;
}

.blocks {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.blocks .block {
	width: 31%;
	margin: 18px 0;
	background-color: #fff;
	border-radius: 25px;
	border-top-left-radius: 0;
}

.blocks .block img {
	width: 100%;
}

.blocks .block .wrap {
	padding: 5px 28px 30px;
}

.blocks .block .wrap h2 {
	line-height: 1.2em;
	font-size: 27px;
}

.row {
	padding: 70px 0;
}

.row .content-block {
	padding: 0 40px 0 0;
	box-shadow: none;
	max-width: 415px;
}

.row .max-width {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.careers {
	width: calc(93% - 415px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.careers .career {
	background-color: var(--color-blue);
	padding: 17px;
	width: 31.5%;
	margin-bottom: 3%;
	border-radius: 16px;
	border-top-left-radius: 0;
	min-height: 200px;
	position: relative;
}

.careers .career h3 {
	color: #fff;
	font-size: 18px;
	margin: 0;
}

.careers .career p {
	color: #fff;
	margin: 5px 0;
}

.careers .career a:not(.button) {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	position: absolute;
	bottom: 15px;
	left: 15px;
}

.careers .career .button {
	position: absolute;
	top: 50%;
	left: 50%;
	bottom: auto;
	-webkit-transform: translateY(-50%) translateX(-50%);
	-ms-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.site-info {
	background-color: var(--color-blue);
	color: #fff;
	padding: 60px 0;
}

.site-info .max-width {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.site-info .col-40 {
	width: 35%;
	padding-right: 40px;
}

.site-info .col-40 p {
	max-width: 300px;
}

.site-info .col-20 {
	width: 20%;
}

.sm a {
	background-color: var(--color-dark-blue);
	color: #fff;
	width: 48px;
	height: 48px;
	display: inline-block;
	margin-right: 15px;
	border-radius: 6px;
	text-align: center;
	font-size: 24px;
	line-height: 2;
	transition: 0.35s ease all;
}

.sm a:hover {
	background-color: #fff;
	color: var(--color-dark-blue);
}

.site-info h3 {
	font-family: 'Source Sans Pro', sans-serif;
	margin: 0 0 18px;
}

.site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer ul a {
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	display: block;
	margin-bottom: 8px;
}

.site-info .col-20 p {
	font-size: 14px;
	line-height: 1.6;
	max-width: 200px;
}

.site-info .col-20 a {
	color: #fff;
}

.logos img:not(:last-child) {
	margin-bottom: 35px;
}

.bottom-footer {
	background-color: var(--color-dark-blue);
	padding: 20px 0 30px;
	color: #fff;
}

.bottom-footer .max-width {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.bottom-footer p {
	margin: 0;
	font-size: 14px;
}

.bottom-footer ul {
	display: flex;
}

.bottom-footer li {
	margin-left: 20px;
}

.site-footer .bottom-footer a {
	margin-bottom: 0;
}
