/*
Theme Name: Dimitrius & Associates
Theme URI: https://layne.studio
Author: Layne Studio
Author URI: https://layne.studio
Description: A responsive theme for Dimitrius & Associates.
Version: 3.0
License: Copyright (c) 2018 Layne Studio. All rights reserved.
*/

/* -----------------------------------------------------------------------------
Reset CSS
----------------------------------------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { border: 0; font-family: inherit; font-size: 100%; font-style: inherit; font-weight: inherit; margin: 0; outline: 0; padding: 0; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; max-width: 100%; }
html { overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body, button, input, select, textarea { color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; font-weight: 400; line-height: 1.5; }
body { background: #f5f5f5; }
a { color: #24890d; text-decoration: none; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }
a:active, a:hover { color: #41a62a; }
h1, h2, h3, h4, h5, h6 { clear: both; font-weight: 700; margin: 36px 0 12px; }
h1 { font-size: 26px; line-height: 1.3846153846; }
h2 { font-size: 24px; line-height: 1; }
h3 { font-size: 22px; line-height: 1.0909090909; }
h4 { font-size: 20px; line-height: 1.2; }
h5 { font-size: 18px; line-height: 1.3333333333; }
h6 { font-size: 16px; line-height: 1.5; }
address { font-style: italic; margin-bottom: 24px; }
abbr[title] { border-bottom: 1px dotted #2b2b2b; cursor: help; }
b, strong { font-weight: 700; }
cite, dfn, em, i { font-style: italic; }
mark, ins { background: #000; text-decoration: none; }
p { margin-bottom: 24px; }
code, kbd, tt, var, samp, pre { font-family: monospace, serif; font-size: 15px; -webkit-hyphens: none; -moz-hyphens: none; -ms-hyphens: none; hyphens: none; line-height: 1.6; }
pre { border: 1px solid rgba(0, 0, 0, 0.1); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; margin-bottom: 24px; max-width: 100%; overflow: auto; padding: 12px; white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
blockquote, q { -webkit-hyphens: none; -moz-hyphens: none; -ms-hyphens: none; hyphens: none; quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; content: none; }
blockquote { color: #767676; font-size: 19px; font-style: italic; font-weight: 300; line-height: 1.2631578947; margin-bottom: 24px; }
blockquote cite, blockquote small { color: #2b2b2b; font-size: 16px; font-weight: 400; line-height: 1.5; }
blockquote em, blockquote i, blockquote cite { font-style: normal; }
blockquote strong, blockquote b { font-weight: 400; }
small { font-size: smaller; }
big { font-size: 125%; }
sup, sub { font-size: 75%; height: 0; line-height: 0; position: relative; vertical-align: baseline; }
sup { bottom: 1ex; }
sub { top: .5ex; }
dl { margin-bottom: 24px; }
dt { font-weight: bold; }
dd { margin-bottom: 24px; }
ul, ol { list-style: none; margin: 0 0 24px 20px; }
ul { list-style: disc; }
ol { list-style: decimal; }
li > ul, li > ol { margin: 0 0 0 20px; }
img { -ms-interpolation-mode: bicubic;	border: 0; vertical-align: middle; }
figure { margin: 0; }
fieldset { border: 1px solid rgba(0, 0, 0, 0.1); margin: 0 0 24px; padding: 11px 12px 0; }
legend { white-space: normal; }
button, input, select, textarea { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; font-size: 100%; margin: 0; max-width: 100%; vertical-align: baseline; }
button, input { line-height: normal; }
input, textarea { background-image: -webkit-linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,0)); }
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; }
button[disabled], input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { padding: 0; }
input[type="search"] { -webkit-appearance: textfield; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; }
table, th, td { border: 1px solid rgba(0, 0, 0, 0.1); }
table { border-collapse: separate; border-spacing: 0; border-width: 1px 0 0 1px; margin-bottom: 24px; width: 100%; }
caption, th, td { font-weight: normal; text-align: left; }
th { border-width: 0 1px 1px 0; font-weight: bold; }
td { border-width: 0 1px 1px 0; }
del { color: #4f451d; }
hr { height: 0; border: 0; border-top: 1px dotted #4f451d; margin: 1vw 5vw; }
::selection, ::-moz-selection { background: #888880; color: #e8e8e6; text-shadow: none; }

/* Reset CSS ---------------------------------------------------------------- */



