/*
Theme Name: Divi - ModularityNET Child Theme
Description: A child theme to house custom coding which modifies the
			 Divi parent theme by Elegant Themes. Includes default line
			 numbers where the code was taken from in the parent theme.
Author: weCreate Website Design & Marketing
Author URI: https://www.modularitynet.com/
Original Author: Brad Dalton http://wpsites.net
Template: Divi
Version: 1.0
*/

/*
Use "Find/Search" feature to skip ahead to the section you need to ammend or edit
-------------------------------------------------------------------------------------
Contents
————————
- General
- Navigation
- Global Buttons
- Forms
- Testimonials
- Homepage Elements
- Internal Pages
- Miscellaneous
- Footer Area
- Media Queries
	- min 450px
	- min 981px

-------------------------------------------------------------------------------------

Fonts
—————
- Oswald
	font-family: 'Oswald', sans-serif;

-------------------------------------------------------------------------------------

Colors
——————
*/

:root {
    --accent-blue: #009de0;
    --accent-green: #77d300;
    --accent-blackish: #231f20;
    --accent-offwhite: #f2f2f2;
}

/************************************************************************************
 *
 *			General
 *
 ***********************************************************************************/

body {
	font-size: 1em;
	line-height: 1.75em;
}

p:empty {
	display: none;
}

a, a:before, a:after, 
.transition, .transition div,
btn, button, input, textarea, select {
	transition: all 0.2s ease 0s;
}  

.oswald, #top-menu li,
h1, h2, h3, h4 {
    font-family: 'Oswald', sans-serif;
}

h1, h2, h3, h4 {
    font-weight: 500;
    line-height: 1.125em;
    padding-bottom: 25px;
    text-transform: uppercase;
}

h1 {
    font-size: 2em;
    font-weight: bold;
}

h2 {
    font-size: 1.5em;
}

h3, .et_pb_column_1_3 h3 {
    font-size: 1.25em;
    font-weight: normal;
    text-transform: none;
}

h4 {
    font-size: 1.125em;
}

.et_pb_text ul,
#single-post-content ul {
    list-style-position: inside;
    list-style-type: disc;
    padding-bottom: 1em;
}

.subheader {
    font-weight: bold;
    letter-spacing: 3px;
    text-transform: uppercase;
}

::selection {
	background: #77d300; /* WebKit/Blink Browsers */
	color: #ffffff;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .25);
}

::-moz-selection {
	background: #77d300; /* Gecko Browsers */
	color: #ffffff;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .25);
}

.layouts-content img {
	margin-bottom: 0;
}

#et-main-area.layouts-content {
	margin-top: 0;
}

.divider-line {
	background-color: #ffffff;
	height: 2px;
	margin: 0 auto 25px;
	width: 75px;
}

.mobile-centered {
	text-align: center;
}

.clear {
	clear: both;
}


/************************************************************************************
 *
 *			Navigation
 *
 ***********************************************************************************/

#wpadminbar,
.et_fixed_nav #main-header {
    position: fixed;
}

body.logged-in #main-header {
    top: 46px;
}

/* --- Primary Navigation --- */

#main-header-elements {
    display: flex;
    justify-content: space-between;
    padding: 18px 24px;
    position: relative;
}

#main-header-elements > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#main-logo {
    margin-right: 25px;
	max-width: 150px;
    width: 50%;
}

#main-logo a {
    display: block;
    line-height: 0;
}

#main-logo img {
    width: 100%;
}

#main-logo svg path,
#main-logo svg polygon,
#main-logo svg rect {
    transition: all .4s ease-in-out;
}

#menu-toggle {
    color: var(--accent-blue);
    display: flex;
    flex-direction: column;
    font-size: 1.75em;
    justify-content: center;
    line-height: 1.125em;
}

#main-header-elements #top-menu {
    background: linear-gradient(#009de0, #0072a3);
    background-color: #009de0;
    bottom: 0;
    border-left: 10px solid #1d1e20;
    display: none;
    left: 0;
    padding: 24px 24px 24px 14px;
    position: absolute;
    transform: translateY(100%);
    width: 100%;
}

#top-menu .widget_nav_menu {
    margin: 0;
    width: 100%;
}

#top-menu .menu-primary-navigation-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#top-menu #menu-primary-navigation {
    padding: 0;
}

#top-menu li {
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    display: block;
    font-size: 1.5em;
    letter-spacing: 1px;
    line-height: 1em;
    margin: 0;
    padding: 8px 0 12px;
	text-transform: uppercase;
}

#top-menu li:first-of-type {
    padding-top: 0;
}

#top-menu li:last-of-type,
#top-menu #menu-account-links li:last-of-type {
    border: 0;
    padding-bottom: 0;
}

#top-menu li a, 
#et-boc #top-menu li a, 
#main-header-elements #top-menu li.current-menu-item > a {
    color: #ffffff;
}

