/*
THEME NAME: R.S. Weir Contractor
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 {
	--rsw-ebony: #222624;
		--link-color-hover: #222624;
	--rsw-yellow: #ffd84d;
	
	--rsw-tan: #beb18a;
	
	--rsw-green: #5ba97d;
		--link-color: #369760;
	--rsw-green-dark: #2a332e;
	--rsw-green-dark-alt: #313f37;

		--headline-color: red;
		--type-color-dark: #000000;
		--type-color-light: #ffffff;

	--main-radius: 0;
	--button-radius: 0;
	}
.red { color: red; }


/* --------------------------------------------------------------------------- BODY --- */
html {
	font-size: 17px;
	text-align: left;
	}
body {
	background: var(--rsw-ebony);
	}
body,
input,
textarea,
select {
	color: var(--type-color-dark);
	}


/* ------------------------------------------------------------------------- COLORS --- */
a {
	transition: all .3s;
	cursor: pointer;
	}
a:link,
a:visited {
	color: var(--link-color);
	}
a:hover,
a:active {
	color: var(--link-color-hover);
	}
#post-14 .entry_content a, /* about */
#post-10 .entry_content a, /* contact */
#post-12 .entry_content a {
	font-weight: 700; /* 300 400 700 */
	border-bottom: 1px dotted var(--link-color);
	}
.headlines, h1, h2, h3, h4, h5, h6 {
	color: var(--rsw-ebony);
	}
div.container.single h1 {
	color: var(--rsw-yellow);
	}
blockquote {
	background-color: DimGray;
	color: White;
	}
nav#access div#menu a {
	background: var(--rsw-ebony);
	color: var(--rsw-yellow);
	border-top: 3px solid var(--rsw-green);
	transition: color .5s, background .5s;
	}
nav#access div#menu a:hover {
    background:rgba(91, 169, 125, 0.3);
	color: White;
	cursor: pointer;
	}
nav#access div#menu li.current_page_item a,
nav#access div#menu li.current_page_item a:hover,
div#footer_nav div#menu li.current_page_item a,
div#footer_nav div#menu li.current_page_item a:hover {
	background: var(--rsw-ebony);
	color: var(--type-color-light);
	cursor: default;
	}
a#nav_toggle,
a#nav_toggle:visited,
a#nav_toggle:active {
	color: var(--link-color);
	}
a#nav_toggle:hover {
	color: var(--rsw-yellow);
	}
a.button,
div.button,
input[type=submit],
input[type=button] {
	display: inline-block;
	background: var(--rsw-green);
	color: var(--type-color-dark);
	border-radius: var(--button-radius);
	cursor: pointer;
	text-align: center;
	text-transform:uppercase;
	font-size:0.85rem;
	line-height: 0.8em;
	padding: 8px 30px;
	transition: all .3s;
	}
a.button:hover,
div.button:hover,
input[type=submit]:hover,
input[type=button]:hover {
	background: var(--link-color-hover);
	color: var(--type-color-light);
	}


/* --------------------------------------------------------------------- TYPOGRAPHY --- */
.roboto_slab,
body,
input[type=text],
input[type=email],
input[type=tel],
textarea {
	font-family: "roboto-slab", serif;
	font-weight: 300; /* 300 400 700 */
	font-style: normal;
	}
.eurostile, .headlines, 
h1, h2, h3, h4, h5, h6,
a.button,
div.button,
input[type=submit],
input[type=button],
div#menu a {
	font-family: "eurostile", sans-serif;
	font-weight: 500; /* 400 500 */
	font-style: normal;
	}
div#blog-description {
	margin: 0 0 0 2px;
	font-size: 0.9rem;
	}
h1,
h2.home_title {
	font-size: 2.3rem;
	line-height: 1.1;
	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.1;
	margin: 0 0 1.0rem 0;
	}
div.staff_widget div.staff_grid div.child_float h2 {
	margin: -8px 0 5px 0;
	}
