/*
THEME NAME: Bleu Bite 2026
THEME URI: https://deliciousdesign.com/
VERSION: 3.5
AUTHOR: Delicious Design
AUTHOR URI:
*/

/* ------------------------------------------------------------------ RESET --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;tab-size:4;}
body{min-height:100vh;line-height:1;}
h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,dt,dd,li,figure,figcaption,address,details,summary{margin:0;padding:0;font-size:100%;font-weight:inherit;font-style:inherit;font-family:inherit;overflow-wrap:break-word;}
ul,ol{list-style:none;}
blockquote,q{quotes:none;}
blockquote::before,blockquote::after,q::before,q::after{content:"";}
a{color:inherit;text-decoration:none;}
a:focus-visible{outline:2px solid currentColor;outline-offset:2px;}
img,video,svg,canvas,audio,iframe,embed,object{display:block;max-width:100%;}
img,video{height:auto;}
table{border-collapse:collapse;border-spacing:0;}
caption,th,td{text-align:left;font-weight:normal;vertical-align:middle;}
input,button,textarea,select{font:inherit;appearance:none;-webkit-appearance:none;border:0;background:none;color:inherit;}
button{cursor:pointer;}
textarea{resize:vertical;}
:focus-visible{outline:2px solid currentColor;outline-offset:2px;}
:focus:not(:focus-visible){outline:none;}
[hidden]{display:none !important;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;}html{scroll-behavior:auto;}}


/* ------------------------------------------------------------------------ GLOBALS --- */
:root {
	--body-color: #384659;
	--main-bg-color: #ffffff;

	--bbc-blue-dark: #384659;
	--bbc-blue-light: #cfe1e4;
	--bbc-cyan: #49afd2;
	--headline-color: #20497b;
	--type-color-dark: #323030;
	--type-color-light: #ffffff;

	--link-color: #20497b;
	--link-color-hover: #49afd2;
	--link-color-bright: #61d7ff;

	--main-radius: 2px;
	--button-radius: 3px;
	}
.red { color: red; }


/* --------------------------------------------------------------------------- BODY --- */
html {
	font-size: 20px;
	text-align: left;
	}
body {
	background: var(--body-color);
	}
body,
.alga {
	font-family: "alga", serif;
	font-weight: 400; /* 400 700 */
	font-style: normal; /* normal italic */
	color: var(--type-color-dark);
	}
input[type=text],
input[type=email],
input[type=tel],
textarea,
a.button,
div.button,
input[type=submit],
input[type=button], 
.roboto {
	font-family: "roboto", sans-serif;
	font-weight: 400; /* 400 700 */
	font-style: normal;
	}


/* ------------------------------------------------------------------------- COLORS --- */
a {
	transition: all .3s;
	cursor: pointer;
	}
a:link,
a:visited {
	color: var(--link-color);
	}
a:hover,
a:active {
	color: var(--link-color-hover);
	}
div.entry_content a {
	font-weight: 700;
	}
.headlines, h1, h2, h3, h4, h5, h6 {
	color: var(--headline-color);
	}
blockquote {
	background-color: DimGray;
	color: White;
	}
a.button,
div.button,
input[type=submit],
input[type=button] {
	display: inline-block;
	background-color: var(--main-bg-color);
	color: var(--bbc-blue-dark);
	box-shadow: 0px 0px 3px rgba(0,0,0,0.4);
	border-radius: var(--button-radius);
	cursor: pointer;
	text-align: center;
	text-transform:uppercase;
	padding: 8px 15px;
	font-size: 0.8rem;
	line-height: 1;
	letter-spacing: .5px;
	transition: all .3s;
	font-weight: 400 !important; /* 400 700 */
	}
a.button:hover,
div.button:hover,
input[type=submit]:hover,
input[type=button]:hover {
	background-color: var(--link-color-hover);
	color: var(--type-color-light);
	}
a.button.dk_blue {
	background: var(--bbc-blue-dark);
	color: var(--type-color-light);
	}
a.button.dk_blue:hover {
	background: var(--bbc-cyan);
	color: var(--type-color-light);
	}
.button span {
	padding: 0 1px;
	}

/* --------------------------------------------------------------------- TYPOGRAPHY --- */

div#blog-description {
	margin: 0 0 0 2px;
	font-size: 0.9rem;
	}
h1 {
	font-size: 2.3rem;
	line-height: 1.1em;
	margin: 0 0 1.0rem 0;
	}
h1#blog_title {
	display: block;
	position: fixed;
	top: -1000px;
	left: 0;
	}
h2 {
	font-size: 1.9rem;
	line-height: 1.1em;
	margin: 0 0 12px 0;
	}
div.staff_grid h2 {
	font-size: 1.7rem;
	line-height: 1;
	margin: 0 0 6px 0;
	}
h2.menu_section_title {
	font-size: 1.7rem;
	line-height: 1.1em;
	text-align:center;
	}
.header_entry_content h2 {
	font-style: italic;
	margin: 0 0 20px 0;
	}
h3 {
	font-size: 1.42rem;
	line-height: 1.1em;
	margin: 0 0 1.0rem 0;
	}
div#employment_form h3 {
	font-family: "alga", serif;
	font-weight: 700; /* 300 500 700 */
	font-size:1.1rem;
	line-height:1em;
	margin: 10px 0 10px 0;
	}
h4 {
	font-size: 0.95rem;
	line-height: 1.1em;
	text-transform: uppercase;
	margin: 0 0 1.0rem 0;
	}
div.staff_grid h4,
h4.bio_title {
	font-size: 0.86rem;
	line-height: 1.1em;
	text-transform: uppercase;
	margin: 0 0 12px 0;
	color: var(--type-color-dark);
	}
div#page_header_widget h1,
div#page_header_widget h2, 
div#page_header_widget h3,
div#page_header_widget h4 {
	color:var(--bbc-cyan);
	}