#top-menu .menu-item-has-children > a:first-child:after,
#main-header.et-fixed-header #top-menu .menu-item-has-children > a:first-child:after {
    content: "\4b";
	top: 50%;
    transform: translateY(-50%);
}

#top-menu li.menu-item-has-children .sub-menu li {
    font-size: .85em;
    padding: 10px 25px 8px;
}

#top-menu li.menu-item-has-children .sub-menu li:first-of-type {
    padding-top: 10px;
}

#top-menu li.menu-item-has-children .sub-menu li:last-of-type {
    padding-bottom: 0;
}

#top-menu li.menu-item-has-children .sub-menu li a {
    padding: 0;
}

#top-menu #nav_menu-6 {
    margin-top: 75px;
}

#top-menu #menu-account-links li {
    border: 0;
    font-size: .75em;
    font-weight: normal;
    letter-spacing: .78px;
    padding: 0 0 10px;
}

#top-menu .close-btn {
    color: #ffffff;
    font-size: 1.25em;
    line-height: .75em;
    position: absolute;
    right: 24px;
    top: 24px;
}

.nav li:focus-within > ul {
    opacity: 1;
    visibility: visible;
}

/************************************************************************************
 *
 *			Global Buttons
 *
 ***********************************************************************************/

.btn-container {
	margin-top: 30px;
}

.btn, input[type="submit"],
input.button, .gform_wrapper .gform_footer input.gform_button,
a.more-link, .pagination a, .form-submit .et_pb_button,
.wpv-filter-next-link, .wpv-filter-previous-link {
	background-color: transparent;
	border: 1px solid transparent;
	border-radius: 50px;
	cursor: pointer;
	display: block;
    font-family: 'Oswald', sans-serif;
	font-size: 1.125em;
    font-weight: bold;
    letter-spacing: 1px;
	line-height: 1.125em;
	padding: 12px 25px 14px;
	text-align: center;
	text-decoration: none;
    text-shadow: 0 3px 6px rgba(0, 0, 0, .15);
    text-transform: uppercase;
    white-space: normal;
}

.dark.btn, input[type="submit"], input.button,
.gform_wrapper .gform_footer input.gform_button,
a.more-link, .pagination a, .form-submit .et_pb_button,
.wpv-filter-next-link, .wpv-filter-previous-link {
	background-color: #77d300;
	color: #ffffff;
}

.dark.btn:hover, .dark.btn:focus, .dark.btn:active,
input[type="submit"]:hover, input[type="submit"]:focus, input[type="submit"]:active,
input.button:hover, input.button:focus, input.button:active, 
.gform_wrapper .gform_footer input.gform_button:hover, .gform_wrapper .gform_footer input.gform_button:focus, .gform_wrapper .gform_footer input.gform_button:active, 
a.more-link:hover, a.more-link:focus, a.more-link:active,
.pagination a:hover, .pagination a:focus, .pagination a:active, 
.form-submit .et_pb_button:hover, .form-submit .et_pb_button:focus, .form-submit .et_pb_button:active,
.wpv-filter-next-link:hover, .wpv-filter-next-link:focus, .wpv-filter-next-link:active, 
.wpv-filter-previous-link:hover, .wpv-filter-previous-link:focus, .wpv-filter-previous-link:active {
	background-color: #009de0;
}

.light.btn {
	background-color: #ffffff;
	color: #231f20;
}

.light.btn:hover, .light.btn:focus, .light.btn:active {
	background-color: transparent;
    border-color: #ffffff;
    color: #ffffff;
}

.left.btn {
	margin: 0 0 10px 0;
}

/************************************************************************************
 *
 *			Forms
 *
 ***********************************************************************************/

/* --- Inputs --- */

::placeholder { /* Non-Standard Placeholder Fix for Firefox, Chrome, and Safari */
	color: #222222;
	opacity: 1; /* For Firefox */
}

::-ms-input-placeholder { /* Internet Explorer 10+ and Edge */
    color: #222222;
}

body.et_divi_theme .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
body.et_divi_theme .gform_wrapper .ginput_container_multiselect .chosen-container-multi, 
body.et_divi_theme .gform_wrapper textarea,
body.et_divi_theme .gform_wrapper select {
	background-color: #f4f4f4;
	border: 2px solid transparent;
	border-radius: 4px;
	color: #222222;
	font-size: 1em;
	font-weight: 300;
	height: auto;
	line-height: 1.5em;
	margin: 15px 0 0;
	padding: 15px 18px;
}

body.et_divi_theme .gform_wrapper .ginput_container_select {
    position: relative;
}

body.et_divi_theme .gform_wrapper .ginput_container_select:after {
    border-color: #131a2d transparent transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0 4px;
    content: "";
    height: 0;
    position: absolute;
    right: 18px;
    top: calc(50% + 7.5px);
    transform: translateY(-50%);
    width: 0;
}