div#project_band h2 {
	text-align: center;
	color:var(--type-color-light);
	text-transform: uppercase;
	letter-spacing: 4px;
	font-size: 0.9rem;
	line-height: 1;
	margin: 20px 0 40px 0;
	}
div#post-6 div#project_band h2 {
	font-size: 2.0rem;
	font-weight: 400;
	margin: 60px 0 40px 0;
	}
h3 {
	font-size: 1.42rem;
	line-height: 1.1;
	margin: 0 0 1.0rem 0;
	}
div.staff_widget div.staff_grid div.child_float h3 {
	font-size: 1.0rem;
	line-height: 1;
	margin: 05px 0 12px 0;
	}
h4 {
	font-size: 0.95rem;
	line-height: 1.1;
	text-transform: uppercase;
	margin: 0 0 1.0rem 0;
	}
p {
	font-size: 1.0rem;
	line-height: 1.5rem;
	margin: 0 0 1.0rem 0;
	}
div.staff_widget div.staff_grid div.child_float p {
	font-size: 1.0rem;
	line-height: 1.3em;
	margin: 0 0 10px 0;
	width:100%;
	}
ul li,
ol li {
	font-size: 1.0rem;
	line-height: 1.4;
	margin-bottom: 8px;
	}
ul {
	margin-left: 30px;
	margin-bottom: 24px;
	list-style-type: square;
	}
ol {
	margin-left: 33px;
	margin-bottom: 0.85rem;
	}
blockquote {
	font-size: 1.28rem;
	line-height: 1.4rem;
	float: right;
	width: 200px;
	opacity: 0.5;
	padding: 12px 8px 2px 13px;
	margin: 0 0 10px 14px;
	}
em,
i {
	font-style: italic;
	}
strong,
b {
	font-weight: 700;
	}


/* ---------------------------------------------------------------------- STRUCTURE --- */
div#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 53px;
	background: var(--rsw-ebony);
	z-index: 100;
	transition: margin-top 1s;
	}
div#header.scrolled {
	margin-top:-100px;
	}
div#logo {
	box-sizing:border-box;
	padding: 10px 12px;
	width: 180px;
	height:101px;
	background: var(--rsw-ebony);
	}
div#logo img {
	transition: transform 0.5s;
	}

div#logo:hover img {
	transform:scale(0.97);
	}
div#wrapper {
	width: 100%;
	padding: 53px 0 0 0;
	position: relative;
	}
.home div#wrapper {
	background:var(--rsw-ebony);
	}
div.container {
	width: 100%;
	margin: 0 auto;
	position: relative;
	background: #ffffff;
	}
.home div.container,
div.container.single {
	background:var(--rsw-ebony);
	}
div.content {
	box-sizing: border-box;
	width:100%;
	padding-top:30px;
	padding-bottom:40px;
	margin: 0 auto;
	transition: width .5s;
	position: relative;
	}
div.content.simple_page {
	padding-top:60px;
	}
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.entry_content {
	padding: 30px 0;
	}


/* --------------------------------------------------------------------------- FLEX --- */
div.flex_container {
	display: flex;
	}
div.flex_wrap {
	flex-wrap: wrap;
	}
div.flex_inverse_order {
	flex-direction: row-reverse;
	}
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_50  { width: 50%; }
.f_49  { width: 49%; }
.f_33  { width: 33.332%; }
.f_20  { width: 20%; }


/* --------------------------------------------------------------------- NAVIGATION --- */
a#nav_toggle {
	display: none;
	}
nav#access {
	position: absolute;
	top: 0px;
	right: 60px;
	margin: 0;
	padding: 0;
	z-index: 5;
	}
div#menu ul,
div#menu ul ul {
	list-style: none;
	margin: 0;
	padding: 0;
	}
nav#access div#menu li {
	float: left;
	margin: 0;
	padding:0;
	line-height: 1;
	}