p {
	font-size: 1.0rem;
	line-height: 1.6em;
	margin: 0 0 12px 0;
	}
.header_entry_content p {
	font-size: 1.15rem;
	line-height: 1.6em;
	margin: 0 0 12px 0;
	}
.center_text {
	text-align:center;
	}
ul li,
ol li {
	font-size: 1.0rem;
	line-height: 1.4em;
	margin-bottom: 4px;
	}
ul {
	margin-left: 30px;
	margin-bottom: 0.85rem;
	}
ol {
	margin-left: 33px;
	margin-bottom: 0.85rem;
	}
blockquote {
	font-size: 1.28rem;
	line-height: 1.4em;
	float: right;
	width: 200px;
	opacity: 0.5;
	padding: 12px 8px 2px 13px;
	margin: 0 0 10px 14px;
	}
.italic,
em,
i {
	font-style: italic;
	}
.semibold_italic {
	font-family: "alga", serif;
	font-weight: 600;
	font-style: italic;
	}
.bold,
strong,
b {
	font-weight: 700;
	}


/* ---------------------------------------------------------------------- STRUCTURE --- */
div#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 105px;
	background-color: var(--type-color-light);
	border-top: 5px solid var(--bbc-blue-dark);
	box-shadow: 0px 0px 8px rgba(0,0,0,0.1);
	z-index: 10;
	transition: margin-top 1s;
	}
div#header.scrolled {
	margin-top:-100px;
	}
div#wrapper {
	width: 100%;
	padding: 53px 0 0 0;
	position: relative;
/*	background-color: var(--main-bg-color); */
	}
div.container {
	width: 100%;
	background-color: var(--main-bg-color);
	margin: 0 auto;
	z-index:2;
	}
div.content {
	box-sizing: border-box;
	width:100%;
	padding-top:30px;
	padding-bottom:40px;
	margin: 0 auto;
	transition: width .5s;
	}
div.min_float {
	position:relative;
	box-sizing: border-box;
	width:100%;
	max-width: 1000px;
	margin:0 auto;
	transition: padding 1s;
	}
div.med_float {
	position:relative;
	box-sizing: border-box;
	width:100%;
	max-width: 1200px;
	margin:0 auto;
	transition: padding 1s;
	}
div.max_float {
	position:relative;
	box-sizing: border-box;
	width:100%;
	max-width: 1600px;
	margin:0 auto;
	transition: padding 1s;
	}
div.ultra_float {
	box-sizing: border-box;
	position:relative;
	margin:0 auto;
	width:calc(100% - 160px);
	transition: padding 1s;
	}
div.nice_gutter {
	padding-right: 60px;
	padding-left: 60px;
	}
div.nice_gutter_40 {
	padding-right: 40px;
	padding-left: 40px;
	}
div.header_entry_content {
	max-width:920px;
	padding: 0px 0;
	padding: 35px 0px 20px 0px;
	text-align:center;
	}
div.header_entry_content.standard_page {
	text-align:left;
	}

div.entry_content {
	padding: 30px 0;
	}
div#page_header_widget {
	color:var(--type-color-light);
	background:var(--bbc-blue-dark);
	}
div#page_header_widget a {
	color: var(--link-color-bright);
	border-bottom: 1px dotted var(--link-color-bright);
	}
div#page_header_widget a:hover {
	color: var(--bbc-blue-light);
	}

div.service_widget {
	position:relative;
	background: linear-gradient(to right, var(--bbc-blue-light), var(--main-bg-color));
	margin-top:0;
	padding: 30px 0;
    opacity: 0;
    transition: opacity 1s ease;
	}
.service_widget.visible {
    opacity: 1;
	}
div#service_widget_list div.service_widget:first-of-type {
	margin-top:-27px;
	padding: 60px 0 30px 0;
	}
div#service_widget_list.fix_padding div.service_widget:first-of-type {
	margin-top:0px;
	padding: 30px 0 30px 0;
	}
div#service_widget_list div.service_widget:nth-of-type(even) {
	position:relative;
	background: linear-gradient(to left, var(--bbc-blue-light), var(--main-bg-color));
	}
div#service_widget_list div.service_widget:nth-of-type(even) div.child_float {
	flex-direction: row-reverse;
	}
div.service_widget div.thumbnail_content {
	aspect-ratio: 5/3.6;
	background: var(--bbc-blue-dark);
	}
div.service_widget div.staff_grid div.child_float {
	width:29.3332%;
	margin: 2% 2%;
	background: var(--type-color-light);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
	}
div.service_widget div.staff_grid div.thumbnail_content {
	aspect-ratio: 1/1;
	background: var(--bbc-blue-dark);
	width:100%;
	}
div.service_widget div.thumbnail_content a,
div.service_widget div.staff_grid div.thumbnail_content div {
	position: relative;
	display: flex;
    align-items: center;
    justify-content: center;
	width:100%;
	height:100%;
	overflow:hidden;
	}
div.service_widget div.thumbnail_content a img,
div.service_widget div.staff_grid div.thumbnail_content div img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
    position: absolute;
    top: 0;
    left: 0;
    transition: filter 1.0s ease, opacity 1.0s ease;
	}
div.service_widget div.thumbnail_content a:hover img {
	opacity: 0.25;
    filter: saturate(0.3);
	}
div.service_widget div.thumbnail_content a div.button {
	border: 1px solid var(--bbc-cyan);
	background:transparent;
	color:#fff;
    position: relative; /* sits above the absolute img */
    z-index: 1;
    opacity: 0;
	}
div.service_widget div.thumbnail_content a:hover div.button {
    opacity: 1;
	}
div.service_widget div.thumbnail_content a div.button:hover {
    background: var(--bbc-cyan);
	}
div.service_widget div.entry_content {
	
	}
