/*   
Theme Name: bespoke-theme
Theme URI: 
Description: Bespoke Base WordPress Theme to build custom themes
Author: 
Author URI: 
Version: 1.0
Tags: blue, white, light, right-sidebar, fixed-width
License: GNU General Public License v2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
@import url('css/normalize.min.css');

@import url('css/core.css');

@import url('fonts.css');

/* --------------------------------------------------------------   
User Styles below here
-------------------------------------------------------------- 
*/

:root {
  	--primary: #06396e;
  	--secondary: #ee7226;
  	--blue:  #009bac;
  	--body-font:  'Neuton', serif;
  	--body-color:  #222222;
  	--heading-font:  'Graphik Web', sans-serif;
  	--bg-blue:  #e9f1f2;
  	--bg-grey:  #dadae1;
  	--bg-light:  #fffdfd;
}

html {
	font-size:  22px;
}

body {
	background-color: var(--bg-blue);
	color:  var(--body-color);
	line-height:  1.4;
	font-family:  var(--body-font);
	width: 100%; 
	font-weight:  300;
}

h0 {
	display:  block;
	color: var(--primary);
	font-size:  90px;
	margin:  0;
	padding:  0;
	font-weight:  400;
	line-height:  100px;
}

h1 {
	color:  var(--primary);
	font-size:  36px;
	margin:  0 0 0.5rem 0;
	font-family:  var(--heading-font);
	font-weight:  600;
	line-height:  40px;
}

h2 {
	color:  var(--primary);
	font-size: 24px;
	margin:  0 0 0.5rem 0;
	font-family:  var(--heading-font);
	font-weight:  500;
}

h3 {
	color:  var(--primary);
	font-size: 22px;
	margin:  0 0 0.5rem 0;
	font-family:  var(--heading-font);
	font-weight:  600;
}

h4 {
	color:  var(--primary);
	font-size: 18px;
	margin:  0 0 0.5rem 0;
	font-family:  var(--heading-font);
	font-weight:  500;
}

h5 {
	font-size: 16px;
	color:  var(--secondary);
	margin:  0 0 0.5rem 0;
	font-family:  var(--heading-font);
	font-weight:  500;
}

p {
	margin:  0 0 1rem 0;
}

.entry-content {
	padding:  0 20px;
	margin:  0 auto;
	max-width:  1200px;
}

.entry-padded {
	padding-top:  40px;
	padding-bottom:  40px;
}

a {
	text-decoration:  none;
	color:  var(--secondary);
	transition:  opacity 0.3s ease-in-out;
}

.white-link a {
	color:  #FFFFFF;
}

a:hover {
	opacity:  0.8;
}

input, textarea, select, button {
	font-family: var(--heading-font);
	font-weight:  500;
	border:  1px solid #ccc;
}

.wp-block-button__link, .btn, div.wpforms-container-full .wpforms-form button[type=submit], button, input[type=submit] {
    color: #fff;
    background-color: var(--secondary);
	font-family:  var(--heading-font);
	outline:  none;
    cursor: pointer;
    display: inline-block;
    font-size: 18px;
    line-height:  35px;
    padding: 0 20px;
    border-radius:  0;
    font-weight:  500;
    transition:  opacity 0.2s ease-in-out;
    text-decoration:  none;
    border:  none;
}

.btn.primary {
	background-color:  var(--primary);
}

.is-style-outline > .wp-block-button__link, .wp-block-button__link.is-style-outline, .is-style-outline > .wp-block-button__link:not(.has-text-color), .wp-block-button__link.is-style-outline:not(.has-text-color), .btn.outline {
    border: 2px solid var(--secondary);
    background:  transparent;
    color:  var(--secondary);
}

.wp-block-button__link:hover, .btn:hover, div.wpforms-container-full .wpforms-form button[type=submit]:hover, button:hover, input[type=submit]:hover {
	opacity:  0.8;
	background-color: var(--secondary);
	border:  none;
}

.btn.primary:hover {
	background-color:  var(--primary);
}

.top-bar {
	background-color: var(--bg-blue);
	color:  var(--primary);
	font-family:  var(--heading-font);
	font-size:  12px;
	font-weight:  600;
	line-height:  34px;
}

.top-bar .link a {
	text-decoration:  none;
	color:  var(--primary);
	margin-right:  20px;
}