/* -----------------------------------------------------------------------------
Side-wide Defaults

Available font classes:
Global (body)	.tk-franklin-gothic-urw			'franklin-gothic-urw'		300
Menu			.tk-franklin-gothic-urw-comp	'franklin-gothic-urw-comp'	400
Header			.tk-franklin-gothic-urw-comp	'franklin-gothic-urw-comp'	700
Bold			.tk-franklin-gothic-urw			'franklin-gothic-urw'		700

----------------------------------------------------------------------------- */

/* Body & Menu */
body {
	margin: 0;
	padding: 0;
	color: #555;
	background: #f8f8f6;
	font: 18px 'franklin-gothic-urw', serif;
	font-weight: 300;
	line-height: 1.375em;
}
a { color: #222; text-decoration: none; }
a:focus, a:active, a:hover { color: #5a7f72; text-decoration: none; }
strong { font-weight: 700; }
cite, em, i { font-style: italic; }
hr { width: 80%; height: 0; border: 0; border-top: 1px solid #555; margin: 2em auto; }
.clearfix:after { content: ""; display: table; clear: both; }

#mobile { display: none; }
#connect {
	position: relative;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
	width: 80%;
	max-width: 1280px;
	margin: 2em auto 0;
	font-family: 'franklin-gothic-urw-comp', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	white-space: nowrap;
	text-align: right;
}
#connect .ident { -webkit-flex: 0 2 auto; -ms-flex: 0 2 auto; flex: 0 2 auto; }
#connect .ident img { max-width: 100%; margin-bottom: -4%;}
#connect ul { margin: 0; padding: 0; list-style: none; line-height: 15px; }
#connect li { display: inline; }
#connect li a .fa, #connect a .fab, #connect a .fal, #connect a .far, #connect a .fas { display: none; }
#connect li a { padding: 0 0 0 0.375em; color: #5a7f72; }
#connect li a:focus, #connect a:active, #connect a:hover { color: #222; }
/* Body & Menu */

/* Global Content Styles*/
#content { width: 100%; }

#header {
	position: relative;
	display: block;
	width: 80%;
	max-width: 1280px;
	margin: 2em auto 0;
	padding: 0;
	background-size: 100% auto;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
#header img { width: 100%; }

.entry-title {
	clear: none;
	width: 80%;
	max-width: 1280px;
	margin: 2em auto 0;
	font-family: 'franklin-gothic-urw-comp', sans-serif;
	font-size: 30px;
	line-height: 0.75em;
	font-weight: 700;
	text-transform: uppercase;
	text-align: left;
	color: #5a7f72;
}
.entry-title span {
	display: block;
	font-size: 60%;
	color: #555;
}

.entry-content {
	width: 80%;
	max-width: 1280px;
	margin: 0 auto;
}
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6, .entry-content p, .entry-content pre, .entry-content ul, .entry-content ol {
	clear: none;
	margin: 1em 0 0;
	text-align: left;
}
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
	margin: 2em 0 0;
	color: #5a7f72;
	font-family: 'franklin-gothic-urw-comp', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
}
.entry-content h2 {
	font-size: 30px;
}
.entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
	font-size: 18px;
	line-height: 1.375em;
}
.entry-content ul, .entry-content ol { text-align: left; }

.entry-content article { margin: 2em 0 0; }
.entry-content article h3 { margin: 0; }
.entry-content article .fimg { margin: 0 0 1em; }

/* Image Layouts */
.entry-content img, .entry-content p img { max-width: 100%; }
embed, iframe, object {
	margin: 1em auto;
}
.entry-content p.has-image {}

/* Lists */
.entry-content ul {
	margin: 0.25em auto 0;
	list-style: none;
	-webkit-columns: 12em 3;
	-moz-columns: 12em 3;
	columns: 12em 3;
}
.entry-content ol { margin: 0.25em auto 0; }
.entry-content li { padding: 0.75em 0 0; }
.entry-content ol li { margin-left: 2em; }

.entry-content blockquote {
	margin: 0;
	padding: 0;
	font-style: normal;
}
.entry-content blockquote em { font-style: italic; }