div.service_widget h2 {
	position: relative;
	display:inline-block;
	}

.brush_stroke path {
	fill: var(--bbc-blue-light);
	}
.brush_stroke {
	position:absolute;
	top:0px;
	left:0px;
	z-index: -1;
	transform-origin: left center;
	transform: scaleX(0);
	opacity:0;
	transition: transform 0.1s, opacity .35s ease;
	}
.brush_stroke.active {
	opacity:0.8;
    transform: scaleX(1);
	}
div.collapsable_bio {
	position: relative;
	max-height:100px;
	margin-bottom: 10px;
	overflow:hidden;
	transition: max-height 2s ease;
	}
div.collapsable_bio.open {
	max-height:1800px;
	margin-bottom: 2px;
	}
div.bio_fader,
.pageid-14 div.entry_content div.bio_fader {
	height:100%;
	max-height:100px;
	width:100%;
	position:absolute;
	left:0;
	bottom:0;
	background: linear-gradient(rgba(255,255,255,0.0), rgba(255,255,255,0.7), rgba(255,255,255,1.0));
	transition: max-height 1s ease;
	}
.pageid-14 div.entry_content div.bio_fader {
	max-height:250px;
	}

.pageid-14 div.entry_content.open div.bio_fader,
div.collapsable_bio.open div.bio_fader {
	max-height:1px;
	}
.pageid-14 div.entry_content {
	position: relative;
	overflow: hidden;
	max-height: 799px;
	transition: max-height 1s ease;
	}
.pageid-14 div.entry_content.open {
	max-height: 2000px;
	}



div.service_widget div.inset_content {
	background: linear-gradient(to right, var(--main-bg-color), #fdfdfe);
	padding: 34px 40px 40px 40px;
	margin-left:-40px;
	z-index:1;
	}
div#service_widget_list div.service_widget:nth-of-type(even) div.child_float div.inset_content {
	background: linear-gradient(to left, var(--main-bg-color), #fdfdfe);
	padding: 34px 40px 40px 40px;
	margin-left: 0px;
	margin-right:-40px;
	text-align:right;
	z-index:1;
	}

div.service_widget div.staff_grid div.inset_content {
	margin:0;
	width:100%;
	padding: 14px 18px 18px 18px;
	}
div.service_widget div.staff_grid div.entry_content {
	padding: 0px 0;
	width:100%;
	}

div.service_widget div.inset_content p {
	margin: 0 0 23px 0;
	}
div.service_widget div.staff_grid div.inset_content p {
	margin: 0 0 10px 0;
	font-size: 0.93rem;
	line-height: 1.3em;
	}

div.service_widget div.sidebar {
	width:48%;
	}
div.service_widget div.sidebar:first-of-type {
	margin-bottom:40px;
	}

div#cta_widget {
	background: var(--bbc-blue-dark);
	color:var(--bbc-blue-light); 
	text-align:center;
	padding-top: 58px;
	padding-bottom: 42px;
	}
div#cta_widget h3,
div#cta_widget h3 a {
	color:var(--bbc-blue-light); 
	}
div#cta_widget h3 a:hover {
	color:var(--bbc-cyan); 
	}

div#specialization_widget {
	position: relative;
	background: url(images/Bend-Catering.jpg) center center / cover no-repeat, var(--main-bg-color);
	padding-top:50px;
	}
div#specialization_widget h2,
div#google_reviews h3,
h2.team_header {
	text-align:center; 
	color:#63605f;
	font-size: 1.6rem;
	line-height: 1.1em;
	margin: 15px 0 40px 0;
	}
div#google_reviews h3 {
	color:var(--headline-color);
	}
div#instagram_widget h3 {
	text-align:left; 
	font-size: 1.15rem;
	line-height: 1.1em;
	}
div#stars {
	color:var(--bbc-cyan);
	text-align:center;
	}
div#specialization_widget div#specialization_group {
	z-index:1; 
	padding-bottom:0px;
	}
div#specialization_widget div#specialization_group div { 
	background: var(--main-bg-color);
	padding: 26px;
	width:31%;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
	}
div#specialization_widget div#specialization_group div img { 
	width:50px;
	height:auto;
	margin: 6px 0 20px 0;
	}
div#specialization_widget div#specialization_group div h3 { 
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0 0 12px 0;
	}
div#specialization_footer {
	background:var(--bbc-blue-dark); 
	height: 100px; 
	position:absolute; 
	bottom: 0px; 
	left: 0px; 
	width:100%;
	}
div#instagram_widget {
	background: var(--main-bg-color);
	padding-top: 60px;
	padding-bottom: 40px; 
	}
div#google_reviews {
	background: var(--bbc-blue-light);
	padding-top: 60px;
	padding-bottom: 40px; 
	}
div#menu_grid_widget {
	margin-top:-27px;
	background: url(images/Bend-Catering.jpg) center center / cover no-repeat, var(--main-bg-color);
	align-content: flex-start;
	padding-top:30px;
	}

a.single_menu {
	display: block;
	width:calc(33.3332% - 40px);
	background:var(--bbc-blue-dark);
	margin: 20px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
	aspect-ratio: 5/4;
	overflow:hidden;
	position:relative;
	border-radius:var(--button-radius);
    opacity: 0;
    transition: opacity 2s ease;
	}
a.single_menu.visible {
	opacity: 1;
	}
a.single_menu:hover {
	box-shadow: 0px 0px 20px rgba(255,255,255,1.0);
	}
a.single_menu img {
	width:100%;
	height:100%;
	object-fit: cover;
	opacity: 0.8;
    filter: saturate(0.9);
    transition: filter 1.0s ease, opacity 1.0s ease;
	}
a.single_menu:hover img {
	opacity: 0.25;
    filter: saturate(0.3);
	}