nav#access div#menu li a {
	display: block;
	box-sizing:border-box;
	margin-left: 12px;
	padding: 16px 10px;
	min-width:90px;
	text-align:center;
	}
div#menu ul li ul.sub-menu {
	top: -220px;
	position: absolute;
	opacity: 0;
	transition: opacity .5s;
	}
div#menu li:hover ul.sub-menu {
	top: auto;
	margin-top: 0;
	opacity: 1;
	}
ul.sub-menu {
	z-index: -1;
	}
ul.sub-menu li {
	float: none !important;
	}


/* --------------------------------------------------------------------------- HOME --- */
.dd_slider {
	position: relative;
	top: 0px;
	margin-top:0px;
	left: 0px;
	width: 100%;
	aspect-ratio: 1/0.669;
	max-height: 90vh;
	overflow: hidden;
	background:#000;
	}
.home .dd_slider {
	aspect-ratio: 1/0.669;
	max-height: 90vh;
	}
.dd_slider.single_project {
	aspect-ratio: 1/0.669;
	max-height: 90vh;
	}

.dd_slide {
	width:100%;
	height: 100%;
	overflow:hidden;
	position:absolute;
	top:0px;
	left:0px;
	opacity: 0;
	z-index: 1;
	}
.dd_slide.active {
	opacity: 1;
	z-index: 2;
	}
/*
.dd_slide[data-orientation="vertical"] img,
.dd_slide img {
	object-fit: contain;
	}
*/
.dd_slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	}
.home .dd_slide img {
	object-fit: cover;
	}


div.dd_base_band {
	background: var(--rsw-ebony);
	position:absolute;
	width:100%;
	height:46px;
	bottom:0px;
	margin-bottom:-30px;
	z-index:49;
	}
div.dd_dots {
	position:absolute;
	text-align:center;
	bottom:0px;
	margin-bottom:-10px;
    left: 50%;
    transform: translate(-50%, 0);
	background: var(--rsw-ebony);
	padding: 0 16px;
	height:48px;
	z-index:50;
	}
div.dd_dots.portfolio_dots {
	position:absolute;
	left:0px;
	transform: none;
	}
div.dot_float {
	position:absolute;
    left: 50%;
    transform: translate(-50%, 0);
	text-align:left;
	box-sizing: border-box;
	width:100%;
	height:auto;
	max-width: 1080px;
	margin:0 auto;
	transition: padding 1s;
	bottom: 0px;
	z-index: 99;
	}

div.dd_dot {
	display:inline-block;
	box-sizing:border-box;
	height:16px;
	width:16px;
	margin: 15px 5px;
	border-radius:50%;
	border: 1px solid grey;
	background:var(--rsw-ebony);
	transition:background .5s ease;
	}
div.dd_dot:hover {
	background:var(--rsw-yellow);
	cursor:pointer;
	}
div.dd_dot.active,
div.dd_dot.active:hover {
	background:var(--rsw-green);
	cursor:default;
	}
div.dd_arrow {
	position:absolute;
	display: flex;
	align-items: center;
	top:0px;
	left:0px;
	width: 60px;
	height:calc(100% - 26px);
	z-index:51;
	cursor:pointer;
	}
div.dd_arrow.dd_next {
	justify-content: flex-end;
	text-align:right;
	left:auto;
	right:0px;
	}
div.dd_arrow i {
	display:block;
	box-sizing: border-box;
	color:var(--rsw-yellow);
	font-size: 40px;
	width:60px;
	height:60px;
	padding: 10px;
	background:rgba(0,0,0,0.6);
	transition:color .3s ease, opacity .6s ease, margin .6s ease;
	}
div.dd_arrow:hover i {
	opacity:0.7;
	color:var(--type-color-light);
/*	margin-left:-12px; */
	}
div.dd_arrow.dd_next:hover i {
	margin-left:0;
/*	margin-right:-12px; */
	}