.top-bar .login {
	text-align:  right;
}

.top-bar .login a.btn {
	font-size:  12px;
}

.top-grid {
	display:  grid;
	grid-template-columns:  3fr 1fr;
}

.header-grid {
	display:  grid;
	grid-template-columns:  200px 1fr;
	gap:  20px;
	padding:  20px 0;
}

header {
	background-color:  #FFFFFF;
}

header .logo {
	text-align:  center;
}

header .logo img {
	display:  inline-block;
	width:  350px;
	height:  auto;
}

.main-nav {
	position:  relative;
}

.main-nav > div {
	position:  absolute;
	right:  0px;
	bottom:  0px;
}

.main-nav ul {
	list-style: none; 
	margin: 0; 
	padding: 0; 
	display: inline-block; 
}

.main-nav ul li {
	display:  inline-block;
	position:  relative;
}

.main-nav ul li a {
	display:  block;
	line-height:  35px;
	text-decoration:  none;
	color:  var(--primary);
	font-family: var(--heading-font);
	font-weight:  500;
	font-size:  16px;
}

.main-nav ul > li > a {
	padding-left:  20px;
}

.main-nav ul > li:hover > a {
	color:  var(--blue);
}

.main-nav ul > li > ul {
	position:  absolute;
	left: 10px;
	background: var(--blue);
	flex-wrap: wrap; 
	z-index: 2500;
	display: none;
	padding:  10px;
	text-align:  left;
	max-width:  300px;
	min-width:  250px;
}

.main-nav ul > li > ul:before {
	content:  '';
	display:  block;
	position:  absolute;
	top:  -10px;
	left:  10px;
	z-index: 2400;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent var(--blue) transparent;
}

.main-nav ul > li > ul > li { 
	display:  block; 
} 

.main-nav ul > li > ul > li > a {
	/*white-space:  nowrap;*/
	color: #FFFFFF;
	padding:  10px 0;
	line-height:  18px;
	font-weight:  500;
}

.main-nav ul > li > ul > li > a:hover {
	color:  var(--bg-blue);
}

div.wpforms-container-full .wpforms-form .wpforms-field-label {
	font-family: var(--heading-font);
	font-weight:  500;
}

header .nav-btn {
	display:  none;
}

header .nav-btn span {
    width: 35px;
    height: 2px;
    background-color: var(--primary);
    margin: 6px 0;
    transition: 0.4s;
    display: block;
}

header .nav-btn.active .bar1 {
    -webkit-transform: rotate(-45deg) translate(-5px, 10px);
    transform: rotate(-45deg) translate(-6px, 6px);
}

header .nav-btn.active .bar2 {
    opacity: 0;
}

header .nav-btn.active .bar3 {
    -webkit-transform: rotate(45deg) translate(-5px, -10px);
    transform: rotate(45deg) translate(-5px, -5px);
}

.header-image {
	width:  100%;
	height:  50vh;
	position: relative;
}

.header-image img {
	display:  block;
	width:  100%;
	height:  100%;
	object-fit: cover;
	object-position:  center center;
}

.header-image .overlay-title {
	/*background:  linear-gradient  ( to right, rgba(228,119,65,0.8) 0%, rgba(228,119,65,0.8) 75%, transparent 100% );*/
	background: linear-gradient(to right, 
      	rgba(228,119,65,0.8)    75%, 
      	transparent 75%,
      	transparent 100%
  	);
	position: absolute;
	left:  0px;
	bottom:  0px;
	width:  100%;
}

.header-image .overlay-title h0 {
	color:  #FFFFFF;
	font-size: 60px;
	max-width:  70%;
}

.header-video {
	height:  70vh;
	width:  100%;
	position:  relative;
	overflow: hidden;
}

.header-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: -1;
}

.footer-bg {
	background-color:  var(--bg-blue);
	padding:  70px 0;
}

.footer-bg a {
	color:  var(--body-color);
}

.quick-links ul {
	margin:  0;
	padding:  0;
	list-style-type:  none;
}

.quick-links ul a {
	text-decoration:  none;
	color:  var(--body-color);
}

.wp-block-cover.quote-block .wp-block-group.has-background {
	background-color: rgba(228,119,65,0.8)!important;
	padding:  40px;    
	position: absolute;
    left: 0px;
    bottom: 0px;
    width: 50%;
}