a.single_menu div.button {
    border: 1px solid var(--bbc-cyan);
    background: var(--bbc-blue-dark);
    color: var(--type-color-light);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    white-space: nowrap;
	}
a.single_menu:hover div.button {
    background: var(--bbc-cyan);
    color: var(--type-color-light);
	}
a.single_menu div.button:hover {
	}

div.menu_section {
	text-align:center;
	column-count: 2;
	column-gap: 60px;
	margin-top:30px;
	margin-bottom:70px;
	padding: 0 100px;
	}
div.menu_section p {
	break-inside: avoid;
	margin-bottom:30px;
	}

div.single_award {	
	width:calc(20% - 20px);
	aspect-ratio: 1/1;
	box-sizing:border-box;
	margin:10px;
	background:var(--bbc-blue-light);
	border-radius:7px;
	transition:background .6s ease;
	}
div.single_award:hover {	
	background:var(--bbc-cyan);
	}
div.single_award a {	
	display: block;
	width:100%;
	height:100%;
	overflow:hidden;
	padding: 15px;
	}
div.single_award a img {	
	width:100%;
	height:100%;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
	filter: grayscale(100%);
	}
div#payment-container {
	width:100% !important;
	max-width:100% !important;
	}

div.frame_cell {
	width:100%;
	aspect-ratio: 16/9;
	margin-bottom: 40px;
		box-shadow: 0 0 10px rgba(0,0,0,0.5);

	}
div.frame_cell iframe {
	width:100%;
	height:100%;
	}
	

/* --------------------------------------------------------------------------- FAQs --- */

div.one_faq {
	box-sizing: border-box;	
	margin: 4px 0 10px 0;
	box-shadow: 0px 0px 10px rgba(0255,255,255,0.2);
	}
div.faq_title {
	box-sizing: border-box;	
	padding: 12px 10px 12px 14px;
	background: var(--type-color-light);
	border-radius: var(--main-radius);
	transition: background .3s;
	cursor:pointer;
	}
div.faq_title h3 {
	font-family: "alga", serif;
	font-weight: 600;
	font-style: italic;
	box-sizing: border-box;	
	font-size: 1.0rem;
	line-height: 1;
	letter-spacing: .5px;
	color: var(--bbc-blue-dark);
	margin:0;
	margin: 0 0 0 20px;
	transition: color .3s;
	}
div.faq_title h3 i {
	display:inline-block;
	width: 20px;
	margin-left:-26px;
	}

div.faq_title:hover {
    background: var(--bbc-cyan);
	}
div.faq_title:hover h3 {
	color: var(--type-color-light);
	}
div.one_faq div.faq_body {
	box-sizing: border-box;	
	padding: 2px 24px 24px 24px;
	max-height: 120rem;
	overflow:hidden;
	background: var(--type-color-light);
	border-radius: 0 0 var(--main-radius) var(--main-radius);
	transition: padding .1s, max-height 2s;
	}
div.one_faq.closed div.faq_body {
	box-sizing: border-box;	
	padding: 0px 24px 0px 24px;
	max-height: 0px;
	transition: padding .1s ease, max-height 0.3s ease;
	}
div.faq_body p {
	margin-top:4px;
	margin-bottom:4px;
	}
div.faq_body img {
	box-sizing:border-box;
	display:block;
	width:100%;
	height:auto;
	margin: 20px 0 10px 0;
	box-shadow: 0px 0px 8px rgba(0,0,0,0.2);
	}
div.faq_body ul {
	margin-top:4px;
	margin-bottom:4px;
	margin-left:0px;
	}
div.faq_body ul li::before {
	content: '•';
	color: var(--bbc-cyan);
	font-size: 1.2em;
	margin-right: 0.4em;
	flex-shrink: 0; /* keeps bullet from squishing */
	}

div.faq_body ul li {
    list-style: none;
    display: flex;
    align-items: flex-start;
	}

ul.package_list {
	list-style: none;
	padding: 0;
	margin-left:0px;
	margin-top:20px;
	margin-bottom: 35px;
	}
ul.package_list li {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 13px;
	}
ul.package_list li i {
	color: var(--bbc-cyan);
	flex-shrink: 0;
	}
ul.package_list li strong {
	color: var(--headline-color);
	}
ul.package_list p {
	margin-bottom:8px;
	}
ul.package_list p:last-of-type {
	margin-bottom:0px;
	}

/* ---------------------------------------------------------------------- BILLBOARD --- */
#billboard {
	position: absolute;
	top:0px;
	margin-top:103px;
	left:0px;
	width: 100%;
    height: calc(100vw * 7/16); /* matches 16/7 ratio */
	max-height:calc(80vh - 40px);
	overflow: hidden;
	z-index:-1;
	background: var(--bbc-blue-dark);
	}
.home #billboard {
    height: calc(100vw * 9/16); /* matches 16/9 ratio */
	}
#billboard.simple_page {
	aspect-ratio: 16/3;
    height: calc(100vw * 3/16); /* matches 16/3 ratio */
	}

.billboard_slide {
	position: absolute;
	top: 0px;
	left: 0;
	width: 100%;
	height:100%;
	opacity: 0;
	transition: opacity 1s ease-in-out;
	z-index: 0;
	}
.billboard_slide img {
	width:100%;
	height:100%;
	object-fit: cover;
	}
.billboard_slide.active {
	opacity: 1;
	z-index: 1;
	}
#billboard_buffer {
	box-sizing:border-box;
	position: relative;
	background-color: rgba(32, 73, 123, 0.3);
	margin-top:50px;
	width: 100%;
	transition: height .5s ease-in-out;
	}
#billboard_headline {
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    z-index: 5;
    padding: 80px 0 90px 0;
	}
#main_headline,
#sub_headline  {
	box-sizing:border-box;
	color:var(--type-color-light);
	line-height: 1;
	padding: 0 20px 10px 20px;
	text-shadow: 0 0 5px rgba(0,0,0,0.9);
	}
