/* ==========================================================================
   Base styles
   ========================================================================== */
html { font-size: 12px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2); }
body { line-height: 1.4; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
*,
*:before,
*:after { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; }
a { color: inherit; text-decoration: none; }
a.link:focus,
a.link:hover { text-decoration: underline; }
ul { padding: 0; }
input,
button,
select,
textarea { font-family: inherit; font-size: inherit; line-height: inherit; }
figure { margin: 0; }
p { margin: 0 0 10px; }
small { font-size: 70%; }
input[type="radio"],
input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; }
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus { outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */
::-moz-selection { background: #b3d4fc; text-shadow: none; }
::selection { background: #b3d4fc; text-shadow: none; }

/* * A better looking default horizontal rule */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

/* * Remove the gap between audio, canvas, iframes, * images, videos and the bottom of their containers: * https://github.com/h5bp/html5-boilerplate/issues/440 */
audio,
canvas,
iframe,
img,
svg,
video { vertical-align: middle; }

/* * Remove default fieldset styles. */
fieldset { border: 0; margin: 0; padding: 0; }

/* * Allow only vertical resizing of textareas. */
textarea { resize: vertical; }

/* * Allow images to be responsive. */
img { max-width: 100%; height: auto; vertical-align: top; }

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */
.browserupgrade { margin: 0.2em 0; background: #ccc; color: #000; padding: 0.2em 0; }

/* ==========================================================================
   Helper classes
   ========================================================================== */
a,
button { -webkit-transition: 0.3s all linear; -moz-transition: 0.3s all linear; -ms-transition: 0.3s all linear; -o-transition: 0.3s all linear; transition: 0.3s all linear; }
.link-block { display: inline-block; }
.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
* html .clearfix { height: 1%; }
.clearfix { display: block; }
.block { display: block; width: 100%; }
.list-unstyled { padding-left: 0; list-style: none; }
.list-inline { padding-left: 0; list-style: none; font-size: 0; }
.list-inline > li { display: inline-block; font-size: 12px; }
.img-responsive { display: block; max-width: 100%; height: auto; margin: auto; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }
.text-justify { text-align: justify; }
.text-nowrap { white-space: nowrap; }
.text-lowercase { text-transform: lowercase; }
.text-uppercase { text-transform: uppercase; }
.text-capitalize { text-transform: capitalize; }
.form-control { display: block; width: 100%; padding: 0.6em 0.75em; font-size: 14px; line-height: 1.42857143; color: inherit; background: none; border: 1px solid #c6c6c6; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; }
.select.form-control { padding: 0; background-image: url(../images/icon_arrow_select.png); background-position: right center; background-repeat: no-repeat; }
.select select { display: block; width: 100%; border: 0; outline: 0; padding: 0.6em 0.75em; font-size: 14px; -webkit-user-select: none; -moz-user-select: -moz-none; -ms-user-select: none; user-select: none; -webkit-appearance: none; -moz-appearance: radio-container; appearance: none; background: none; }
.form-control:focus,
.select.form-control:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6); }
.form-control::-moz-placeholder { color: #999; opacity: 1; }
.form-control:-ms-input-placeholder { color: #999; }
.form-control::-webkit-input-placeholder { color: #999; }
.form-control::-ms-expand { border: 0; background-color: transparent; }
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control { background-color: #eeeeee; opacity: 1; }
.form-control[disabled],
fieldset[disabled] .form-control { cursor: not-allowed; }
textarea.form-control { height: auto; }
input[type="search"] { -webkit-appearance: none; }
.btn { display: inline-block; margin-bottom: 0; font-weight: normal; text-align: center; vertical-align: middle; touch-action: manipulation; cursor: pointer; background-image: none; border: 1px solid transparent; white-space: nowrap; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus { outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
.btn:hover,
.btn:focus,
.btn.focus { color: #333; text-decoration: none; }
.nav > li > a { position: relative; display: block; padding: 10px 15px; }
.center-block { display: block; margin-left: auto; margin-right: auto; }
.pull-right { float: right !important; }
.pull-left { float: left !important; }
.hide { display: none !important; }
.show { display: block !important; }
.row.no-gutter { margin-right: 0; margin-left: 0; }
.row.no-gutter > [class^='col-'],
.row.no-gutter > [class^='col-'] > .row { padding: 0; }
.posrel { position: relative; }
.show-sm { display: none; }
.show-md { display: none; }
.show-lg { display: none; }
@media only screen and (min-width:768px) {
	.show-xs { display: none; }
}
@media only screen and (min-width:1200px) {
	.show-lg { display: block; }
}
@media only screen and (max-width:1199px) and (min-width:1024px) {
	.show-md { display: block; }
}
@media only screen and (max-width:1023px) and (min-width:768px) {
	.show-sm { display: block; }
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (min-width:768px) {
	body,
	.list-inline > li { font-size: 12px; }
}
@media only screen and (min-width:1024px) {
	body,
	.list-inline > li { font-size: 14px; }
}
@media only screen and (min-width:1200px) {
	body,
	.list-inline > li { font-size: 16px; }
}

/*####    ########## ####   #### ####      ##########
####   ### ########## ####   #### ####      ##########
####          ####     #### ####  ####      ####
 ####        ####       #r3d#    ####      ##########
	####      ####        ###     ####      ##########
	  ####    ####        ###     ####      ####
###   ####    ####        ###     ######### ##########
 ######      ####        ###     ######### ########*/
body { font-family: 'Lato', sans-serif; color: #414141; }
h1,
h2,
h3,
h4,
h5,
h6 { margin: 0; }
strong { font-weight: 900; }
.semi-bold { font-weight: 700; }
.btn-01 { background: #56d700; color: #fff; text-transform: uppercase; letter-spacing: 1px; border-radius: 7.5em; }
.btn-02 { background: #56d700; color: #fff; text-transform: uppercase; letter-spacing: 1px; border-radius: 0; }
.title-01 { font-weight: 300; text-align: center; font-size: 3.3125em; text-transform: uppercase; }
.header-area { position: fixed; top: 0; right: 0; left: 0; z-index: 1; }
.header-block-01 { color: #fff; padding: 0.75em 0; }
.content-block { overflow: hidden; }
.header-block-01 a[href^="tel:"] { display: inline-block; padding-left: 1.5em; background: url(../images/icon_phone_01.png) left center no-repeat; }
.header-block-01 a[href^="mailto:"] { display: inline-block; padding-left: 1.75em; background: url(../images/icon_message_01.png) left center no-repeat; }
.header-block-02 { padding: 0.75em 0; background: #fff; }
.header-block-02 .col-menu { text-transform: uppercase; }
.header-block-02 .col-menu li + li { margin-left: 1.5em; }
.banner-area { background: url(../images/bg_01.jpg) center; background-size: cover; }
.banner-block { padding: 40vh 0 30vh; color: #fff; }
.banner-block h1 { font-size: 3.625em; line-height: 1.125; margin-bottom: 1em; }
.banner-block h1 span { font-weight: 300; display: block; font-size: 0.75em; text-transform: uppercase; }
.banner-block .btn { font-size: 1.5em; padding: 0.75em 2.5em; }
.section-01 .col-item { text-align: center; }
.section-01 { max-width: 1900px; margin: auto; padding: 3.5em 0 0; background: url(../images/bg_02.jpg) top center no-repeat; \
background-size: contain; }
.section-01 .col-item { margin-top: 5em; padding-top: 2.5em; padding-bottom: 2.5em; }
.section-01 .col-item h4 { font-size: 1.25em; text-transform: uppercase; margin: 1em 0; }
.section-01 .col-item:not(.active) h4 { color: #1e4b8b; }
.section-01 .col-item.active { background: #2d62bb; color: #fff; position: relative;}

@media only screen and (min-width: 1024px) {
	.section-01 .col-item.active:after {
		content: '';
		display: block;
		height: 1.75em;
		width: 100%;
		position: absolute;
		top: 100%;
		left: 0;
		background: url(../images/bottom_arrow_01.png) center no-repeat;
		background-size: 100% 100%;
		z-index: 1;
	}
}

.section-02 { position: relative; padding: 4.5em 0 3.5em; background: #1d478b; color: #fff; max-width: 1900px; margin: auto; }
.section-02:before { content: ''; position: absolute; top: 0; left: 0; width: 50%; height: 100%; background: url(../images/img_feature_01.png) center no-repeat; background-size: cover; }
.section-02 .col-content { text-align: right; }
.section-02 .col-content h2 { position: relative; text-align: right; padding-bottom: 0.325em; }
.section-02 .col-content h2:after { content: ''; display: block; width: 5em; height: 1px; background: #c7c7c7; position: absolute; bottom: 0; right: 0; }
.section-02 .col-content .section-content { position: relative; margin-top: 5em; margin-bottom: 4em; }
.section-02 .col-content .section-content:before { content: ''; display: block; position: absolute; border: 0.625em solid #fff; top: -3.5em; right: -3.5em; bottom: -3.5em; left: -10em; }
.section-03 { padding: 3.5em 0; background: url(../images/bg_03.jpg) center; background-size: cover; color: #fff; }
.section-03 .form-block { text-align: left; position: relative; border: 0.625em solid #fff; padding: 2em 2em 2.5em; }
.section-03 .form-block [type="submit"] { padding-right: 2em; padding-left: 2em; }
.section-03 .row-content { margin-top: 4.5em; }
.field-block { margin-top: 10px; }
.field-block label { font-weight: 300; letter-spacing: 1px; }
.field-block .field { margin-top: 5px; }
.form-control { font-size: 12px; background: #f6f6f6; border-radius: 0; border: none; padding: 1em; color: #666; transform: translate(); }
.section-03 .contact-info { text-align: left; font-size: 1.75em; }
.section-03 .contact-info ul li { font-size: 0.8em; }
.footer-area { padding: 1.5em 0 2.5em; color: #7d91b1; font-weight: 300; font-size: 0.75em; }
.footer-block .nav-list { font-weight: 700; margin-bottom: 2.75rem; }
.footer-block .nav-list li + li:before { content: '|'; display: inline-block; margin: -0.475em 5px 0; }
.footer-block .nav-list li a { font-size: 1.125em; color: #000; }
.footer-block .nav-social { margin-top: 1rem; }
.footer-block .nav-social li span { font-size: 0.75em; }
.footer-block .nav-social li + li { padding-left: 1em; }
@media only screen and (max-width:1023px) {
	.col-logo a img,
	.footer-block .col-right a img { max-height: 60px; }
	.banner-block { padding: 20em 0 10em; }
	.section-03 .col-content { margin-top: 2.5em; }
	.section-01 .col-item { -webkit-flex: 1 0 50%; -moz-flex: 1 0 50%; -ms-flex: 1 0 50%; -o-flex: 1 0 50%; flex: 1 0 50%; max-width: 50%; margin-top: 0; }
	.section-01 .col-item.active { -webkit-flex: 1 0 100%; -moz-flex: 1 0 100%; -ms-flex: 1 0 100%; -o-flex: 1 0 100%; flex: 1 0 100%; max-width: 100%; }
	.header-block-01 a[href^="mailto:"],
	.header-block-01 a[href^="tel:"] { background-size: contain; }
}
@media only screen and (max-width:767px) {
	.header-block-01 .col-left,
	.header-block-01 .col-right { width: auto; }
	.header-block-02 { text-align: center; }
	.header-block-02 .col-menu ul { margin: 5px -10px 0; }
	.header-block-02 .col-menu li { margin: 0.475em !important; }
	.header-block-01 a[href^="mailto:"],
	.header-block-01 a[href^="tel:"] { font-size: 0.875em; }
	.banner-block { padding: 15em 0 5em; }
	.banner-block h1 { font-size: 2.25em; }
	.banner-block h1 span { display: block; margin-top: 5px; }
	.title-01 { font-size: 1.875em; }
	.section-01 .col-item { -webkit-flex: 1 0 100%; -moz-flex: 1 0 100%; -ms-flex: 1 0 100%; -o-flex: 1 0 100%; flex: 1 0 100%; max-width: 100%; }
	.section-02 .col-content .section-content:before,
	.section-02:before { display: none; }
	.section-02 { padding: 2.5em 10px; }
	.section-02 .col-content,
	.section-02 .col-content h2 { text-align: center; }
	.section-02 .col-content h2:after { right: 50%; margin-right: -2.5em; }
	.section-02 .col-content .section-content,
	.section-03 .row-content { margin: 2.5em 0 0; }
	.section-03 .form-block { margin: 0 -1.25em; padding: 0; border: none; }
	.section-03 .contact-info { font-size: 1.25em; }
	.footer-block { text-align: center; }
	.footer-block .nav-social li:first-child { display: block; margin-bottom: 3px; }
	.section-01 .col-item { padding-top: 1em; padding-bottom: 1em; }
}