body.et_divi_theme .gform_wrapper select {
	padding: 16px 18px;
	-webkit-appearance: none;
}

body.et_divi_theme .gform_wrapper textarea {
	line-height: 1.125em;
	padding: 16px 18px;
}

body.et_divi_theme .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):focus,
body.et_divi_theme .gform_wrapper textarea:focus,
body.et_divi_theme .gform_wrapper select:focus {
    background-color: #dddddd;
	border-color: #009de0;
    box-shadow: 0 5px 10px rgba(0, 0, 0, .25);
}

/* --- Multiselect Field --- */

.gform_wrapper .ginput_container.ginput_container_multiselect .chosen-container.chosen-container-multi ul.chosen-choices li.search-field input[type="text"] {
	color: #2a2a2a;
	font-size: 1em; 
	height: auto;
	line-height: 0;
	padding: 30px 20px 25px;
	width: 100% !important;
}

.gform_wrapper .ginput_container_multiselect .chosen-choices {
	border: 0;
}

.gform_wrapper .chosen-container .chosen-results li {
	padding: 6px;
}

.gform_wrapper .ginput_container_multiselect .search-choice {
	font-size: .5em;
}

/* --- Spacing Fixes --- */

.gform_wrapper .ginput_complex .ginput_left {
	min-height: 0;
}

body.et_divi_theme .gform_wrapper .top_label div.ginput_container, .ui-datepicker {
	margin-top: 0;
}

body.et_divi_theme .gform_wrapper .ginput_container span:not(.ginput_price),
.gform_wrapper .ginput_container_address span:last-of-type input[type="text"],
.gform_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container select {
	margin-bottom: 0;
}

.gform_wrapper ul.gform_fields > li.gfield:not(.gf_left_half) {
    padding-right: 0;
}

.gform_wrapper ul.gform_fields li.gfield,
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_first, 
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_last, 
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_middle,
.gform_wrapper .top_label li.gfield.gf_left_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker), 
.gform_wrapper .top_label li.gfield.gf_right_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker) {
    margin: 0;
}

.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_first, 
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_last, 
.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_middle {
	padding: 0;
}

.gform_wrapper .gform_footer.top_label {
	margin: 0;
	padding: 16px 0 0;
}

.gfield_description, .screen-reader-text {
	color: #2a2a2a;
}

.gform_wrapper .gfield_visibility_visible {
	width: 100%;
}

/************************************************************************************
 *
 *			Testimonials
 *
 ***********************************************************************************/

#testimonials h2 {
    padding-bottom: 30px;
}

#testimonial-wrapper {
    position: relative;
    transition: all .75s ease 0s;
}

#testimonial-pagination {
    display: none;
    justify-content: space-between;
    left: 50%;
    max-width: 1300px;
    padding: 25px 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

#testimonial-pagination > a {
    border-radius: 0;
    border-style: solid;
    cursor: pointer;
    height: 0;
    position: relative;
    transition: all .2s ease 0s;
    width: 0;
}

.testimonial-page-left {
    border-color: transparent #000000 transparent transparent;
    border-width: 7px 12.1px 7px 0;
}

.testimonial-page-left:hover, .testimonial-page-left:focus {
	border-color: transparent #c3c3c3 transparent transparent;
}

.testimonial-page-right {
    border-color: transparent transparent transparent #000000;
    border-width: 7px 0 7px 12.1px;
}

.testimonial-page-right:hover, .testimonial-page-right:focus {
	border-color: transparent transparent transparent #c3c3c3;
}

.testimonial-loop-item {
    background-color: #ffffff;
    left: 0;
    position: absolute;
	text-align: center;
    top: 0;
    width: 100%;
}

.testimonial-loop-item p:not(.has-background):last-of-type {
    font-style: italic;
    padding-bottom: 25px;
}

.testimonial-loop-item h3 {
    font-size: 1.7em;
    padding-bottom: 0;
}

.testimonial-loop-item .subheader {
    color: #000000;
}

#testimonial-controls {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

#testimonial-controls > a {
    border: 1px solid #000000;
    border-radius: 50%;
    cursor: pointer;
    height: 8px;
    margin-right: 10px;
    transition: all .2s ease 0s;
    width: 8px;
}

#testimonial-controls > a:hover, #testimonial-controls > a:focus {
	background-color: #c3c3c3;
}

#testimonial-controls > a:last-of-type {
    margin-right: 0;
}

#testimonial-controls > a.active {
    background-color: #000000;
}

/************************************************************************************
 *
 *			Homepage Elements
 *
 ***********************************************************************************/

/* --- Hero Banner --- */

#homepage-hero:after {
    background-color: rgba(0, 157, 224, .8);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2;
}

#homepage-hero .header-content {
    width: 100%;
}

#homepage-hero h1 {
    padding-bottom: 50px;
}