#main_headline.simple_page {
	padding: 10px 20px 0px 20px;
	}

#main_headline h1.entry_title  {
	color:var(--type-color-light);
	line-height: 1;
	font-size: clamp(2.4rem, 7.2vw, 7rem); /* minimum, preferred, maximum */
	font-weight: 700;
	text-shadow: 0 0 8px rgba(0,0,0,0.8);
	}
#sub_headline  {
	font-size: clamp(1.2rem, 2.2vw, 4rem); /* minimum, preferred, maximum */
	text-transform:uppercase;
	font-weight: 400;
	}
div.entry_header_service {
	margin-bottom: 30px;
	}
div.upper_cap {
	box-sizing:border-box;
	height: 27px;
	margin-top: -26px;
	z-index: 1;
	position: relative;
	}
div.upper_cap div {
	box-sizing:border-box;
	width:196px;
	margin:auto;
	padding-left: 19px;
	bottom: -1px;
	position: relative;
	}
div.upper_cap div img {
	width:100%;
	height:auto;
	}
div.lower_cap {
	box-sizing:border-box;
	height: 27px;
	margin-top: -1px;
	z-index: 1;
	position: relative;
	}
div.lower_cap div {
	box-sizing:border-box;
	width:196px;
	margin:auto;
	padding-left: 19px;
	}
div.lower_cap div img {
	width:100%;
	height:auto;
	}


/* --------------------------------------------------------------------------- FLEX --- */
div.flex_container {
	display: flex;
	}
div.flex_wrap {
	flex-wrap: wrap;
	}
div.flex_inverse_order {
	flex-direction: row-reverse;
	}
div.flex_start_top {
	align-items: flex-start;
	}
div.flex_align_v_center {
	align-items: center;
	}
div.flex_align_h_center {
	justify-content: center;
	}
div.flex_space_between {
	justify-content: space-between;
	}
.f_100 { width: 100%; }
.f_80  { width: 80%; }
.f_60  { width: 60%; }
.f_66  { width: 66%; }
.f_50  { width: 50%; }
.f_49  { width: 49%; }
.f_33  { width: 33.332%; }
.f_20  { width: 20%; }


/* --------------------------------------------------------------------- NAVIGATION --- */
a#nav_toggle {
	color: var(--link-color);
	}
a#nav_toggle:hover {
	color: var(--link-color-hover);
	}
a#nav_toggle {
	display: none;
	}
nav#access {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	width:100%;
	height:105px;
	top: 0px;
	margin: 0 auto;
	padding: 0;
	z-index: 5;
	}

nav#access div#menu ul.menu li.menu-item a, 
nav#access div#menu ul.menu li.menu-item ul.sub-menu li.menu-item a {
    display: block;
    padding: 5px 12px 7px 12px;
    margin-bottom: 2px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    background: rgba(255,255,255,0.95);
    color: var(--bbc-blue-dark);
    border-radius: var(--button-radius);
    border: 1px solid #fff;
    transition: color .5s, background-color .5s;
	}
nav#access div#menu ul.menu li.menu-item a:hover, 
nav#access div#menu ul.menu li.menu-item ul.sub-menu li.menu-item a:hover {
    background: var(--link-color-hover);
    color: var(--type-color-light);
    cursor: pointer;
	}
nav#access div#menu ul.menu li.menu-item.current-menu-item a,
nav#access div#menu ul.menu li.menu-item ul.sub-menu li.menu-item.current-menu-item a {
    background: var(--link-color-hover);
    color: var(--type-color-light);
    cursor:default;
	}


nav#access div#menu ul li.current-page-parent a,
nav#access div#menu ul li ul.sub-menu li a {
	border:1px solid var(--bbc-cyan);
	}

nav#access div#menu {
	width:100%;
	margin-top:-6px;
	}
nav#access div#menu ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0rem;
	list-style: none;
	margin: 0;
	padding: 0;
	}
nav#access div#menu ul ul {
	list-style: none;
	margin: 0;
	padding: 0;
	}
nav#access div#menu li {
	position: relative;
	float: left;
	margin: 0;
	}
nav#access div#menu li.logo_navigation a {
	width:250px;
	background:transparent!important;
	border:none!important;
	}
nav#access div#menu li.logo_navigation a img {
	width:100%;
	height:auto;
	}
nav#access ul.sub-menu li {
	float: none !important;
	white-space: nowrap;
	}

/* Hidden state */
nav#access div#menu ul li ul.sub-menu {
	position: absolute;
	top: 100%;        /* sit directly below the parent li */
	left: 0;
	opacity: 0;
	visibility: hidden;        /* remove from pointer events when hidden */
	pointer-events: none;
	transition: opacity .5s, visibility .5s;
	display: block;
	z-index: 999;     /* bring above other content */
	}

/* Shown state on hover */
nav#access div#menu ul li:hover ul.sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	top: 100%;        /* stays right below the parent */
	margin-top: 0;
	}




nav#access div#menu li.hidden,
nav#access div#menu li span.main_hidden,
div#footer div#menu li.logo_navigation,
nav#access div#menu li.hidden_children ul.sub-menu,
div#footer div#menu li.hidden_footer_children ul.sub-menu{
	display:none;
	}
div#menu li a i {
	transform: scale(0.75);
	}

div#footer div#menu {
	margin-top:-4px;
	}
div#footer div#menu ul li {
	margin-bottom:0;
	}
div#footer div#menu ul a {
	font-weight: 700;
	font-size: 0.9rem;
	}
div#footer div#menu ul.sub-menu  a {
	font-weight: 400;
	}
div#footer div#menu ul.sub-menu {
	margin-left: 8px;
	margin-bottom: 0px;
	}