div#introduction {
	position: relative;
	background: var(--rsw-yellow);
	}
div#intro_content {
	position: relative;
	}
div.entry_content {
	}
div.image_content {
	align-self: stretch;
	position: relative;
	overflow:hidden;
	}
div.image_content img {
	position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.25);
	}


/* ----------------------------------------------------------------------- PROJECTS --- */
div#project_band {
	background: var(--rsw-ebony);
	padding-top: 30px;
	padding-bottom: 60px;
	text-align: center;
	}
a.one_project {
	width: calc((100% / 3) - 30px);
	margin: 0 15px 30px 15px;
	cursor: zoom-in;
	opacity: 0;
	max-height:0px;
    transition: opacity 5s ease, max-height 2s ease;
	}
a.one_project.visible,
div#post-6 a.one_project {
	max-height:500px;
    opacity: 1;
	}
a.one_project div.project_thumb {
	box-sizing: border-box;
	aspect-ratio: 56/44;
	overflow:hidden;
	}
a.one_project div.project_thumb img {
	width:100%;
	height:100%;
	object-fit: cover;
	transition: transform 3s;
	}
a.one_project div.project_title {
	text-align:left;
	padding-top:10px;
	font-family: "eurostile", sans-serif;
	font-weight: 500; /* 400 500 */
	font-style: normal;
	font-size: 0.9rem;
	color:var(--type-color-light);
	transition: color .3s, letter-spacing .5s;
	}
a.one_project div.project_title i {
	color:var(--rsw-yellow);
	opacity:0.5;
	transition: opacity .3s;
	}
a.one_project:hover div.project_thumb img {
	transform:scale(1.2);
	}
a.one_project:hover div.project_title {
	color:var(--rsw-yellow);
	}
a.one_project:hover div.project_title i {
	color:var(--rsw-yellow);
	opacity:1.0;
	}

a.load_more {
	display: inline-block;
	text-align: center;
	margin: 0px auto 0px auto;
	color:var(--rsw-yellow);
	text-transform: uppercase;
	padding-top:10px;
	font-family: "eurostile", sans-serif;
	font-weight: 500; /* 400 500 */
	font-size: 0.85rem;
	line-height: 1;
	}
div#post-6 a.load_more {
	display:none;
	}
a.load_more div {
	position: relative;
	top:0;
	}
a.load_more div i {
	position: relative;
	top:0;
	transition: top .3s;
	}
a.load_more:hover div i {
	top:4px;
	}
a.load_more div i:nth-child(1) {
	transition-delay: 0s;
	}
a.load_more div i:nth-child(2) {
	transition-delay: 0.1s;
	}
a.load_more div i:nth-child(3) {
	transition-delay: 0.2s;
	}

div.project_content {
	margin: 20px 0 30px 0;
	}
div.project_table {
	width: calc(100% - 340px);
	}
div.project_nav {
	width: 300px;
	}

table {
	width:100%;
	border-collapse: collapse;
	}
table tr {
	border-bottom: 1px solid var(--rsw-ebony);
	}
table th {
	background: var(--rsw-green-dark);
	color: var(--rsw-tan);
	text-align: left;
	padding: 8px 12px;
	white-space: nowrap;
	width: 1%;
	}
table td {
	background: var(--rsw-green-dark);
	color: var(--type-color-light);
	padding: 8px 16px 8px 14px;
	width: 100%;
	}
table th,
	table td {
	vertical-align: top;
	}
table td a {
	display: block;
	color: var(--type-color-light) !important;
	text-decoration: none;
	margin: 0 0 5px 0;
	}
table td a:hover {
	color: var(--rsw-green) !important;
	}
table td a i {
	color: var(--rsw-tan);
	}	
table tr:nth-child(even) th,
table tr:nth-child(even) td {
	background: var(--rsw-green-dark-alt);
	}