table {
	border-bottom: 1px solid #5c5c54;
	margin: 1em auto;
}
th {
	background: rgba(0, 0, 0, 0.25);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 4px;
	line-height: 10px;
	text-transform: uppercase;
}
td {
	border-top: 1px solid #5c5c54;
	padding: 5px 0;
}

input, input[type=text], input[type=password], textarea, select {
	width: 50%;
	margin: 0 auto;
	padding: 0 0.5%;
	color: #555;
	background: #fff;
	border: 1px dotted #555;
	font-family: 'franklin-gothic-urw', serif;
}
input[type=text]:focus, textarea:focus, select:focus { color: #555; }

.sidebar {
	float: right;
	clear: both;
	width: 16em;
	max-width: 36%;
	margin: 0 0 0 2em;
	padding: 1em;
	background: #e4e9e6;
}
.sidebar h3 { width: auto; margin-top: 0; line-height: 1.1875em; }
.sidebar ul { width: auto; -webkit-columns: auto 1; -moz-columns: auto 1; columns: auto 1; }
/* Global Content Styles*/

/* Navigation */
#nav-single {
	clear: both;
	overflow: hidden;
	margin: 4vw 0 0;
	background: rgba(0, 0, 0, 0.25);
}
#nav-single a {
	position: relative;
	display: block;
	overflow: hidden;
	width: 50%;
	margin: 0;
	padding: 0 0 10em 0;
}
#nav-single .nav-bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-size: auto 100%;
	background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
#nav-single a.prev { float: left; }
#nav-single a.next { float: right; }
#nav-single .nav-title {
	position: absolute;
	bottom: 0;
	z-index: 2;
	margin: 0;
	padding: 1% 2%;
	background: rgba(0, 0, 0, 0.75);
	text-transform: lowercase;
	white-space: normal;
}
#nav-single a.prev .nav-title { left: 10vw; }
#nav-single a.next .nav-title {
	right: 10vw;
	text-align: right;
}
/* Navigation */

/* Site-wide Defaults ------------------------------------------------------- */


/* -----------------------------------------------------------------------------
Footer
----------------------------------------------------------------------------- */

#footer {
	clear: both;
	width: 80%;
	max-width: 1280px;
	margin: 2em auto;
	padding: 0;
	font-family: 'franklin-gothic-urw-comp', sans-serif;
	font-size: 12px;
	line-height: 1.5em;
	text-align: right;
	text-transform: uppercase;
}
#copyright span { display: block; float: left; }

/* Footer ------------------------------------------------------------------- */


/* -----------------------------------------------------------------------------
Individual Page Overrides
----------------------------------------------------------------------------- */

/* Home Page */
.home section {
	position: relative;
	clear: both;
	width: 80%;
	max-width: 1280px;
	margin: 2em auto;
	padding: 0;
}
.home .entry-content h2, .home .entry-content h3, .home .entry-content h4, .home .entry-content h5, .home .entry-content h6, .home .entry-content p, .home .entry-content pre, .home .entry-content ul, .home .entry-content ol { width: auto; }

.home #header {
	color: #fff;
	background: #555;
	background-size: 100% auto;
	background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
.home #header #intro {
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 42%;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	width: auto;
	padding: 2em;
}
.home #header #intro h2 {
	width: auto;
	margin: 0;
	font-size: 250%;
	line-height: 0.875em;
	color: #fff;
}
.home #header #intro p { width: 100%; }
.home #header #intro p span { display: block; text-align: right; }
/* Home Page */

/* Contact Form 7 */
.wpcf7 textarea { height: 12em; }
span.wpcf7-list-item {
	display: block !important;
	font-family: 'franklin-gothic-urw', sans-serif;
	text-align: left;
}
span.wpcf7-list-item input[type="checkbox"], span.wpcf7-list-item input[type="radio"] {
	display: inline;
	width: auto;
	vertical-align: middle;
}
.wpcf7-form-control-wrap { width: 50%; }
.wpcf7-form-control-wrap.recaptcha { display: block; }
div.wpcf7 .wpcf7-recaptcha div {
	margin: 1em auto;
	text-align: center;
}
div.wpcf7 .wpcf7-recaptcha div div { margin: 0; }
div.wpcf7 .wpcf7-recaptcha iframe {
	width: 304px;
	max-width: none;
	margin: 0;
}
.wpcf7-submit {
	border: 1px solid #555;
	color: #fff;
	background: #5a7f72;
	font-family: 'franklin-gothic-urw', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
}
.wpcf7-submit:focus, .wpcf7-submit:active, .wpcf7-submit:hover {
	border: 1px solid #070;
	background: #090;
}
/* Contact Form 7 */