div#footer div#menu > ul > li.current_page_item > a,
div#footer div#menu > ul > li.current_page_item > a:hover,
div#footer div#menu ul.sub-menu li.current_page_item a,
div#footer div#menu ul.sub-menu li.current_page_item a:hover {
	color: var(--link-color-hover);
	cursor: default;
	}


/* ------------------------------------------------------------------------- FOOTER --- */
div#footer {
	width: 100%;
	background-color: var(--bbc-blue-dark);
	color: var(--type-color-light);
	border-top: 3px solid var(--bbc-cyan);
	clear: both;
	padding: 40px 0 200px 0;
	}
div#footer div.max_float {
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
	}
div.footer_left {
	width: 32%;
	text-align: left;
	}
div.footer_middle {
	width: 32%;
	text-align: left;
	}
div.footer_right {
	width: 33%;
	height:100%;
	text-align: left;
	background: linear-gradient(to bottom, rgba(41,49,61,1), rgba(41,49,61,0.0));
	}
.ftr_phone {
	font-size: 1.3rem;
	line-height: 1;
	margin: 0 0 20px 0;
	}
p.address {
	font-size: 0.9rem;
	line-height: 1.2em;
	margin: 0 0 8px 0;
	}
div#footer p.address a {
	color: #cfe1e4;
	}
div#footer p.address a:hover {
	color: var(--link-color-hover);
	}
p.copyright {
	font-size: 0.55rem;
	line-height: 1.2em;
	margin: 0 0 10px 0;
	opacity:0.8;
	}
div#footer a {
	color: var(--type-color-light);
	}
div#footer a:hover {
	color: var(--link-color-hover);
	}
div.social {
	display:flex;
	font-size: 1.35rem;
	line-height: 1;
	margin: 0 0 35px 0;
	}
div.social a {
	display:block;
	margin: 0 12px 0 1px;
	}
div.social a i {
	width:auto;
	}

.footer_right .ctct-form-embed.form_0 .ctct-form-defaults {
	background-color: rgba(0,0,0,0)!important;
	}
.footer_right div.ctct-form-embed div.ctct-form-defaults p.ctct-form-text {
	font-size: 1.1rem;
	line-height: 1.1em;
	margin: 0 0 1.0rem 0;
	color: #cfe1e4;
	font-family: "alga", serif;
	font-weight: 700; /* 400 700 */
	font-style: normal; /* normal italic */
	}
.grecaptcha-badge {
	visibility: hidden;
	}

/* ----------------------------------------------------------------- SEARCH RESULTS --- */
.search_result_blox {
	margin: 0 0 20px 0;
	background-color: rgba(194,194,194,0.5);
	}
div#nav_below div {
	width: 50%;
	background-color: rgba(194,194,194,0.5);
	float: left;
	}
div#nav_below div.nav_next {
	text-align: right;
	float: right;
	}


/* ------------------------------------------------------------- IMAGES / ALIGNMENTS --- */
img.alignright,
.alignright {
	float: right;
	margin: 3px 0 5px 14px;
	}
img.alignleft,
.alignleft {
	float: left;
	margin: 3px 14px 5px 0;
	}
img.alignright,
img.alignleft {
	max-width:50%;
	height:auto;
	}


img.aligncenter,
img.alignnone,
.aligncenter,
.alignnone {
	display: block;
	margin: 12px auto 3px;
	text-align: center;
	width: 100%;
	height: auto;
	}
.wp-caption p {
	font-size: 0.9rem;
	line-height: 1.3rem;
	margin: 4px 0 0 0;
	text-transform: uppercase;
	}
div.wp-caption.aligncenter,
div.wp-caption.alignnone {
	width: 100% !important;
	max-width: 100%;
	}


/* -------------------------------------------------------------------------- FORMS --- */
form.wpcf7-form {
	display: block;
	padding: 1rem 0 0.5rem 0;
	}
form.wpcf7-form p {
	margin: 0 0 0.5rem 0;
	}
input[type=text],
input[type=email],
input[type=tel],
textarea {
	width: 100%;
	padding: 10px;
	font-size: 1.0rem;
	line-height: 1.0rem;
	border-radius: var(--main-radius);
	background-color: #fff;
	border: .5px solid rgba(0,0,0,0.5);
	margin: 0 0 10px 0;
	transition: all .3s;
	}
textarea {
	height: 250px;
	}
input[type=radio] {
	height: 20px;
	transition: all .3s;
	}
select {
	width: 100%;
	padding: 8px;
	font-size: 1.0rem;
	line-height: 1.0em !important;
	border-radius: var(--main-radius);
	border: .5px solid rgba(0,0,0,0.5);
	background: url(images/select-pattern.png) #f0f0f0 no-repeat center right;
	transition: all .3s;
	}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
textarea:focus,
select:focus {
	border: .5px solid rgba(0,0,0,1.0);
	}

form.forminator-ui {
	font-family: "roboto", sans-serif;
	font-weight: 400; /* 400 700 */
	font-style: normal;
	}


input[type=checkbox] {
	border: 1px solid rgba(25,23,17,.48);
	background: #fff;
	border-radius: 3px;
	box-sizing: border-box;
	font-size: 1rem;
	width: 1.3em;
	height: 1.3em;
	margin: 0 6px 0 0;
	min-width: 1.3;
	min-height: 1.3em;
	position: relative;
	vertical-align: middle;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	}
input[type=checkbox]:checked {
	background: #000;
	}

input[type=checkbox]:checked::after {
	content: '\f00d'; /* fa-times (×) */
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	color: #fff;
	font-size: 1em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	}

input[type=radio],
div.form-row.accom input[type=radio] {
	border: 1px solid rgba(25,23,17,.48);
	background: #fff;
	border-radius: 50%;
	box-sizing: border-box;
	font-size: 1rem;
	width: 1.0em;
	height: 1.0em;
	margin: 0 6px 0 0;
	min-width: 1.0em;
	min-height: 1.0em;
	position: relative;
	vertical-align: middle;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	}