div#portfolio_nav div {
	width:48%;
	}
div.project_nav a.button {
	width:100%;
	margin: 0 0 10px 0;
	}
div.project_nav a.button:hover {
	background: var(--rsw-yellow);
	color:var(--type-color-dark);
	}
div.nav_previous {
	text-align: left;
	}
div.nav_next {
	text-align: right;
	}

div#portfolio_nav a {
	text-transform:uppercase;
	font-size:0.85rem;
	line-height: 0.8em;
	font-family: "eurostile", sans-serif;
	font-weight: 500; /* 400 500 */
	font-style: normal;
	color:var(--type-color-light);
	}
/*
div.nav_previous a {
	padding: 20px 20px 20px 0px;
	}
div.nav_next a {
	padding: 20px 0 20px 20px;
	}
*/
div#portfolio_nav a span {
	padding: 0 2px;
	transition: padding .3s;
	}
div#portfolio_nav a:hover span {
	padding: 0 1px;
	}
div#portfolio_nav a i {
	color:var(--rsw-green);
	transition: color .3s;
	}
div#portfolio_nav a:hover i {
	color:var(--rsw-yellow);
	}
div#portfolio_nav a div.project_thumb {
	box-sizing: border-box;
	width:100%;
	aspect-ratio: 56/44;
	overflow:hidden;
	margin: 0 0 10px 0;
	}
div#portfolio_nav a div.project_thumb img {
	width:100%;
	height:100%;
	object-fit: cover;
	opacity:0.7;
	filter:grayscale(100);
	transition: opacity .5s, transform 2s, filter 1s;
	}
div#portfolio_nav a:hover div.project_thumb img {
	filter:grayscale(0);
	transform: scale(1.1);
	opacity:1.08;
	}

/* --------------------------------------------------------------- PRESS AND QUOTES --- */
div.quote {
	box-sizing:border-box;
	position: relative;
	color:var(--type-color-light);
	font-style: italic;
	margin: 30px 0 0 0;
	padding: 0 5px 0 0;
	}
div#quote_container {
	padding-bottom: 30px;
	}
div#quote_container  h2 {
	text-align: center;
	color:var(--type-color-light);
	text-transform: uppercase;
	letter-spacing: 4px;
	font-size: 1.1rem;
	line-height: 1;
	margin: 60px 0 40px 0;
	}
div#quote_container div.quote {
	margin: 30px 0 0 0;
	padding: 0 5px 0 0;
	}
div#quote_container div.attribution {
	margin: 16px 0 40px 0;
	padding: 0 5px 0 0;
	}

div.quote p {
	position: relative;
	z-index: 1;
	line-height: 1.9em;
	margin:0;
	padding: 0px;
	}
div.attribution {
	box-sizing:border-box;
	width:100%;
	text-align:right;
	color: var(--rsw-tan);
	margin: 16px 0 0 0;
	padding: 0 5px 0 0;
	}


div#post-34 h1 {
	text-align: center;
	font-size: 2.3rem;
	line-height: 1.1;
	margin: 0 0 50px 0;
	}
div#press_grid a  {
	width: calc((100% / 3) - 30px);
	margin: 0 15px 30px 15px;
	cursor: zoom-in;
	opacity: 1;
	}
div#press_grid a div.project_thumb {
	box-sizing: border-box;
	aspect-ratio: 56/44;
	overflow:hidden;
	box-shadow: 0 0 15px rgba(0,0,0,0.3);
	}
div#press_grid a div.project_thumb img {
	width:100%;
	height:100%;
	object-fit: cover;
	transition: transform 3s;
	}
div#press_grid a div.project_title {
	text-align:left;
	padding-top:10px;
	font-family: "eurostile", sans-serif;
	font-weight: 500; /* 400 500 */
	font-style: normal;
	font-size: 1.0rem;
	color:var(--rsw-ebony);
	transition: color .3s;
	}