/* --- Featured Products --- */

#featured-products:before {
    background-color: #009de0;
    content: "";
    height: 100%;
    left: 0;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    width: 100%;
}

#feat-products-loop-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 25px;
}

#feat-products-loop-wrapper a {
    display: flex;
    flex-direction: column;
    margin-bottom: 50px;
    width: 100%;
}

#feat-products-loop-wrapper a:last-of-type {
    margin: 0;
}

#feat-products-loop-wrapper a:hover .prod-feat-img {
    box-shadow: 0 8px 16px rgba(0, 0, 0, .15);
}

.prod-feat-img {
    background-color: #ffffff;
    Border: 2px solid #707070;
    margin-bottom: 25px;
    position: relative;
}

.prod-feat-img:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.prod-feat-img img {
    left: 50%;
    max-height: 95%;
    max-width: 90%;
    object-fit: contain;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

#feat-products-loop-wrapper h4 {
    flex-grow: 1;
}

#feat-products-loop-wrapper .btn-container {
    margin: 0;
}

/************************************************************************************
 *
 *			Internal Pages
 *
 ***********************************************************************************/

#page-header, #call-to-action{
    background: linear-gradient(rgba(0, 157, 224, .9), rgba(0, 157, 224, .9)), url('/wp-content/uploads/2020/11/header-background.jpg');
	background-color: #0080d6;
	background-position: center;
	background-size: cover;
    padding: 50px;
}

#page-header h1:only-child {
	padding-bottom: 0;
}

.post-container {
    padding: 50px;
}

#error-404 {
	padding: 50px 0;
	text-align: center;
}

#call-to-action {
	background-color: #3b779c;
	text-align: center;
}

#call-to-action > div {
	padding: 50px;
}

#call-to-action h2 {
	color: #ffffff;
}

#call-to-action .btn-container {
	margin-bottom: 0;
}

/* --- About Us --- */

#about-us .et_pb_column:last-of-type {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#about-us .et_pb_column:last-of-type::after {
    content: none;
}

#about-us .et_pb_column .et_pb_image {
    margin: 0 0 4%;
    width: 100%;
}

#about-us .et_pb_column .et_pb_image .et_pb_image_wrap {
    display: block;
    position: relative;
}

#about-us .et_pb_column .et_pb_image .et_pb_image_wrap:after {
    content: "";
    display: block;
    padding-bottom: 60%;
}

#about-us .et_pb_column .et_pb_image .et_pb_image_wrap img {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: top;
    position: absolute;
    top: 0;
    width: 100%;
}

#about-us .et_pb_column .et_pb_image:last-of-type {
    margin-bottom: 0;
}

#about-us .et_pb_column .et_pb_image:last-of-type .et_pb_image_wrap img {
    object-position: center;
}

/* --- Project Gallery --- */

#gallery-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 50px !important;
}

#gallery-wrapper .et_pb_gallery_image {
    margin-bottom: 25px;
    width: 100%;
}

#gallery-wrapper .et_pb_gallery_image a {
    border: 1px solid #707070;
    display: block;
    position: relative;
}

#gallery-wrapper .et_pb_gallery_image a:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

#gallery-wrapper .et_pb_gallery_image a:hover {
    box-shadow: 0 8px 16px rgba(0, 0, 0, .15);
}

#gallery-wrapper .et_pb_gallery_image a img {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
}

#gallery-wrapper .et_pb_gallery_image a .gallery-overlay {
    background-color: rgba(0, 0, 0, .75);
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    opacity: 0;
    position: absolute;
    width: 100%;
}

#gallery-wrapper .et_pb_gallery_image a:hover .gallery-overlay {
    opacity: 1;
}

#gallery-wrapper .et_pb_gallery_image a .gallery-overlay i {
    color: #ffffff;
    font-size: 2.25em;
    margin-bottom: 15px;
}

#gallery-wrapper .et_pb_gallery_image a .gallery-overlay h4 {
    padding: 0 15px 0;
}

/* --- Services --- */

#benefits i {
    background-color: #009de0;
    border-radius: 50%;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    font-size: 2.5em;
    height: 82px;
    justify-content: center;
    margin: 0 auto 15px;
    width: 82px;
}

#services .et_pb_row {
    display: flex;
    flex-wrap: wrap;
}

#services .et_pb_row:nth-of-type(2n) .et_pb_column:first-of-type {
    margin-bottom: 0;
    order: 1;
}

#services .et_pb_row:nth-of-type(2n) .et_pb_column:last-of-type {
    margin-bottom: 30px;
}

/* --- Contact Us --- */

#contact-us .et_pb_row {
    border-radius: 4px;
    box-shadow: 5px 5px 25px rgba(0, 0, 0, .1);
}

#contact-us h2 {
    padding-bottom: 0;
}

#contact-us ul:not(.gform_fields) {
    list-style-type: none;
    padding: 25px 0 0;
}