input[type=radio]:checked,
div.form-row.accom input[type=radio]:checked {
	background: #000;
	}

input[type=radio]:checked::after,
div.form-row.accom input[type=radio]:checked::after {
	content: '\f111'; /* fa-circle */
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	color: #fff;
	font-size: 0.3em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	}
.wpcf7-list-item {
	display: inline-block;
	margin: 0 1em 0 0;
	}


div#employment_form {
	font-family: "roboto", sans-serif;
	font-weight: 400; /* 400 700 */
	font-style: normal;
	}
div#employment_form p {
	font-size:0.85rem;
	}
div#employment_form div.sub_flex {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
div#employment_form .full_width {
	width:100%;
	}
div#employment_form .two_thirds_width {
	width:64%;
	}
div#employment_form .half_width {
	width:49%;
	}
div#employment_form .third_width {
	width:32%;
	}
div.double_rule {
	height:4px;
	border-top: 1px dotted rgba(0,0,0,0.3);
	border-bottom: 1px dotted rgba(0,0,0,0.3);
	margin: 0 0 15px 0;
	}



/* -------------------------------------------------------------------- FORM ERRORS --- */
form div.wpcf7-response-output {
	display: block;
	padding: 0px;
	clear: both;
	}
form.invalid div.wpcf7-response-output {
	margin: 0 0 40px 0;
	padding: 20px;
	font-size: 1.0rem;
	border-radius: 5px;
	border: 1px solid #ebbc00;
	color: #da7726;
	background: #faeebd;
	}
input[type=text].wpcf7-not-valid,
input[type=email].wpcf7-not-valid,
input[type=tel].wpcf7-not-valid,
textarea.wpcf7-not-valid,
select.wpcf7-not-valid {
	background: #faeebd;
	border: 1px solid #ebbc00;
	}
span.wpcf7-not-valid-tip {
	text-align: right;
	color: #da7726;
	display: block;
	line-height: 1.0rem;
	margin-top: -8px;
	}

/* -------------------------------------------------------------------- GPDR BANNER --- */
div#gdpr_banner {
	width:100%;
	height:auto;
	padding: 20px 0;
	background: var(--main-bg-color);
	color: var(--type-color-dark);
	border-top: 4px solid var(--headline-color);
	position:fixed;
	bottom:0px;
	left:0px;
	z-index:90;
	display: none;
	}
div#gdpr_banner div#banner_inset_content {
	display: flex;
	}
div#gdpr_banner div.banner_buttons {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	margin-left:20px; 
	margin-top:0px; 
	flex-grow: 1; 
	}
div#gdpr_banner div.banner_buttons div.button {
	display:block;
	white-space: nowrap;
	margin-bottom: 10px;
	width:100%;
	}
div#gdpr_banner p {
	font-size: 1.0rem;
	}


/* -------------------------------------------------------------------------- CRUFT --- */
.d_hidden {
	display: none;
	}
.fixme {
	color: darkred;
	background: #faeebd;
	}
div#edit {
	background: rgba(0,0,0,0.5);
	color: #fff;
	position: fixed;
	left: 0;
	bottom: 0;
	padding: 10px;
	}
div#edit a {
	cursor: pointer;
	}


/* ------------------------------------------------------------------------------------ */
/* --------------------------------------------------------------------- RESPONSIVE --- */
div#viewport {
	position: fixed;
	z-index: 999;
	right: 0;
	bottom: 0;
	display: flex;
	}
div#viewport div {
	background: #CCC;
	color: #fff;
	padding: 10px;
	opacity: 0.7;
	display: none;
	}
div#viewport div#vp_3600 {
	display: block;
	}

/* ----------------------------------------------------------------------------- < 3600 */
@media (max-width: 3600px) {
div#viewport div { display: none; }
div#viewport div#vp_3600 { display: block; }
}

/* ----------------------------------------------------------------------------- < 2400 */
@media (max-width: 2400px) {
div#viewport div#vp_3600 { display: none; }
div#viewport div#vp_2400 { display: block; opacity: 0.9; }
}

/* ----------------------------------------------------------------------------- < 1600 */
@media (max-width: 1600px) {
div#viewport div#vp_2400 { display: none; }
div#viewport div#vp_1600 { display: block; opacity: 0.9; }
}

/* ----------------------------------------------------------------------------- < 1400 */
@media (max-width: 1400px) {
div#viewport div#vp_1600 { display: none; }
div#viewport div#vp_1400 { display: block; opacity: 0.9; }
}

/* ----------------------------------------------------------------------------- < 1200 */
@media (max-width: 1200px) {
div#viewport div#vp_1400 { display: none; }
div#viewport div#vp_1200 { display: block; opacity: 0.9; }

}

/* ----------------------------------------------------------------------------- < 900 */
@media (max-width: 900px) {
.d_hidden { display: inline; }
.m_hidden { display: none; }
div#viewport div#vp_1200 { display: none; }
div#viewport div#vp_1000 { display: block; opacity: 0.9; }
div.ultra_float {
	width:calc(100% - 80px);
	}
div.nice_gutter,
div.nice_gutter_40 {
	padding-right: 30px;
	padding-left: 30px;
	}
div#header {
	height: 58px;
	}
#billboard,
.home #billboard {
	margin-top: 58px;
	height:auto;
	aspect-ratio: 16/16;
	}
#billboard_buffer {
	margin-top:3px;
	}
#billboard.simple_page {
	aspect-ratio: 16/8;
    height: calc(100vw * 8/16); /* matches 16/8 ratio */
	}

div#logo {
	position: absolute;
	width: 180px;
	top: -7px;
	height: auto;
	display: block;
	left: 50%;
	transform: translateX(-50%);
	}
div#logo img {
	width:100%;
	height:auto;
	}