.wp-block-cover.quote-block .wp-block-group.has-background p {
	font-family: var(--heading-font);
	font-weight:  500;
	font-size:  16px;
}

.wp-block-columns {
	margin-bottom:  0px;
}

.padded-text {
	max-width:  800px;
	margin:  0 auto;
}

.padded-text-2 {
	max-width:  1000px;
	margin:  0 auto;
}

.wpforms-form input, .wp-forms textarea, .wpforms-form select, .wpforms-form textarea.wpforms-field-medium {
	border:  none!important;
}

.team-block {

}

.team-categories {
	list-style-type:  none;
	padding:  0;
	margin:  0;
	text-align:  center;
	width:  100%;
	margin-bottom:  40px;
}

.team-categories li {
	display:  inline-block;
}

.team-categories a {
	text-decoration:  none;
	display:  block;
	line-height:  40px;
	padding:  0 5px;
	margin:  0 15px;
	font-size:  18px;
	font-family: var(--heading-font);
	font-weight:  500;
	color: var(--blue);
	border-bottom:  2px solid transparent;
}

.team-categories .selected a {
	color:  var(--primary);
	border-bottom:  2px solid var(--primary);
}

.team-members {
	display:  grid;
	grid-template-columns:  1fr 1fr 1fr;
	gap:  20px;
	position:  relative;
}

.member {
	display:  none;

}

.member.fadded {
	opacity:  0.6;
	transition:  opacity 0.3s ease-in-out;
}

.member.fadded:hover {
	opacity: 1;
}

.member .image img {
	max-width:  100%;
	height: auto;
	display:  block;
	cursor:  pointer;
}

.member .content {
	background-color:  var(--blue);
	color:  #FFFFFF;
	padding:  20px;
	position:  relative;
}

.member .content h4 {
	color:  #FFFFFF;
	margin-bottom:  5px;
}

.member .content .text {
	padding:  20px 0;
}

.member .content .social {
	color:  #FFFFFF;
	font-size:  30px;
}

.member .content .social a {
	color:  #FFFFFF;
}

.member .content .close {
	color:  #FFFFFF;
	font-size:  30px;
	position:  absolute;
	right:  20px;
	top:  10px;
	cursor:  pointer;
}

.member .content .hide {
	display:  none;
}

.member.open {
	grid-column: 1 / 4;
	display:  grid!important;
	grid-template-columns:  1fr 2fr;
	gap: 0px;
}

.member.open .content .hide {
	/*display:  block;*/
}

.member-panel .member {
	margin-bottom:  20px;
}

.signposts .wp-block-column {
	position:  relative;
	padding-bottom:  55px;
}

.signposts .wp-block-column .wp-block-buttons {
	position:  absolute;
	bottom:  0px;
}

.slider-block {
	position: relative;
	padding:  40px 80px;
}

.slider-block .cycle-prev, .slider-block .cycle-next {
	position:  absolute;
	top:  -40px;
	left:  -80px;
	width:  80px;
	justify-content:  center;
	bottom:  -40px;
	color:  var(--secondary);
	cursor:  pointer;
	z-index:  500;
	font-size:  40px;
	display:  flex;
	align-items:  center;
}

.slider-block .cycle-next {
	left:  auto;
	right:  -80px;
}

.slider-block .cycle-slideshow {
	width:  100%;
}

.slider-content {
	width:  100%;
	min-height:  100%;
}

.slider-content .inner {
	display:  flex;
	align-items:  center;
	height:  100%;
	width:  100%;
}

.slider-content .inner > div {
	width:  100%;
}

.slider-content h4 {
	color:  var(--blue);
	font-size:  16px;
}

div.wpforms-container-full .wpforms-form input.wpforms-field-medium, div.wpforms-container-full .wpforms-form select.wpforms-field-medium, div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-medium {
	max-width:  100%!important;
}