#contact-us li:not(.gfield) {
    font-weight: bold;
    margin-bottom: 25px;
    padding-left: 45px;
    position: relative;
}

#contact-us li:not(.gfield):last-of-type {
    margin-bottom: 0;
}

#contact-us li:not(.gfield) i {
    font-size: 1.75em;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#location-map {
    position: relative;
}

#location-map,
#location-map div {
    height: 100%;
    width: 100%;
}

#location-map:after {
    content: "";
    display: block;
    padding-bottom: 75%;
}

#location-map > div {
    left: 0;
    position: absolute;
    top: 0;
}

/************************************************************************************
 *
 *			Post Archives
 *
 ***********************************************************************************/

body.et_divi_theme #main-content > .container {
    margin: 0;
    max-width: none;
    padding: 0;
    width: 100%;
}

body.et_divi_theme #main-content > .container:before {
    content: none;
}

body.et_divi_theme #left-area {
    float: none;
    padding: 0;
    width: 100%;
}

body.et_divi_theme #left-area > .pagination,
body.et_divi_theme #left-area .et_post_meta_wrapper,
body.et_divi_theme #left-area #comment-wrap,
body.et_divi_theme #sidebar {
    display: none;
}

/* --- Post Loop Item --- */

.post-loop-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.post-loop-item {
    border: 1px solid #d3d5d7;
    box-shadow: 0 8px 12px rgba(0, 0, 0, .1);
    display: flex;
    flex-direction: column;
    margin-bottom: 50px;
    padding: 0;
    transition: all 0.2s ease 0s;
    width: 100%;
}

.post-loop-item:hover {
    box-shadow: 0 8px 12px rgba(0, 0, 0, .25);
}

.post-loop-item > div:first-of-type {
    background: url('/wp-content/themes/divi-master/images/featured.svg'), radial-gradient(#ffffff, #d9d9d9);
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto 100%;
    position: relative;
}

.post-loop-item > div:first-of-type:after {
    content: "";
    display: block;
    padding-bottom: 56.25%;
}

.post-loop-item img,
.post-feat-img img {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    width: 100%;
}

.post-loop-item img[src=""],
#recently-viewed .widgettitle {
    display: none;
}

.post-loop-item > div:last-of-type {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: center;
    padding: 25px;
}

#blog-archives .post-loop-item > div:last-of-type {
    display: block;
}

.post-loop-item h4 {
    padding-bottom: 5px;
}

.post-loop-item h4.no-subheader {
    padding-bottom: 0;
}

.post-loop-item .subheader {
    font-size: .95em;
    padding-bottom: 0;
}

#post-pagination {
    margin-top: 25px;
}

#post-pagination:empty {
    margin-top: 0;
}

/************************************************************************************
 *
 *			Single Post Page
 *
 ***********************************************************************************/

body.single-post article.post {
    margin: 0;
    padding: 0;
}

#post-body > div {
    float: none;
    max-width: 1280px;
    width: 100%;
}

.post-feat-img {
    position: relative;
}

.post-feat-img:after {
    content: "";
    display: block;
    padding-bottom: 56.25%
}

#post-content {
    padding-top: 50px;
}

/************************************************************************************
 *
 *			Search Archives
 *
 ***********************************************************************************/

/************************************************************************************
 *
 *			Miscellaneous Elements
 *
 ***********************************************************************************/

/************************************************************************************
 *
 *			Footer Area
 *
 ***********************************************************************************/

#footer-area-logo svg {
    display: block;
    margin: 0 auto 25px;
    max-width: 375px;
}

#footer-area-logo svg path,
#footer-area-logo svg polygon,
#footer-area-logo svg rect {
    fill: #ffffff;
}

#footer-widget-areas {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#footer-widget-areas:after,
#footer-bar .et_pb_row:after {
    content: none;
}

#footer-widget-areas .et_pb_column {
    margin-bottom: 50px;
    width: 100%;
}

#footer-widget-areas .et_pb_column:last-of-type {
    margin-bottom: 0;
}

#footer-widget-areas .et_pb_module {
    text-align: center;
}

#footer-widget-areas .fwidget {
    margin-bottom: 0;
    width: 100%;
}

#footer-widget-areas .fwidget h4 {
	border-bottom: 2px solid;
	letter-spacing: 2px;
	padding-bottom: 10px;
	margin-bottom: 25px;
}

#footer-widget-areas .fwidget p {
    font-size: .875em;
    letter-spacing: .35px;
}

#footer-widget-areas .fwidget li {
	line-height: 1.125em;
    margin-bottom: 1.25em;
}

#footer-widget-areas .fwidget li:last-of-type {
    margin-bottom: 0;
}

#footer-widget-areas .fwidget li a {
    font-family: 'Oswald', sans-serif;
    font-size: 1.5em;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.fwidget.widget_media_image .image {
    display: block;
    margin: 0 auto 25px;
    width: 50%;
}