.error404 {
	margin: 2% 2% 4%;
	padding: 2%;
	background: #1c0400;
	border: 1px solid #482800;
}
.error404 h1, .error404 .entry-content {
	margin: 0;
	width: auto;
	min-width: 0;
	max-width: none;
}
.error404 .widget_tag_cloud { margin: 24px 0 0; }

/* COVID Tile */
#covid { margin: 0.5em auto -1em; padding: 1em 0; color: #fff; background: #5a7f72; }
#covid p { margin: 0.25em 1.25em; }
#covid ul { list-style: disc; padding: 0.375em 1.25em 0; columns: 12em 2; }
#covid li { margin-left: 1.25em; padding: 0.25em 0 0; font-size: 90%; line-height: 1.25em; }
/* COVID Tile */

/* Individual Page Overrides ------------------------------------------------ */


/* -----------------------------------------------------------------------------
Responsive Overrides
----------------------------------------------------------------------------- */

@media screen and (max-width: 1024px) {
	#connect ul { font-size: 15px; line-height: 10px; }
	.home #header #intro h2 { font-size: 200%; }
	.home #header #intro p { font-size: 15px; line-height: 1.25em; }
	#copyright span { float: none; }
}
/* 1024px and less */

@media screen and (max-width: 768px) {
	body { font-size: 15px; }
	#connect, #header, .entry-title, .entry-content, #footer, .home section { width: 90%; }
	.sidebar { float: none; width: auto; max-width: none; margin: 1em 0 0; }
	.home #header #intro { padding: 1em; }
	.home #header #intro h2 { font-size: 150%; }
	.home .sidebar { display: none; }
	.entry-title, .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 { margin-top: 1em; }
	input, input[type=text], input[type=password], textarea, select, .wpcf7-form-control-wrap { width: 100%; }
	span.wpcf7-list-item { padding: 0 0 15px; }
}
/* 768px and less */

@media screen and (max-width: 600px) {
	#connect ul { display: none; }
	#connect .ident img { width: 200px; }
	#mobile { position: absolute; top: 67px; right: 5%; z-index: 9; display: block; text-align: right; }
	#menuToggle { position: relative; z-index: 1; display: block; -webkit-user-select: none; user-select: none; }
	#menuToggle input { position: absolute; top: -7px; left: -5px; z-index: 2; display: block; width: 40px; height: 32px; cursor: pointer; opacity: 0; -webkit-touch-callout: none; }
	#menuToggle span { position: relative; z-index: 1; display: block; width: 33px; height: 4px; margin-bottom: 5px; background: #cdcdcd; border-radius: 3px; transform-origin: 4px 0px; transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0), background 0.5s cubic-bezier(0.77,0.2,0.05,1.0), opacity 0.55s ease; }
	#menuToggle span:first-child { transform-origin: 0% 0%; }
	#menuToggle span:nth-last-child(2) { transform-origin: 0% 100%; }
	#menuToggle input:checked ~ span { opacity: 1; transform: rotate(45deg) translate(-2px, -1px); background: #232323; }
	#menuToggle input:checked ~ span:nth-last-child(3) { opacity: 0; transform: rotate(0deg) scale(0.2, 0.2); }
	#menuToggle input:checked ~ span:nth-last-child(2) { transform: rotate(-45deg) translate(0, -1px); }
	#mobile ul { position: absolute; top: -17px; right: 0; display: none; padding-top: 47px; background: rgba(255, 255, 255, 0.95); list-style-type: none; -ms-touch-action: none; touch-action: none; -webkit-animation: fade-in 0.375s linear; animation: fade-in 0.375s linear; }
	#menuToggle input:checked ~ ul { display: block; }
	#mobile li { display: block; font-size: 18px; line-height: 40px; white-space: nowrap; }
	#mobile li a { padding: 10px; }
	.home #header #intro { position: relative; left: 0; background: #222; }
	.home #header #intro h2 { position: absolute; top: -40%; left: 44%; right: 0; }
	.home #header #intro p { /*margin: 0;*/ }
}
/* 600px and less */

/* Responsive Overrides ----------------------------------------------------- */