div#press_grid a div.project_title i {
	color:var(--rsw-ebony);
	opacity:0.5;
	transition: opacity .3s;
	}
div#press_grid a:hover div.project_thumb img {
	transform:scale(1.2);
	}
div#press_grid a:hover div.project_title {
	color:var(--rsw-green);
	}
div#press_grid a:hover div.project_title i {
	color:var(--rsw-green);
	opacity:1.0;
	}





/* ------------------------------------------------------------------------ DETAILS --- */
div#detail_band {
	background: var(--rsw-ebony);
	padding-top: 30px;
	padding-bottom: 30px;
	  position: relative;
	}
div#detail_grid {
	margin-top:20px;
	}
.one_detail {
	box-sizing:border-box;
	display: block;
	aspect-ratio:1/1;
	background: var(--rsw-ebony);
	overflow:hidden;

	position: relative;
	width:calc((100% / 9) - 2%);
	margin: 1%;
	box-shadow: 0 0 15px rgba(0,0,0,0.3);
	padding-top: calc((100% / 9) - 2%);
	height: 0;

	}
div#detail_grid .one_detail {
	position: relative;
	width:calc((100% / 3) - 2%);
	margin: 1%;
	box-shadow: 0 0 15px rgba(0,0,0,0.3);
	padding-top: calc((100% / 3) - 2%);
	height: 0;
	}
.one_detail img {
	position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s;s
	}
a.one_detail:hover {
	cursor:pointer;
	}
a.one_detail:hover img {
	transform:scale(1.2);
	}


/* -------------------------------------------------------------------------- STAFF --- */
div.staff_widget {
	margin-bottom:20px;
	margin-top:30px;
	}
div.staff_widget div.staff_grid div.child_float {
	width:100%;
	margin: 0 0 40px 0;
	display:flex;
	justify-content: space-between;
	}
div.staff_widget div.staff_grid div.thumbnail_content {
	width:300px;
	aspect-ratio: 1/1;
	overflow:hidden;
	margin-bottom:18px;
	margin-right:30px;
	}
div.staff_widget div.staff_grid div.thumbnail_content div {
	background: var(--rsw-ebony);
	position: relative;
	width:100%;
	height:auto;
	aspect-ratio: 1/1;
	overflow:hidden;
	}
div.staff_widget div.staff_grid div.thumbnail_content div img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	}
div.staff_widget div.staff_grid div.child_float div.inset_content {
	width:calc(100% - 320px);
	}
div.collapsable_bio {
	position: relative;
	max-height: 196px;
	margin-bottom: 10px;
	overflow: hidden;
	transition: max-height 2s ease;
	}
div.collapsable_bio.open {
	max-height:3600px;
	margin-bottom: 2px;
	}
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;
	}
div.collapsable_bio.open div.bio_fader {
	max-height:1px;
	}


/* ------------------------------------------------------------------------- FOOTER --- */
div#footer {
	background-color: var(--rsw-ebony);
	width: 100%;
	color: var(--type-color-light);
	clear: both;
	padding: 40px 0 60px 0;
	border-top:12px solid var(--rsw-green);
	}
div#ftr_logo {
	box-sizing:border-box;
	padding: 10px 12px;
	width: 180px;
	height:101px;
	background: var(--rsw-ebony);
	}
div#ftr_logo img {
	transition: transform 0.5s;
	}
div#ftr_logo:hover img {
	transform:scale(0.97);
	}

div#ftr_right {
	box-sizing: border-box;
	padding-top:5px;
	width:calc(100% - 220px);
	}
div#footer_contact {
	text-align: left;
	margin-bottom: 14px;
	}
div#footer_nav {
	box-sizing: border-box;
	text-align: left;
	padding-right: 12px;
	padding-bottom: 15px;
	width:86px;
	}
div#ftr_copyright {
	padding: 20px 0;
	width:100%;
	flex-grow: 1;
	}