/* --- Footer Bar --- */

#footer-bar .et_pb_column {
    float: none;
}

#modnet-branding {
    display: inline-block;
    line-height: 0;
    margin-bottom: 25px;
    max-width: 250px;
}

#copyright-info a {
    color: #ffffff;
    font-weight: bold;
}

#copyright-info a:hover {
    color: var(--accent-blue);
}

/* --- Social Icons --- */

#footer-social-icons ul.social-icons {
    margin-bottom: 0;
    width: 100%;
    text-align: center;
}

.social-icons.et_pb_social_media_follow li a.icon:hover {
    background-color: #ffffff !important;
}

/* Facebook */
.social-icons.et_pb_social_media_follow li.et-social-facebook a.icon:hover::before {
    color: #4c72a9;
}

/* Twitter */
.social-icons.et_pb_social_media_follow li.et-social-twitter a.icon:hover::before {
    color: #1cb7eb;
}

/* Instagram */
.social-icons.et_pb_social_media_follow li.et-social-instagram a.icon:hover::before {
    color: #ea2c59;
}

/* YouTube */
.social-icons.et_pb_social_media_follow li.et-social-youtube a.icon:hover::before {
    color: #a82400;
}


/************************************************************************************
 *
 *			Media Queries
 *
 ***********************************************************************************/

@media screen and (min-width: 350px) {
    
    h1 {
        font-size: 2.5em;
    }
    
    h2 {
        font-size: 2em;
    }
    
}

@media screen and (min-width: 450px) {
    
    h1 {
        font-size: 3em;
    }
    
    h2 {
        font-size: 2.5em;
    }
    
    h3, .et_pb_column_1_3 h3 {
        font-size: 1.5em;
    }
	
	/* ------------------------------ Button Styles ------------------------------ */
	
	.btn, input[type="submit"], input.button,
	.gform_wrapper .gform_footer input.gform_button,
	a.more-link, .pagination a, .form-submit .et_pb_button {
		display: inline-block;
	}
	
	.left.btn {
		margin: 0 10px 0 0;
	}
	
	body.error404 .no-items-found {
		padding: 50px;
	}
	
	#post-pagination {
        display: flex;
        justify-content: space-between;
    }
	
}

@media screen and (min-width: 529px) {
    
    #secondary-nav {
        display: flex;
    }
    
    #top-menu #nav_menu-6 {
        display: none;
    }
    
}

@media screen and (min-width: 641px) {
	
	body.et_divi_theme .gform_wrapper .top_label li.gfield.gf_left_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker), 
	body.et_divi_theme .gform_wrapper .top_label li.gfield.gf_right_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker) {
		margin: 0; 
	}
	
	.gform_wrapper .ginput_container span:not(.ginput_price).name_first {
		margin-bottom: 0;
	}
	
	.gform_wrapper ul.gform_fields > li.gfield span {
        margin-right: 0;
        padding-right: 0;
    }
    
    body.et_divi_theme .top_label div.ginput_complex.ginput_container.gf_name_has_2 {
        display: flex;
        width: 100%;
    }
    
    .top_label div.ginput_complex.ginput_container.gf_name_has_2 span:first-of-type,
	.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield .ginput_container_name > span:first-of-type {
        padding-right: 16px;
    }
    
    /* --- About Page --- */
    
    #gallery-wrapper .et_pb_gallery_image {
        width: 48%;
    }
    
    /* --- Post Archives --- */
    
    .post-loop-item {
        width: 49%;
    }
    
    /* --- Footer Area --- */
    
    .fwidget {
        width: 48%;
    }
    
    .fwidget:nth-last-of-type(2) {
        margin-bottom: 0;
    }
    
    #footer-social-icons ul.social-icons {
        text-align: left;
    }
	
}

@media screen and (min-width: 768px) {
    
    /* --- General --- */
    
    h1 {
        font-size: 3.75em;
    }
    
    h2 {
        font-size: 2.875em;
    }
    
    h3, .et_pb_column_1_3 h3 {
        font-size: 2em;
    }
    
    /* --- Homepage Elements --- */
    
    #feat-products-loop-wrapper a {
        width: 47%;
    }
    
    #feat-products-loop-wrapper a:last-of-type {
        margin-bottom: 50px;
    }
    
    /* --- Internal Pages --- */
	
	#page-header,
    .post-container, 
    #call-to-action {
		padding: 75px 85px;
	}
    
    /* About Page */
    
    #about-us .et_pb_column .et_pb_image {
        width: 48%;
    }

    #about-us .et_pb_column .et_pb_image .et_pb_image_wrap:after {
        padding-bottom: 80%;
    }
    
    #about-us .et_pb_column .et_pb_image:last-of-type {
        width: 100%;
    }
    
    #about-us .et_pb_column .et_pb_image:last-of-type .et_pb_image_wrap:after {
        padding-bottom: 40%;
    }
    
    /* --- Contact Us --- */
    
    #location-map:after {
        content: none;
    }
    
    #location-map > div {
        position: relative;
    }
    
    /* --- Single Post --- */
    
    #post-content {
        padding-top: 75px;
    }
    
    /* --- Footer Area --- */
    
    #footer-widget-areas .et_pb_column {
        width: 47%;
    }
    
    #footer-widget-areas .et_pb_module {
        text-align: left;
    }
    
    .fwidget.widget_media_image .image {
        margin 0 0 25px: 
    }
    
    #footer-widget-areas .et_pb_column:nth-last-of-type(2) {
        margin-bottom: 0;
    }
	
}

