/* General box items */
html { box-sizing: border-box; font-family: 'Fira Sans', 'Arial', 'Helvetica', sans-serif; }
*, *:before, *:after { box-sizing: inherit; background-color: transparent; }
html, body { margin: 0; padding: 0; }

/* Coloration */
.bg-black { background-color: #000; }
.bg-dark { background-color: #2b2b2b; }
.bg-medium-dark { background-color: #575757; }
.bg-medium { background-color: #828282; }
.bg-medium-light { background-color: #adadad; }
.bg-light { background-color: #d9d9d9; }
.bg-white { background-color: #fff; }

.t-dark { color: #111; }
.t-medium { color: #333; }
.t-light { color: #fff; }

.bg-red { background-color: #bd1313; }
.bg-orange { background-color: #ec4e1b; }
.bg-yellow { background-color: #ffc300; }
.bg-green { background-color: #00993f; }
.bg-blue { background-color: #268bd2; }
.bg-indigo { background-color: #00255e; }
.bg-violet { background-color: #52197e; }
.bg-magenta { background-color: #d33682; }

.bg-red-hover:hover { background-color: #bd1313; }
.bg-orange-hover:hover { background-color: #ec4e1b; }
.bg-yellow-hover:hover { background-color: #ffc300; }
.bg-green-hover:hover { background-color: #00993f; }
.bg-blue-hover:hover { background-color: #268bd2; }
.bg-indigo-hover:hover { background-color: #00255e; }
.bg-violet-hover:hover { background-color: #52197e; }
.bg-magenta-hover:hover { background-color: #d33682; }

.c-red { color: #bd1313; }
.c-orange { color: #ec4e1b; }
.c-yellow { color: #ffc300; }
.c-green { color: #00993f; }
.c-blue { color: #268bd2; }
.c-indigo { color: #00255e; }
.c-violet { color: #52197e; }
.c-magenta { color: #d33682; }

.c-red-hover:hover { color: #bd1313; }
.c-orange-hover:hover { color: #ec4e1b; }
.c-yellow-hover:hover { color: #ffc300; }
.c-green-hover:hover { color: #00993f; }
.c-blue-hover:hover { color: #268bd2; }
.c-indigo-hover:hover { color: #00255e; }
.c-violet-hover:hover { color: #52197e; }
.c-magenta-hover:hover { color: #d33682; }

.b-red { border-color: #bd1313; }
.b-orange { border-color: #ec4e1b; }
.b-yellow { border-color: #ffc300; }
.b-green { border-color: #00993f; }
.b-blue { border-color: #268bd2; }
.b-indigo { border-color: #00255e; }
.b-violet { border-color: #52197e; }
.b-magenta { border-color: #d33682; }

.b-red-hover:hover { border-color: #bd1313; }
.b-orange-hover:hover { border-color: #ec4e1b; }
.b-yellow-hover:hover { border-color: #ffc300; }
.b-green-hover:hover { border-color: #00993f; }
.b-blue-hover:hover { border-color: #268bd2; }
.b-indigo-hover:hover { border-color: #00255e; }
.b-violet-hover:hover { border-color: #52197e; }
.b-magenta-hover:hover { border-color: #d33682; }

.bg-red-dim { background-color: #5e0909; }
.bg-orange-dim { background-color: #78280d; }
.bg-yellow-dim { background-color: #806200; }
.bg-green-dim { background-color: #004d20; }
.bg-blue-dim { background-color: #134569; }
.bg-indigo-dim { background-color: #001330; }
.bg-violet-dim { background-color: #2a0d40; }
.bg-magenta-dim { background-color: #6b1c42; }

.c-red-dim { color: #5e0909; }
.c-orange-dim { color: #78280d; }
.c-yellow-dim { color: #806200; }
.c-green-dim { color: #004d20; }
.c-blue-dim { color: #134569; }
.c-indigo-dim { color: #001330; }
.c-violet-dim { color: #2a0d40; }
.c-magenta-dim { color: #6b1c42; }

.b-red-dim { border-color: #5e0909; }
.b-orange-dim { border-color: #78280d; }
.b-yellow-dim { border-color: #806200; }
.b-green-dim { border-color: #004d20; }
.b-blue-dim { border-color: #134569; }
.b-indigo-dim { border-color: #001330; }
.b-violet-dim { border-color: #2a0d40; }
.b-magenta-dim { border-color: #6b1c42; }

.bg-red-dim-hover:hover { background-color: #5e0909; }
.bg-orange-dim-hover:hover { background-color: #78280d; }
.bg-yellow-dim-hover:hover { background-color: #806200; }
.bg-green-dim-hover:hover { background-color: #004d20; }
.bg-blue-dim-hover:hover { background-color: #134569; }
.bg-indigo-dim-hover:hover { background-color: #001330; }
.bg-violet-dim-hover:hover { background-color: #2a0d40; }
.bg-magenta-dim-hover:hover { background-color: #6b1c42; }

.c-red-dim-hover:hover { color: #5e0909; }
.c-orange-dim-hover:hover { color: #78280d; }
.c-yellow-dim-hover:hover { color: #806200; }
.c-green-dim-hover:hover { color: #004d20; }
.c-blue-dim-hover:hover { color: #134569; }
.c-indigo-dim-hover:hover { color: #001330; }
.c-violet-dim-hover:hover { color: #2a0d40; }
.c-magenta-dim-hover:hover { color: #6b1c42; }

.b-red-dim-hover:hover { border-color: #5e0909; }
.b-orange-dim-hover:hover { border-color: #78280d; }
.b-yellow-dim-hover:hover { border-color: #806200; }
.b-green-dim-hover:hover { border-color: #004d20; }
.b-blue-dim-hover:hover { border-color: #134569; }
.b-indigo-dim-hover:hover { border-color: #001330; }
.b-violet-dim-hover:hover { border-color: #2a0d40; }
.b-magenta-dim-hover:hover { border-color: #6b1c42; }

/* Outlines */
.o-n { border-width: 0; border-style: solid; }
.o-a { border-width: 1px; border-style: solid; }
.o-tb { border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid; }
.o-lr { border-left-width: 1px; border-right-width: 1px; border-left-style: solid; border-right-style: solid; }
.o-3d { border-bottom-width: 5px; border-style: solid; }

.rounded-light { border-radius: 5px; }
.rounded-medium { border-radius: 10px; }
.rounded-heavy { border-radius: 25px; }

/* Default textual */
p, ul, ol, span { font-size: 16px; line-height: 24px; }
p { margin: 0 0 16px 0; padding: 0; }
p:last-child { margin: 0; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { font-weight: bold; text-decoration: none; padding: 0; margin: 0 0 20px 0; }
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a, h6 a, .h6 a { text-decoration: none !important; }
h1, .h1 { font-size: 36px; line-height: 40px; }
h2, .h2 { font-size: 32px; line-height: 36px; }
h3, .h3 { font-size: 28px; line-height: 32px; }
h4, .h4 { font-size: 24px; line-height: 28px; }
h5, .h5 { font-size: 20px; line-height: 24px; }
h6, .h6 { font-size: 16px; line-height: 20px; }

a { border: none; outline: none; font-weight: 400; text-decoration: underline; cursor: pointer; }

strong { font-weight: 700; }

/* Keep images contained */
img { max-width: 100%; height: auto; border: none; outline: none; }

/* Layout */
.fullwidth { width: 100%; margin: 0; padding: 0; }
.container { width: 100%; max-width: 1100px; margin: 0 auto; padding: 0; position: relative; }
.t-container { display: table; width: 100%; margin: 0 auto; padding: 0; }
.section { }
.section:after { display: table; content: ""; clear: both; float: none; }
.section + .section { margin: 30px 0 0 0; }
.logical-block { /*border-top: 1px dashed red; border-bottom: 1px dashed red;*/ }

.standard-h-pad { padding-left: 15px; padding-right: 15px; }
.standard-v-pad { padding-top: 30px; padding-bottom: 30px; }
.mobile-h-pad { padding-left: 0px; padding-right: 0px; }
.mobile-v-pad { padding-top: 0px; padding-bottom: 0px; }

/* Columns */
.col-1 { width: 100%; }
.col-2 { width: 50%; }
.col-2 { width: 60%; }
.col-2 { width: 40%; }
.col-3 { width: 33.33333%; }
.col-4 { width: 25%; }
.col-5 { width: 20%; }
.col-6 { width: 16.66666%; }
.col-7 { width: 14.28571%; }
.col-8 { width: 12.5%; }
.col-9 { width: 11.11111%; }
.col-10 { width: 10%; }
.col-11 { width: 9.0909%; }
.col-12 { width: 8.33333%; }

/* Column Types */
.b-col { display: block; float: left; clear: none; margin: 0; }
.ib-col { display: inline-block; vertical-align: top; }
.t-col { display: table-cell; }

/* Column Modifiers */
.r-flip { text-align: left; direction: ltr; }

.ib-v-m, .t-v-m { vertical-align: middle; }
.ib-v-t, .t-v-t { vertical-align: top; }
.ib-v-b, .t-v-b { vertical-align: bottom; }

/* Column Widths */
.w-5, .w-5[class^="col-"] { width: 5%; }
.w-10, .w-10[class^="col-"] { width: 10%; }
.w-15, .w-15[class^="col-"] { width: 15%; }
.w-20, .w-20[class^="col-"] { width: 20%; }
.w-25, .w-25[class^="col-"] { width: 25%; }
.w-30, .w-30[class^="col-"] { width: 30%; }
.w-35, .w-35[class^="col-"] { width: 35%; }
.w-40, .w-40[class^="col-"] { width: 40%; }
.w-45, .w-45[class^="col-"] { width: 45%; }
.w-50, .w-50[class^="col-"] { width: 50%; }
.w-55, .w-55[class^="col-"] { width: 55%; }
.w-60, .w-60[class^="col-"] { width: 60%; }
.w-65, .w-65[class^="col-"] { width: 65%; }
.w-70, .w-70[class^="col-"] { width: 70%; }
.w-75, .w-75[class^="col-"] { width: 75%; }
.w-80, .w-80[class^="col-"] { width: 80%; }
.w-85, .w-85[class^="col-"] { width: 85%; }
.w-90, .w-90[class^="col-"] { width: 90%; }
.w-95, .w-95[class^="col-"] { width: 95%; }

/* Column Gutters */
.gut { padding-left: 8px; padding-right: 8px; }
.gut[class^="col-"]:first-of-type { padding-right: 8px; padding-left: 0; }
.gut[class^="col-"]:last-of-type { padding-right: 0; padding-left: 8px; }

.no-gut { padding: 0 !important; }

.clear:after { display: table; clear: both; content: ""; }

/* Topbar */
#topbar { padding: 10px 0; text-align: right; font-size: 16px; line-height: 22px; font-weight: 300; }
#topbar ul { padding: 0; margin: 0; list-style: none; }
#topbar ul li { display: inline-block; margin: 0; }
#topbar ul li + li { display: margin: 0 0 0 15px; }

/* Logo */
#header { background: #fff; z-index: 100; }
#header .logo { display: block; float: left; border: none; outline: none; }
#header .logo img { display: block; width: 100%; height: auto; border: none; outline: none; }

/* Top nav */
#header nav { position: relative; }
#header nav a { text-decoration: none; display: block; cursor: pointer; }
#header nav ul { margin: 0; padding: 0; list-style: none; }
#header nav > ul { display: block; float: right; }
#header nav > ul > li { position: relative; float: left; }
#header nav > ul > li:hover > .sub-menu { display: block; }
#header nav > ul > li > a { font-size: 16px; line-height: 22px; font-weight: 700; text-transform: uppercase; transition: color 0.3s ease; }
#header nav > ul > li > a:hover, #header nav > ul > li:hover > a { transition: color 0.3s ease; }
#header nav > ul > li.callout > a { transition: background-color 0.3s ease, color 0.3s ease; }
#header nav > ul > li.callout > a:hover { transition: background-color 0.3s ease, color 0.3s ease; }

.search-activator { display: inline-block; }
.search-activator:after { font-family: 'FontAwesome'; content: "\f002"; display: inline-block; font-size: 18px; line-height: 18px; position: relative; margin: -3px 0 0 0; }
.search-text { display: none; margin: 0 8px 0 0; }

/* Standard dropdown */
#header nav .sub-menu { width: auto; white-space: nowrap; display: none; position: absolute; margin: 0; padding: 0; left: 0; z-index: 10; }
#header nav .sub-menu li a { padding: 10px 25px; }
#header nav .sub-menu li a:hover { }

/* Mobile search */
.mobile-search { display: none; padding: 20px 10px; position: relative; }
.mobile-search form { display: block; position: relative; }
.mobile-search form input { display: inline-block; margin: 0px; width: 100%; font-size: 20px; line-height: 20px; -webkit-appearance: none; border-radius: 0; padding: .8em 3em .8em 1.5em; }
.mobile-search form input::-webkit-input-placeholder { color: #fff; }
.mobile-search form:after { content: "\f002"; font-family: 'FontAwesome'; display: block; position: absolute; top: 0; right: 0; padding: .8em 1.5em .8em 1.5em; font-size: 22px; font-weight: 300; }

/* Heroes */
.hero { overflow: hidden; position: relative; height: 0; display: table; width: 100%; background-repeat: repeat; background-position: center; }
.hero-big { padding-bottom: 50%; }
.hero-medium { padding-bottom: 37%; }
.hero-small { padding-bottom: 25%; }

.hero-bg-light { background-image: url(../img/img-placeholder-light.png);  }
.hero-bg-medium { background-image: url(../img/img-placeholder-medium.png); }
.hero-bg-dark { background-image: url(../img/img-placeholder-dark.png); }

.hero-min-small { min-height: 200px; }
.hero-min-medium { min-height: 300px; }
.hero-min-large { min-height: 400px; }

.hero-inner { display: table; position: absolute; width: 100%; height: 100%; }
.hero-content { display: table-cell; vertical-align: middle; text-align: center; padding: 20px; }
.hero-message { display: table; max-width: 700px; width: auto; margin: 0 auto; }

.hamburger { display: none; }
.d-shadow { box-shadow: 0 0 5px 0 #444; }
.sticky { position: fixed; }
.all-caps { text-transform: uppercase; }

.button { padding: 15px 30px; margin: 16px 0; text-decoration: none; letter-spacing: 1px; cursor: pointer; }
.button:last-child { margin-bottom: 0; }
.button-inline { display: inline-block; clear: both; }
.button-center { width: auto; display: table; margin-left: auto; margin-right: auto; }
.button-fullwidth { width: 100%; display: block;  }

div.sticky + div { padding-top: 94px; }
div.with-topbar.sticky + div { padding-top: 136px; }

.t-space-small { letter-spacing: 1px; }
.t-space-medium { letter-spacing: 3px; }
.t-space-large { letter-spacing: 5px; }

.pad-light { padding: 8px; }
.pad-medium { padding: 16px; }
.pad-large { padding: 35px; }

/* Responsive necessities */
.block-tablet-only { display: none; }
.block-mobile-only { display: none; }

.no-dots { list-style: none; padding: 0; }
.a-block { display: block; }
.a-iblock { display: inline-block; }
.site-by-scheffey { display: inline-block; padding-right: 24px; background: url(../img/scheffey-icon.png) no-repeat right 8px center; font-size: 12px; line-height: 12px; }

/* Desktop width limits */
@media screen and (max-width: 1100px) {
    .mobile-h-pad { padding-left: 15px; padding-right: 15px; }
    .mobile-v-pad { padding-top: 20px; padding-bottom: 20px; }
}

@media screen and (max-width: 960px) {
    .block-tablet-only { display: block; }
    .tablet-block { display: block; width: 100% !important; }
    .gut.tablet-block { padding-left: 0; padding-right: 0; }
    .gut.tablet-block[class^="col-"]:first-of-type { padding-right: 0; padding-left: 0; }
    .gut.tablet-block[class^="col-"]:last-of-type { padding-right: 0; padding-left: 0; }
    .tablet-block + .tablet-block { margin: 30px 0 0 0; }

    .hamburger { display: block; float: right; cursor: pointer; text-decoration: none; }

    #header.mobile-menu-visible { height: 100%; overflow-y: scroll; }
	#header nav { clear: both; display: none; overflow: auto; max-height: 100%; }
	#header nav ul { float: none; clear: both; width: 100%; }
	#header nav ul a:hover {  }
	#header nav ul.sub-menu { display: none; white-space: normal; }
	#header nav > ul { float: none; width: 100%; }
	#header nav > ul > li { float: none; display: block; width: 100%; }
	#header nav > ul > li > a { /*padding: 15px 10px;*/ width: 100%; }
	#header nav > ul > li > a:hover {  }
	#header nav > ul > li > .sub-menu { position: relative; padding: 0; box-shadow: none; width: 100%; }
    #header nav > ul > li > .sub-menu a { font-size: inherit; line-height: inherit; /*padding: 15px 10px;*/ }
	#header nav > ul > li:hover > .sub-menu { display: none; }
	#header nav > ul .nav-search { display: none; }

	/* Standard dropdown */
	/*#header nav .menu-item-has-children > a::after { display: inline-block; content: "\f0d7"; margin: 0 0 0 8px; font-family: 'FontAwesome'; }*/
	/*#header nav .sub-menu li a { padding-left: 20px !important; }
	#header nav .sub-menu .sub-menu li a { padding-left: 30px !important; }*/

	/* Mobile search */
	.mobile-search { display: block; }
    .tablet-hide { display: none; }
    .tablet-unstick { position: static; }
    div.sticky.tablet-unstick + div { padding-top: 0; }
    div.with-topbar.sticky.tablet-unstick + div { padding-top: 0; }
}

@media screen and (max-width: 768px) {
    .block-mobile-only { display: block; }
    .mobile-block { display: block; width: 100% !important; }
    .mobile-block + .mobile-block { margin: 30px 0 0 0; }
    .mobile-hide { display: none; }
    .mobile-unstick { position: static; }
    div.sticky.mobile-unstick + div { padding-top: 0; }
    div.with-topbar.sticky.mobile-unstick + div { padding-top: 0; }
    .gut.mobile-block { padding-left: 0; padding-right: 0; }
    .gut.mobile-block[class^="col-"]:first-of-type { padding-right: 0; padding-left: 0; }
    .gut.mobile-block[class^="col-"]:last-of-type { padding-right: 0; padding-left: 0; }
}

@media screen and (max-width: 480px) {
    .small-mobile-block { display: block; width: 100%; }
}