div.copyright {
	font-size: 0.6rem;
	}
div#footer p {
	line-height: 1.3em;
	margin: 0 0 8px 0;
	}
div#footer ul li {
	margin-bottom: 7px;
	}
div#footer a {
	color: var(--rsw-yellow);
	}
div#footer a:hover,
div#footer div#ftr_copyright a:hover,
div#footer a.google_map:hover {
	color: var(--rsw-green);
	}
div#footer div#ftr_copyright a,
div#footer a.google_map {
	color: var(--type-color-light);
	}


/* ------------------------------------------------------------------------- SOCIAL --- */
div.social {
	font-size: 2.5rem;
	line-height: 1;
	}
div.social a {
	transition: color .5s;
	}
div.social a.instagram { color: #b82f91; }
div.social a.facebook  { color: #3c5a99; }
div.social a.twitter   { color: #00aced; }
div.social a.instagram:hover,
div.social a.facebook:hover,
div.social a.twitter:hover {
	color: #000;
	}


/* ----------------------------------------------------------------- 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.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 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(--rsw-ebony);
	color: var(--type-color-light);
	border-top: 4px solid var(--rsw-yellow);
	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;
	border-radius: 0 6px 0 0;
 	}
div#edit a,
div#edit a:hover {
	cursor: pointer;
	color:#fff;
	opacity:0.1;
	}
div#edit a:hover {
	opacity:1.0;
	}


/* ------------------------------------------------------------------------------------ */
/* --------------------------------------------------------------------- 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; }
nav#access {
	right: 30px;
	}
div.dot_float {
	max-width: calc(100% - 120px);
	}

}

/* ----------------------------------------------------------------------------- < 1000 */
@media (max-width: 1000px) {
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;
	}
a.one_project {
	width: calc((100% / 2) - 30px);
		margin: 0 15px 30px 15px;
	}
a#nav_toggle {
	display: block;
	padding: 14px 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.5);
	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;
	top: 50px;
	right: 0;
	max-height: calc(100vh - 50px);
	overflow-y: auto;
	}
nav#access div#menu ul li ul.sub-menu {
	top: auto;
	position: relative;
	opacity: 1;
	}
nav#access ul.sub-menu {
	z-index: 99;
	}
nav#access div#menu li {
	float: none;
	}
nav#access div#menu li a {
	padding: 12px 20px 12px 15px;
	margin: 0;
	min-width: 35vw;
	text-transform: none;
	}
nav#access div#menu ul.sub-menu li a {
	padding: 10px 20px 10px 15px;
	}
nav#access div#menu ul.menu {
	margin: 0;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	}
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;
	}
div.dot_float {
	max-width: calc(100% - 60px);
	}


}

/* -----------------------------------------------------------------  TABLETS  -- < 760 */
@media (max-width: 760px) {
div#viewport div#vp_1000 { display: none; }
div#viewport div#vp_760 { display: block; opacity: 0.9; }
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;
	}
body.menu_open {
	overflow: hidden;
	}
div#wrapper {
	transition: filter .5s;
	}
div.dot_float {
	max-width: calc(100% - 60px);
	text-align:center;
	}
div.dd_dots.portfolio_dots {
	position: relative;
	display:inline-block;
	}
div.project_table {
	width: 100%;
	margin-bottom:60px;
	}
div.project_nav {
	width:100%;
	max-width: 460px;
	margin: auto;
	}
div#press_grid a  {
	width: calc((100% / 2) - 30px);
	}


}

/* ------------------------------------------------------------------------------ < 600 */
@media (max-width: 600px) {
div#viewport div#vp_760 { display: none; }
div#viewport div#vp_600 { display: block; opacity: 0.9; }
.d_hidden { display: inline; }
.m_hidden { display: none; }
div.ultra_float {
	width:calc(100% - 40px);
	}
div.nice_gutter,
div.nice_gutter_40 {
	padding-right: 20px;
	padding-left: 20px;
	}
div#footer_contents {
	display:block;
	}