@media screen and (min-width: 783px) {
    
    body.logged-in #main-header {
        top: 32px;
    }
    
}

@media screen and (min-width: 981px) {
	
	/* ----------------------------- General ------------------------------ */
	
	.et_pb_text ul,
    #single-post-content ul {
        list-style-position: outside;
        padding-left: 1em;
    }
	
	.mobile-centered {
		text-align: left;
	}
	
	.mobile-centered.right-aligned {
		text-align: right;
	}
	
	.mobile-centered .divider-line {
		margin: 15px auto 25px 0;
		width: 100px;
	}
	
	.mobile-centered.right-aligned .divider-line {
		margin: 15px 0 25px auto;
	}
	
	.equal-hgt-col {
		display: flex;
		overflow: hidden;
	}
	
	.vert-center {
		display: flex;
		flex-direction: column;
		height: 100%;
		justify-content: center;
	}
    
    .desktop-hide {
        display: none;
    }
    
    /* ----------------------- Navigation --------------------------- */
    
    #main-header {
        background-color: #009de0;
        box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
    }
	
	#menu-toggle,
    #top-menu .close-btn {
        display: none;
    }
    
    #main-header-elements {
        padding: 0 32px;
    }
	
	#main-logo a {
        padding: 15px 0;
    }
    
    #main-logo svg path,
    #main-logo svg polygon,
    #main-logo svg rect {
        fill: #ffffff;
    }
    
    #main-header-elements #top-menu {
        background: transparent;
        border: 0;
        display: flex;
        padding: 0;
        position: static;
        transform: none;
        width: auto;
    }
	
	#top-menu div,
    #top-menu ul#menu-primary-menu {
        height: 100%;
    }
    
    #top-menu ul#menu-primary-menu {
        align-items: center;
        display: flex;
    }
    
    #top-menu li {
        border: 0;
        display: inline-block;
        font-family: 'Open Sans', sans-serif;
		font-size: 1em;
        font-weight: bold;
        letter-spacing: normal;
        margin: 0 0 0 25px;
        padding: 0;
        text-transform: none;
    }
    
    #top-menu li:not(.request-quote):hover > a {
        opacity: .5;
    }
    
    #top-menu li:first-of-type {
        margin-left: 0;
    }
    
    #top-menu li.menu-item-has-children {
        position: relative;
    }

    #top-menu li.menu-item-has-children:before {
        bottom: 0;
        content: "";
        height: 25px;
        left: 0;
        position: absolute;
        transform: translateY(100%);
        width: 100%;
    }
    
    #top-menu li a, 
    #et-boc #top-menu li a, 
    #main-header-elements #top-menu li.current-menu-item > a {
        color: #ffffff;
    }
    
    #top-menu li.current_page_item > a {
        color: #ffffff !important;
    }
    
    #top-menu li.request-quote:last-of-type {
		height: 100%;
    }
    
    #top-menu li.request-quote a {
        background-color: #77d300;
        border-radius: 50px;
        color: #ffffff !important;
		display: flex;
        flex-direction: column;
        font-family: 'Oswald', sans-serif;
        height: 100%;
        justify-content: center;
        letter-spacing: .78px;
        padding: 15px 25px;
        text-shadow: 0 3px 6px rgba(0, 0, 0, .15);
        text-transform: uppercase;
    }
    
    #top-menu li.request-quote a:hover {
        background-color: #009de0;
    }
    
    #top-menu .menu-item-has-children > a:first-child:after,
    #main-header.et-fixed-header #top-menu .menu-item-has-children > a:first-child:after {
        content: "3";
    }
    
    #top-menu li.menu-item-has-children .sub-menu {
        background-color: #ffffff;
        border-top: 5px solid #143e82;
        bottom: -25px;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, .15);
        display: block;
        left: 0;
        opacity: 0;
        padding: 15px 0;
        position: absolute;
        text-align: left;
        transform: translateY(100%);
        transition: all .2s ease 0s;
        visibility: hidden;
    }

    #top-menu li.menu-item-has-children .sub-menu li,
    #top-menu li.menu-item-has-children .sub-menu li:first-of-type,
    #top-menu li.menu-item-has-children .sub-menu li:last-of-type {
        display: block;
        font-size: 1em;
        padding: 0;
    }
    
    #top-menu li.menu-item-has-children .sub-menu li a {
        padding: 6px 20px;
    }

    #top-menu li.menu-item-has-children:hover ul.sub-menu {
        opacity: 1;
        visibility: visible;
    }
    
	/* --------------------------- Forms ---------------------------- */
	
	/* ----------------------- Testimonials ------------------------- */
	
    .testimonial-loop-item {
        left: 50%;
        max-width: 1080px;
        transform: translateX(-50%);
        width: 80%;
    }
    
    #testimonial-pagination {
        display: flex;
        opacity: 0;
    }
    
    #testimonials:hover #testimonial-pagination, #testimonial-pagination:focus-within {
        opacity: 1;
    }
    
    .testimonial-page-left {
        left: -10px;
    }
    
    .testimonial-page-right {
        right: -10px;
    }
    
    #testimonials:hover .testimonial-page-left {
        left: 0;
    }
    
    #testimonials:hover .testimonial-page-right {
        right: 0;
    }
	
    /* ----------------------- Homepage Elements ----------------------- */
    
    /* --- Navigation --- */
    
    body.home #et-main-area {
        padding-top: 0 !important;
    }
    
    body.home #main-header {
        background-color: transparent;
        box-shadow: none;
    }
    
    body.home #main-header.et-fixed-header {
        background-color: #009de0;
        box-shadow: 0 1px 0 rgba(0, 0, 0, .1);
    }
    
    /* --- Hero Banner --- */
    
    #homepage-hero h1 {
        font-size: 4em;
    }
    
    #homepage-hero .btn {
        font-size: 2em;
    }
    
    /* --- Featured Products --- */
    
    #feat-products-loop-wrapper {
        justify-content: center;
        padding-top: 50px;
    }
    
    #feat-products-loop-wrapper a {
        margin: 0 3.65% 0 0;
        width: 22.25%;
    }
    
    #feat-products-loop-wrapper a:last-of-type {
        margin: 0;
    }
    
	/* ----------------------- Internal Pages ----------------------- */
	
	#page-header,
    .post-container,
    #call-to-action {
		padding: 75px 110px;
	}
	
	#error-404 {
		padding: 75px 0;
	}  
    
	/* --- About Page --- */
    
    #gallery-wrapper {
        justify-content: flex-start;
    }
    
    #gallery-wrapper .et_pb_gallery_image {
        margin: 0 1.31% 1.31% 0;
        width: 24%;
    }
    
    #gallery-wrapper .et_pb_gallery_image:nth-of-type(4n) {
        margin-right: 0;
    }
    
    /* --- Services --- */
    
    #services .et_pb_row:nth-of-type(2n) .et_pb_column:first-of-type {
        order: 0;
    }
    
    #services .et_pb_row:nth-of-type(2n) .et_pb_column:last-of-type {
        margin-bottom: 0;
    }
    
	/* -------------------------- Post Archives ----------------------------- */
    
    .post-loop-wrapper {
        justify-content: flex-start;
    }
    
    .post-loop-wrapper.justified-centered {
        justify-content: center;
    }
    
    .post-loop-item {
        margin-right: 1.33%;
        width: 24%;
    }
    
    .post-loop-item:nth-of-type(4n) {
        margin-right: 0;
    }
    
    /* ------------------------ Single Post Page --------------------------- */
    
    #post-body > div {
        margin: 0 auto;
        width: 89.5%;
    }
    
    /* ---------------------- Search Archives --------------------- */
	
	/* --------------------------- Footer Area ---------------------------- */
    
    #footer-area-logo svg {
        margin: 0 0 50px;
    }
    
	#footer-widget-areas .et_pb_column {
        margin: 0;
        width: 20%;
    }
    
    /* --- Footer Bar --- */
    
    #footer-bar .et_pb_row {
        align-items: center;
        display: flex;
        justify-content: space-between;
    }
    
    #footer-branding .et_pb_code_inner {
        align-items: center;
        display: flex;
    }
    
    #modnet-branding {
        margin: 0 25px 0 0;
    }
    
    #footer-bar .et_pb_column:last-of-type {
        width: auto;
    }
    
    #footer-social-icons ul.social-icons li {
        margin-bottom: 0;
    }
	
}

@media screen and (min-width: 1030px) {
    
    #top-menu li {
        margin-left: 50px;
    }
    
    #gallery-wrapper .et_pb_gallery_image a .gallery-overlay h4 {
        font-size: 1.5em;
    }
    
}

@media screen and (min-width: 1281px) {
    
    #homepage-hero h1 {
        font-size: 4em;
    }
    
}

@media screen and (min-width: 1441px) {
    
    #homepage-hero h1 {
        font-size: 5em;
    }
    
}