div.wpforms-container-full .wpforms-form input[type=date], div.wpforms-container-full .wpforms-form input[type=datetime], div.wpforms-container-full .wpforms-form input[type=datetime-local], div.wpforms-container-full .wpforms-form input[type=email], div.wpforms-container-full .wpforms-form input[type=month], div.wpforms-container-full .wpforms-form input[type=number], div.wpforms-container-full .wpforms-form input[type=password], div.wpforms-container-full .wpforms-form input[type=range], div.wpforms-container-full .wpforms-form input[type=search], div.wpforms-container-full .wpforms-form input[type=tel], div.wpforms-container-full .wpforms-form input[type=text], div.wpforms-container-full .wpforms-form input[type=time], div.wpforms-container-full .wpforms-form input[type=url], div.wpforms-container-full .wpforms-form input[type=week], div.wpforms-container-full .wpforms-form select, div.wpforms-container-full .wpforms-form textarea {
	font-size:  14px;
	font-weight:  normal;
}

.is-resized img {
	width:  200px;
}


.footer-grid {
	display:  grid;
	gap:  20px;
	grid-template-columns:  1fr 1fr;
}

.footer-logos {
	text-align:  center;
	margin-top:  35px;
}

.footer-logos p {
	margin:  0;
}

.footer-logos small {
	font-family:  var(--heading-font);
	font-weight:  500;
	font-size:  10px;
	padding-top:  35px;
	display:  block;
}

.footer-logos small a {
	text-decoration:  none;
	color:  var(--body-color);
}

@media all and (min-width: 980px) {

	.mobile {
		display: none;
	}
}


@media all and (max-width: 980px) and (min-width: 672px) {
	.full {
		display: none;
	}
	.mobile {
		display: none;
	}

	.main-nav ul { 
		flex-wrap: wrap; 
	}

	.main-nav ul li { 
		flex: 1 1 50%; 
	} 

	.header-video {
		height:  35vh;
	}

}

@media all and (max-width: 672px) {

	body {
		font-size:  18px;
	}

	.full, .no-mobile {
		display: none;
	}
	.mobile {
		display: block;
	}

	header nav #menu-header-nav {
		display:  none;
	}

	header .nav-btn {
		display:  inline-block;
	}

	.main-nav ul { 
		flex-wrap: wrap; 
		padding:  10px;
	}

	.main-nav ul li { 
		flex: 1 1 100%; 
	} 

	.main-nav ul li.menu-item-has-children > a:after {
		content:  '\f054';
		font-family: "Font Awesome 6 Pro";
    	font-weight: 900;
		float:  right;
	}

	.main-nav {
		text-align:  right;
	}

	.main-nav > div {
		bottom:  auto;
		top:  90px;
		background-color:  var(--bg-blue);
		z-index:  3000;
		right:  -20px;
		width:  100vw;
	}

	.main-nav > div > ul {
		padding:  20px;
	}

	.main-nav ul li {
		display:  block;
	}

	.main-nav ul > li > a {
		padding:  0;
		font-size:  20px;
		text-align:  left;
	}

	.main-nav ul li.menu-item-has-children.open > a:after {
		content: '\f078';
	}

	.main-nav ul > li > ul {
	    position: relative;
	    left: auto;
	    transform: none;
	    display: none;
	    padding: 10px;
	    text-align: center;
	}

	.main-nav ul > li > ul:before {
		display:  none;
	}

	.main-nav ul > li > ul {
		margin:  0;
		max-width:  100%;
		box-sizing:  border-box;
	}

	.main-nav ul > li > ul a {
		font-size:  16px;
	}

	.top-grid {
		display:  block;
		position:  relative;
		padding-top:  35px;
	}

	.top-grid .link span {
		display:  none;
	}

	.top-grid .link .email-link {
		margin-right: 0;
		float:  right;
	}

	.top-bar .login {
		text-align:  center;
		position:  absolute;
		top:  0px;
		left:  -20px;
		right:  -20px;
	}

	.top-bar .login .btn {
		width:  100%;
		box-sizing:  border-box;
	}

	header .logo img {
		width:  250px;
	}

	.header-video {
		height:  30vh;
	}	

	.header-image {
		height:  30vh;
	}

	h1 {
		font-size: 30px;
		line-height: 40px;
	}

	h2 {
		font-size:  20px;
	}

	.wp-block-spacer {
		height:  40px!important;
	}

	.team-members {
		grid-template-columns: 1fr;
	}

	.member.open {
		display:  block!important;
	}

	.padded-text {
		padding:  0 20px;
	}
	
	form table {
		margin-bottom:  40px;
	}

	form table input {
		max-width:  190px;
	}

	.footer-grid {
		display:  block;
	}
	
}
@media all and (max-width: 380px) {

	
}