div#ftr_logo {
	margin: 10px auto 20px;
	}
div#ftr_right {
		padding-top:5px;
	width:100%;
	text-align:center;
	}
div#footer_contact {
	width:100%;
	text-align:center;
	}
div#footer_nav {
	text-align: center;
	padding-right: 0;
	width:100%;
	}
div.dd_arrow i {
	font-size: 30px;
	width:50px;
	height:50px;
	padding: 10px;
	background:rgba(0,0,0,0.5);
	}
div#logo,
div#ftr_logo {
	padding: 10px 12px;
	width: 160px;
	height: 91px;
	}
.single div.content {
	padding-top:10px;
	}
div.entry_content {
	padding: 10px 0 30px 0;
	}
.home div.entry_content {
	padding: 30px 0 30px 0;
	}
div.staff_widget div.staff_grid div.thumbnail_content {
	width: 230px;
	margin-right:20px;
	}
div.staff_widget div.staff_grid div.child_float div.inset_content {
	width:calc(100% - 240px);
	}
div.collapsable_bio.open {
	max-height:7200px;
	margin-bottom: 2px;
	}

}

/* ------------------------------------------------------------------  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.dd_dots {
	background:transparent;
	height:auto;
	margin-bottom:-8px;
	}
div.dd_dot {
	height: 11px;
	width: 11px;
	margin: 8px 4px;
	}
div.dd_base_band {
	height: 46px;
	margin-bottom: -23px;
	}
.single div.dot_float {
	bottom: -7px;
	}

div#logo,
div#ftr_logo {
	padding: 10px 12px;
	width: 150px;
	height: 86px;
	}
table th {
	white-space: wrap;
	}
.single h1 {
	font-size: 1.8rem;
	text-align:center;
	}
a.one_project {
	width: calc((100% / 1) - 80px);
		margin: 0 40px 40px 40px;
	}
div#detail_grid .one_detail {
	width:calc((100% / 2) - 2%);
	padding-top: calc((100% / 2) - 2%);
	}
div.entry_content {
	padding: 0px 0 30px 0;
	}
.home div.entry_content {
	padding: 30px 0 30px 0;
	}
div#post-6 div#project_band h2 {
	font-size: 1.0rem;
	margin: 40px 0 40px 0;
	}
div.staff_widget div.staff_grid div.child_float {
		width: 100%;
		margin: 0 0 40px 0;
		display: flex;
		justify-content: space-between;
	flex-wrap: wrap;
	}
div.staff_widget div.staff_grid div.thumbnail_content {
	width: 100%;
	margin-right:0px;
	}
div.staff_widget div.staff_grid div.child_float div.inset_content {
	width:100%;
	}
div#intro_content {
	flex-wrap: wrap;
	flex-direction: column-reverse;
	}
div#intro_content div.f_60,
div#intro_content div.f_33 {
	width:100%;
	}
div#intro_content div.f_33 {
	height:200px;
	margin-top:20px;
	}
div.image_content img {
	transform: scale(1.35);
	object-position: top;
	}
div#detail_band .one_detail:last-child {
	display: none;
	}
div#detail_band .one_detail {
		box-sizing: border-box;
		display: block;
		aspect-ratio: 1/1;
		background: var(--rsw-ebony);
		overflow: hidden;
		position: relative;
	width: calc((100% / 4) - 2%);
		margin: 1%;
		box-shadow: 0 0 15px rgba(0,0,0,0.3);
	padding-top: calc((100% / 4) - 2%);
		height: 0;
	}
div#detail_band div.flex_container  {
	flex-wrap: wrap;
	}
div#press_grid a  {
	width: calc((100% / 1) - 30px);
	margin: 0 15px 30px 15px;
	cursor: zoom-in;
	opacity: 1;
	}

}