div.upper_cap div,
div.lower_cap div {
	padding-left: 0px;
	}
a#nav_toggle {
	display: block;
	padding: 16px 15px 14px 25px;
	font-size: 1.5rem;
	line-height: 1.0rem;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 21;
	transition: top 1s;
	}
div#header.scrolled a#nav_toggle {
	top:-53px;
	}
nav#access {
	position: fixed;
	top: 0;
	right: -100vw;
	width: 100vw;
	margin: 0;
	min-height: 1500px;
	z-index: -1;
	background-color: rgba(0,0,0,0.6);
	opacity: 0;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	transition: opacity .5s;
	}
nav#access.visible_menu {
	right: 0;
	opacity: 1;
	z-index: 20;
	}
nav#access div#menu {
	position: absolute;
	max-width:260px;
	top: 62px;
	right: 5px;
	padding-bottom: 100px;
	max-height: calc(100vh - 50px);
	overflow-y: auto;
	}
nav#access div#menu ul li ul.sub-menu {
	top: auto;
	position: relative;
	opacity: 1;
	visibility: visible;
	}
nav#access ul.sub-menu {
	z-index: 99;
	}
nav#access div#menu li {
	float: none;
	}
nav#access div#menu li.hidden {
	display:block;
	}
nav#access div#menu li#menu-item-1339 {
	display:none;
	}
nav#access div#menu li a {
	padding: 12px 20px 12px 15px;
	margin: 0;
	text-transform: none;
	}
nav#access div#menu ul.menu li.menu-item ul.sub-menu li.menu-item a {
	font-weight: 400;
	padding: 5px 2px 7px 22px;
	}
nav#access div#menu ul.menu {
	margin: 0;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	display: block;
  	}
nav#access li.menu-item-has-children ul.sub-menu {
	display: none;
	}
nav#access li.menu-item-has-children.submenu_open ul.sub-menu {
	display: block;
	}
body.menu_open {
	overflow: hidden;
	}
div#wrapper {
	transition: filter .5s;
	}


a.single_menu {
	width: calc(50% - 30px);
	margin: 15px;
	aspect-ratio: 5/4;
	}
div.service_widget div.staff_grid div.child_float {
	width: 46%;
	margin: 2% 2%;
	}
}

/* -----------------------------------------------------------------  TABLETS  -- < 760 */
@media (max-width: 760px) {
div#viewport div#vp_1000 { display: none; }
div#viewport div#vp_760 { display: block; opacity: 0.9; }

div#service_widget_list div.service_widget div.child_float,
div#service_widget_list div.service_widget:nth-of-type(2n) div.child_float {
	flex-direction: column;
	}
div#service_widget_list div.service_widget div.child_float div.inset_content,
div#service_widget_list div.service_widget:nth-of-type(2n) div.child_float div.inset_content {
	text-align:left;
	padding: 24px 30px 30px 30px;
	margin-right:0px;
	margin-left:0px;
	}
div.child_float div.thumbnail_content.f_50 {
	width:100%;
	}
div.child_float div.entry_content.f_50 {
	width:100%;
	padding: 0 0 0px 0;
	}
div#specialization_group {
	flex-direction: column;
	}
div#specialization_widget div#specialization_group div {
	padding: 20px;
	width: 100%;
	margin: 10px 0;
	}
div#specialization_widget h2, div#google_reviews h3, h2.team_header {
		text-align: center;
		color: #63605f;
		font-size: 1.6rem;
		line-height: 1.1em;
	margin: 15px 0 20px 0;
	padding: 0 30px;
	}

div.footer_right {
	width: 100%;
	margin-top:30px;
	}
div.footer_left,
div.footer_middle {
	width: 49%;
	}

div.content {
	width: calc(100% - 40px);
	}
div#gdpr_banner div#banner_inset_content {
	display:block;
	}
div#gdpr_banner div.banner_buttons {
	display:flex;
	flex-direction: row;
	margin-left:0px; 
	}
div#gdpr_banner div.banner_buttons div.button {
	display:inline;
	margin-bottom: 10px;
	width:auto;
	}
div.menu_section {
	column-count: 1;
	padding: 0;
	}
div.service_widget div.sidebar {
	width: 100%;
	}
div#employment_form .half_width {
	width: 100%;
	}
div.single_award {
	width: calc(25% - 20px);
	}
}

/* ------------------------------------------------------------------------------ < 600 */
@media (max-width: 600px) {
div#viewport div#vp_760 { display: none; }
div#viewport div#vp_600 { display: block; opacity: 0.9; }
div.ultra_float {
	width:calc(100% - 40px);
	}
div.nice_gutter,
div.nice_gutter_40 {
	padding-right: 20px;
	padding-left: 20px;
	}
a.single_menu {
	width: 100%;
	margin: 15px 0;
	aspect-ratio: 5/4;
	}
div.service_widget div.staff_grid div.child_float {
	width: 90%;
	margin: 2% 5%;
	}
div.footer_left {
	width: 100%;
	margin:0;
	padding:0;
	text-align:center;
	}
div.footer_middle {
	display:none;
	}
div.social {
	justify-content: center;
	}
div.social a {
	margin: 0 12px;
	}
#billboard.simple_page {
	aspect-ratio: 16/12;
	}
div.single_award {
	width: calc(33.33332% - 20px);
	}

}

/* ------------------------------------------------------------------  PHONES  -- < 430 */
@media (max-width: 430px) {
div#viewport div#vp_600 { display: none; }
div#viewport div#vp_430 { display: block; opacity: 0.9; }
div.ultra_float {
	width:calc(100% - 20px);
	}
div.single_award {
	width: calc(50% - 20px);
	}
div#post-14 .entry_content img.alignright {
	width:100%;
	max-width:100%;
	margin: 0 0 20px 0;
	}


}
