/*
Theme Name: Divi ModularityNET Child
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: Modularity Networks
Author URI: https://www.modularitynet.com/
Template: Divi
Version: 1.0
*/

/*
Use "Find/Search" feature to skip ahead to the section you need to ammend or edit
-------------------------------------------------------------------------------------
Contents
————————
- General
- Scrollbars
- Navigation
- Global Buttons
- Forms
- Testimonials
- Homepage Elements
- Internal Pages
- Post Archives
- Single Post Page
- Search/Career Archives
- Single Career Post Page
- Miscellaneous
- Footer Area
- Media Queries

-------------------------------------------------------------------------------------
*/

:root {
    /* Colors */
    --accent-primary: #0bb4ef;
    --accent-secondary: #111827;
    --accent-navyblue: #010713;
    --accent-darkblue: #1f2937;
    --accent-darkblue-alt: #10283b;
    --accent-darkgray: #2b3443;
    --accent-input: #374151;
    --accent-border: #4b5563;
    --accent-gray: #9ca3af;
    --accent-lightgray: #d1d5db;
    --accent-offwhite: #f2f2f2;
    --accent-red: #b82522;

    /* Fonts */
    --font-nevis: "Nevis Bold", sans-serif;
    --font-poppins: "Poppins", sans-serif;
    --font-awesome: "Font Awesome 7 Pro";
    --font-awesome-brands: "Font Awesome 7 Brands";

    /* Transition */
    --transition: all .2s ease 0s;
}


@font-face{
    font-family: "Nevis Bold";
    src: url('/wp-content/themes/Divi-Child/fonts/NEVIS_0.TTF') format('truetype');
}

/************************************************************************************
 *
 *			General
 *
 ***********************************************************************************/

body {
    background-color: var(--accent-secondary);
    font-family: var(--font-poppins);
	font-size: 1em !important;
    font-weight: 400;
	line-height: 1.75em;
}

body > svg {
    display: none;
    left: -99999px;
    overflow: hidden;
    position: absolute;
    visibility: hidden;
}

p {
    font-size: 1.125em;
}

p:empty {
	display: none;
}

p > a:not(.btn) {
    color: var(--accent-primary);
    font-weight: bold;
}

a, a::before, a::after, 
.transition, .transition *, svg, svg *,
button, input, textarea, select {
	transition: var(--transition);
}  

h1, h2, h3, h4, h5, .heading {
    font-family: var(--font-nevis);
    line-height: 1.125em;
    padding-bottom: 20px;
    text-transform: uppercase;
}

h1,
[class*="et_pb_"] h1,
.heading.one {
    font-size: 1.75em;
    padding-bottom: 25px;
}

h2,
[class*="et_pb_"] h2,
.heading.two {
    font-size: 1.4em;
}

h3,
[class*="et_pb_"] h3,
.heading.three,
#single-post-content h3 {
    font-size: 1.25em;
    line-height: 1.125em;
    padding-bottom: 15px;
}

h4,
[class*="et_pb_"] h4,
.heading.four {
    font-size: .875em;
    letter-spacing: 1px;
    line-height: 1.125em;
    padding-bottom: 15px;
}

:is(h1, h2, h3, h4):last-child {
    padding-bottom: 0;
}

:is(h1, h2, h3, h4, .heading) strong {
    color: var(--accent-primary);
    font-weight: inherit;
}

:is(p, ul, ol) + :is(h2, h3, h4),
p:last-of-type + :is(ul, ol) {
    padding-top: 25px;
}

:is(table, p:last-of-type, .btn-container) + :is(p, h2, h3, h4) {
    padding-top: 40px;
}

.red {
    color: var(--accent-red);
}

.subheader {
    font-size: .75em;
    font-weight: bold;
    letter-spacing: 3px;
    line-height: 1.125em;
    padding-bottom: 25px;
    text-transform: uppercase;
}

:is(.et_pb_text, .et_pb_toggle, #single-post-content) :is(ul, ol) {
    list-style-position: outside;
    list-style-type: disc;
    padding: 0 0 1em 1em;
}

:is(.et_pb_text, .et_pb_toggle, #single-post-content) p + :is(ul, ol) {
    padding-top: calc(25px - 1em);
}

:is(.et_pb_text, .et_pb_toggle, #single-post-content) p:not(.has-background):last-of-type + :is(ul, ol) {
    padding-top: 25px;
}

:is(.et_pb_text, .et_pb_toggle, #single-post-content) ol {
    list-style-type: decimal;
}

:is(.et_pb_text, .et_pb_toggle, #single-post-content) :is(ul, ol):last-child {
    padding-bottom: 0;
}

:is(.et_pb_text.et_pb_text_align_center, .et_pb_text.mobile-centered) :is(ul, ol) {
    list-style-position: inside;
}

:where(.et_pb_text, .et_pb_toggle, #single-post-content) li {
    font-size: 1.125em;
    line-height: 1.75rem;
    margin-bottom: 15px;
}

:where(.et_pb_text, .et_pb_toggle, #single-post-content) li:last-of-type {
    margin-bottom: 0;
}

:where(.et_pb_text, .et_pb_toggle, #single-post-content) li::marker {
    color: var(--accent-primary);
}

:where(.et_pb_text, .et_pb_toggle, #single-post-content) li ul {
    list-style-type: circle;
    padding-bottom: 0;
}

:where(.et_pb_text, .et_pb_toggle, #single-post-content) li ol {
    list-style-type: lower-alpha;
    padding-bottom: 0;
}

:where(.et_pb_text, .et_pb_toggle, #single-post-content) li :is(ul, ol) li {
    font-size: inherit;
}

::selection {
	background: var(--accent-primary); /* WebKit/Blink Browsers */
	color: #ffffff;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .25);
}

::-moz-selection {
	background: var(--accent-primary); /* 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: 4px;
	margin: 0 auto 25px 0;
	width: 140px;
}

.divider-line:last-child {
    margin-bottom: 0;
}

:where(.mobile-centered, .et_pb_text_align_center) .divider-line {
    margin: 0 auto 25px;
}

.hidden-label,
#category-selection {
	position: relative;
}

.hidden-label label,
#category-selection > label {
	clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.circle {
    border-radius: 50%;
    display: block;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.circle::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.circle *,
#et-boc .et-l .circle.et_pb_image .et_pb_image_wrap,
.et-db #et-boc .et-l .circle.et_pb_image .et_pb_image_wrap img {
    display: block;
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

.border-radius-img {
    border-radius: 12px;
    overflow: hidden;
}

.et_pb_bg_layout_dark :is(h1, h2, h3, h4, h5) a {
    color: inherit;
}

.mobile-centered,
.et_pb_module.et_pb_text_align_left.mobile-centered,
.et_pb_module.et_pb_text_align_right.mobile-centered,
.et_pb_text_align_center {
	text-align: center;
}

#lightbox {
    z-index: 100000;
}

#lightboxOverlay {
    z-index: 99999;
}

.equal-hgt-img {
    position: relative;
}

.equal-hgt-img::after {
    content: "";
    display: block;
    padding-bottom: 56.25%;
}

.equal-hgt-img *,
#et-main-area [class*="et_"] .equal-hgt-img.et_pb_image .et_pb_image_wrap {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

.outerglow-img {
    filter: drop-shadow(0 4px 16px var(--accent-primary));
}

:is(.post-feat-img, .equal-hgt-img).top-aligned img {
    object-position: top;
}

.dropshadow-img {
    box-shadow: -15px 15px rgba(0, 0, 0, .25);
}

.two-col-img-right .dropshadow-img {
    box-shadow: 15px 15px rgba(0, 0, 0, .25);
}

.two-col-img-right.et_pb_equal_columns {
    display: flex;
    flex-wrap: wrap;
}

.two-col-img-right .et_pb_column:first-of-type,
#et-boc .et-l .two-col-img-right .et_pb_column:first-of-type {
    margin-bottom: 0;
    order: 2;
}

.two-col-img-right .et_pb_column:last-of-type,
#et-boc .et-l .two-col-img-right.et_pb_row .et_pb_column:last-of-type {
    margin-bottom: 50px;
}

.clear {
	clear: both;
}

/************************************************************************************
 *
 *			Scrollbars
 *
 ***********************************************************************************/

/* ---- Webkit Scrollbar ---- */

::-webkit-scrollbar {
    width: auto;
}

::-webkit-scrollbar-track {
    background-color: var(--accent-darkgray);
}

::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, .5);
	border: 2px solid var(--accent-darkgray);
}

::-webkit-scrollbar-thumb:hover {
    background-color: var(--accent-lightgray);
}

::-webkit-scrollbar-corner {
    background-color: var(--accent-secondary);
}

::-webkit-scrollbar-button:single-button {
    background-color: rgba(255, 255, 255, .5);
    background-repeat: no-repeat;
    background-size: 10px;
    display: block;
}

/* Up */
::-webkit-scrollbar-button:single-button:vertical:decrement {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgba(255, 255, 255, .5)'><polygon points='50,00 0,50 100,50'/></svg>");
    background-position: center 7px;
    background-size: 7px auto;
}

/* Down */
::-webkit-scrollbar-button:single-button:vertical:increment {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgba(255, 255, 255, .5)'><polygon points='0,0 100,0 50,50'/></svg>");
    background-position: center 6px;
    background-size: 7px auto;
}

/* Left */
::-webkit-scrollbar-button:single-button:horizontal:decrement {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgba(255, 255, 255, .5)'><polygon points='0,50 50,100 50,0'/></svg>");
    background-position: 7px center;
    background-size: 7px auto;
}

/* Right */
::-webkit-scrollbar-button:single-button:horizontal:increment {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='rgba(255, 255, 255, .5)'><polygon points='0,0 0,100 50,50'/></svg>");
    background-position: 6px center;
    background-size: 7px auto;
}

/* ---- Firefox Scrollbar ---- */

* {
    scrollbar-width: auto;
    scrollbar-color: rgba(255, 255, 255, .5) var(--accent-darkgray);
}

/************************************************************************************
 *
 *			Navigation
 *
 ***********************************************************************************/

#et-main-area {
	--main-header-height: 91px;
    padding-top: var(--main-header-height);
}

#wpadminbar {
    position: fixed;
}

.et_builder_inner_content {
    position: static;
}

#page-container {
    overflow: clip;
}

#page-container header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 99999;
}

body.logged-in #page-container header {
    top: 46px !important;
}

#main-header,
#et-boc #main-header {
    background-color: var(--accent-secondary);
    border-bottom: 1px solid var(--accent-darkgray);
    box-shadow: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

#main-header[style] {
    top: 0 !important;
}

#page-container header {
    max-width: none;
    width: 100%;
}

#main-header .et_pb_row,
#main-header .et_pb_column,
#et-boc #main-header .et_pb_row,
#et-boc #main-header .et_pb_column,
#primary-navigation,
#et-boc #primary-navigation {
    margin: 0;
    max-width: none;
    padding: 0;
    position: static;
    top: 0;
    width: 100%;
}

/* --- Topbar --- */

#topbar,
#et-boc #topbar {
    background-color: var(--accent-primary);
    margin: 0;
    padding: 0 24px;
    position: static;
    width: 100%;
}

#topbar a {
    color: inherit;
}

#topbar a:is(:hover, :focus) {
    color: var(--accent-secondary);
}

#topbar div {
    float: none;
    width: auto;
}

#topbar-content {
    align-items: center;
    display: flex;
    font-size: .85em;
    font-weight: bold;
    justify-content: space-between;
    letter-spacing: 1px;
    line-height: 1.5em;
    padding: 8px 0 10px;
    text-transform: uppercase;
}

#topbar-content .et_pb_widget {
    margin: 0;
}

#topbar-content .widget_nav_menu .menu {
    padding: 0;
}

#secondary-nav {
    align-items: center;
    display: none;
    position: relative;
}

#secondary-nav ul.menu {
    line-height: inherit;
}

#secondary-nav ul.menu li {
    display: inline-block;
    line-height: inherit;
    margin: 0 15px 0 0;
}

#secondary-nav ul.menu li:last-of-type {
    margin-right: 0;
}

#top-menu li.user-mgmt,
body.logged-in #top-menu li.user-login {
    display: none;
}

body.logged-in #top-menu li.user-mgmt {
    display: block;
}

/* --- Primary Navigation --- */

#main-header-elements {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1440px;
    padding: 24px;
    position: relative;
}

#main-header-elements > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#main-logo {
    margin-right: 25px;
	max-width: 214px;
    width: 70%;
}

#main-logo a {
    display: block;
    line-height: 0;
}

#main-logo img {
    object-fit: contain;
    transition: var(--transition);
    width: 100%;
}

#menu-toggle {
    color: #ffffff;
    display: flex;
    flex-direction: column;
    font-size: 1.75em;
    justify-content: center;
    line-height: 1.125em;
}

#main-header-elements #top-menu {
    background-color: var(--accent-darkgray);
    bottom: 0;
    border-top: 10px solid var(--accent-border);
    display: none;
    left: 0;
    padding: 24px;
    position: absolute;
    transform: translateY(100%);
    transition: none;
    width: 100%;
}

#top-menu .widget_nav_menu,
#et-boc #top-menu .widget_nav_menu {
    margin: 0;
    width: 100%;
}

#top-menu .widget_nav_menu .menu {
    padding: 0;
}

#top-menu li,
#et-boc #top-menu li {
    border-bottom: 1px solid var(--accent-border);
    display: block;
    font-family: var(--font-nevis);
    font-size: 1.25em;
    letter-spacing: 1px;
    line-height: 1em;
    margin: 0;
    padding: 15px 0;
	text-transform: uppercase;
}

#top-menu li:first-of-type,
#et-boc #top-menu li:first-of-type {
    padding-top: 0;
}

#top-menu li:last-of-type,
#et-boc #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;
    display: block;
    position: relative;
}

#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: "\2212";
    position: absolute;
    right: 0;
	top: 6px;
    transform: translateY(-50%);
}

#top-menu li.menu-item-has-children .sub-menu {
    padding: 0;
}

#top-menu li.menu-item-has-children .sub-menu li,
#et-boc #top-menu li.menu-item-has-children .sub-menu li {
    font-size: .85em;
    padding: 15px 25px;
}

#top-menu li.menu-item-has-children .sub-menu li:last-of-type,
#et-boc #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 {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 20px;
	margin-top: 40px;
}

.btn-container:first-child,
:is(h1, h2, h3, h4) + .btn-container {
    margin-top: 0;
}

:is(ul, ol) + .btn-container {
    margin-top: calc(35px - 1em);
}

.mobile-centered .btn-container,
.et_pb_text_align_center-tablet .btn-container,
.et_pb_text_align_center .btn-container {
	justify-content: center;
}

.et_pb_text_align_right .btn-container {
	justify-content: flex-end;
}

.btn, input[type="submit"],
button, .gform_wrapper .gform_footer input.gform_button,
#post-pagination ul li *, .form-submit .et_pb_button {
	background-color: transparent;
	border: 1px solid transparent;
	border-radius: 36px;
	cursor: pointer;
	display: block;
    font-family: var(--font-nevis);
	font-size: .875rem;
	line-height: 1.125em;
	padding: 14px 32px;
	text-align: center;
	text-decoration: none;
    text-transform: uppercase;
    white-space: normal;
	width: 100%;
}

.dark.btn:not(:hover, :focus),
input[type="submit"], button,
.form-submit .et_pb_button {
	background-color: var(--accent-darkblue);
	color: #ffffff;
}

.gray.btn:not(:hover, :focus) {
    background-color: var(--accent-border);
    color: #ffffff;
}

.light.btn:not(:hover, :focus),
.gform_wrapper .gform_footer input.gform_button {
    background-color: var(--accent-primary);
    color: #ffffff;
}

.outline.btn:not(:hover, :focus) {
    border-color: #ffffff;
    color: #ffffff;
}

.btn:is(:hover, :focus),
input[type="submit"]:is(:hover, :focus),
button:is(:hover, :focus), 
.gform_wrapper .gform_footer input.gform_button:is(:hover, :focus), 
#post-pagination ul li a:is(:hover, :focus),
.form-submit .et_pb_button:is(:hover, :focus) {
	background-color: var(--accent-offwhite);
	color: var(--accent-secondary);
}

.white.btn {
    background-color: #ffffff;
    color: var(--accent-secondary);
}

.white.btn:is(:hover, :focus) {
    background-color: var(--accent-secondary);
    color: #ffffff;
}

/************************************************************************************
 *
 *          Forms
 *
 ***********************************************************************************/

/* --- Inputs --- */

::placeholder { /* Non-Standard Placeholder Fix for Firefox, Chrome, and Safari */
    color: var(--accent-gray);
    opacity: 1;
}

::-ms-input-placeholder { /* Internet Explorer 10+ and Edge */
    color: var(--accent-gray);
    opacity: 1;
}

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,
#blog-search input[type="search"] {
    background-color: var(--accent-input);
    border: 1px solid var(--accent-border);
    border-radius: 8px;
    color: #ffffff;
    font-size: 1em;
    font-weight: normal;
    height: 52px;
    line-height: 1.5em;
    margin: 0;
    padding: 12px 15px 14px;
    visibility: visible !important;
    -webkit-appearance: none;
}

body.et_divi_theme .gform_wrapper .ginput_container_select,
body.et_divi_theme .gform_wrapper .ginput_address_state {
    position: relative;
}

body.et_divi_theme .gform_wrapper .ginput_container_select::after,
body.et_divi_theme .gform_wrapper .ginput_address_state::after {
    border-color: var(--accent-gray) transparent transparent transparent;
    border-style: solid;
    border-width: 7px 4px 0 4px;
    content: "";
    height: 0;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
}

body.et_divi_theme .gform_wrapper select {
    padding: 12px 45px 14px 16px;
}

body.et_divi_theme .gform_wrapper select option {
    background-color: var(--accent-input);
    color: var(--accent-lightgray);
}

body.et_divi_theme .gform_wrapper textarea {
    line-height: 1.125em;
    padding: 14px 16px;
}

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: var(--accent-border);
    border-color: var(--accent-gray);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .25);
}

/* --- Spacing Fixes --- */

.gform_wrapper {
    text-align: left;
}

.gform_wrapper .gform_heading {
    display: none;
}

body.et_divi_theme .gform_wrapper.gravity-theme .gform_fields {
    grid-gap: 25px;
}

body.et_divi_theme .gform_wrapper h4 {
    padding: 10px 0 0;
}

body.et_divi_theme .gform_wrapper .resume-upload {
    margin-bottom: 8px;
}

body.et_divi_theme .gform_wrapper .gform_footer {
    padding-bottom: 0;
    text-align: center;
}

body.et_divi_theme .gform_wrapper .gform_footer input.gform_button {
    margin-bottom: 0;
    width: 100%;
}

body.et_divi_theme .gform_wrapper .ginput_complex span:last-of-type {
    margin-bottom: 0;
}

/************************************************************************************
 *
 *			Testimonials
 *
 ***********************************************************************************/

#testimonials h2 {
    padding-bottom: 50px;
}

#testimonials-posts-slider {
    background: none;
    border: none;
    width: 100%;
}

#testimonials-posts-slider .flex-viewport {
    width: 100%;
}

#testimonials-posts-slider .testimonial-loop-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
    list-style-type: none;
    list-style-position: unset;
    padding: 0;
}

#testimonials-posts-slider .testimonial-slide {
    background-color: var(--accent-darkblue);
    border-radius: 12px;
    margin: 0;
    padding: 25px;
    width: 100%;
}

#testimonials.inverse-bg #testimonials-posts-slider .testimonial-slide {
    background-color: var(--accent-secondary);
}

#testimonials-posts-slider .testimonial-slide .circle {
    margin: 0 auto 15px;
    width: 80px;
}

#testimonials-posts-slider .testimonial-slide p {
    color: #ffffff;
    font-size: 1rem;
}

#testimonials-posts-slider .testimonial-slide p::before {
    content: "\201c";
}

#testimonials-posts-slider .testimonial-slide p::after {
    content: "\201d";
}

#testimonials-posts-slider .testimonial-slide p:not(.has-background):last-of-type {
    padding-bottom: 25px;
}

#testimonials-posts-slider .testimonial-slide .heading.four {
    color: #ffffff;
    padding-bottom: 5px;
}

#testimonials-posts-slider .testimonial-slide .subheader {
    color: var(--accent-gray);
    font-family: inherit;
    font-size: .875em;
    font-weight: normal;
    letter-spacing: normal;
    padding-bottom: 0;
    text-transform: none;
}

#testimonials-posts-slider .flex-control-nav {
    line-height: 0;
    padding: 0;
}

#testimonials-posts-slider .flex-control-nav a {
    background-color: var(--accent-gray);
}

#testimonials-posts-slider .flex-control-nav a.flex-active {
    background-color: #ffffff;
}

#testimonials-posts-slider .flex-direction-nav {
    display: none;
}

/************************************************************************************
 *
 *			Homepage Elements
 *
 ***********************************************************************************/

/* ----------------- Hero Banner ----------------- */

:is(#homepage-hero, #page-header) .outerglow-img {
    filter: drop-shadow(0 0 12px var(--accent-primary));
}

/* ----------------- Overview ----------------- */

#company-overview .et_pb_row_inner {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

#company-overview .et_pb_row_inner::after {
    content: none;
}

#company-overview .et_pb_row_inner .et_pb_column {
    width: 100%;
}

#company-overview .et_pb_blurb {
    background-color: var(--accent-darkblue);
    border-radius: 12px;
    height: 100%;
    padding: 25px;
}

#company-overview .et_pb_blurb .et_pb_module_header {
    font-size: 1em;
}

#company-overview .et_pb_blurb_content {
    max-width: none;
}

#company-overview .et_pb_main_blurb_image {
    background-color: rgba(11, 180, 239, .1);
    border-radius: 8px;
    margin-bottom: 15px;
    position: relative;
    width: 50px;
}

#company-overview .et_pb_main_blurb_image::before {
    content: "";
    display: block;
    padding-bottom: 100%;
}

#company-overview .et_pb_main_blurb_image * {
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

#company-overview .et_pb_main_blurb_image img {
    left: 50%;
    max-height: 50%;
    max-width: 50%;
    object-fit: contain;
    top: 50%;
    translate: -50% -50%;
}

#company-overview .et_pb_blurb_description {
    color: var(--accent-gray);
    font-size: .875em;
    line-height: 1.5em;
}

#company-overview .et_pb_blurb_description * {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* ----------------- Recent Projects ----------------- */

#recent-projects-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
    margin: calc(50px - 1em) 0 55px;
}

#recent-projects-wrap:last-child {
    margin-bottom: 0;
}

#recent-projects-wrap .project {
    position: relative;
    width: 100%;
}

#recent-projects-wrap .project::before {
    content: "";
    display: block;
    padding-bottom: 100%;
}

#recent-projects-wrap .project::after {
    background-color: rgba(11, 180, 239, .35);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

#recent-projects-wrap .project img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

#recent-projects-wrap .project svg {
    filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, .85));
    left: 50%;
    max-height: 60%;
    max-width: 60%;
    object-fit: contain;
    position: absolute;
    top: 50%;
    translate: -50% -50%;
    width: 100%;
    z-index: 1;
}

#project-client-logo svg *,
#recent-projects-wrap .project svg * {
    fill: #ffffff;
}

#recent-projects-wrap .project:is(:hover, :focus)::after {
    background-color: rgba(255, 255, 255, .75);
}

#recent-projects-wrap .project:is(:hover, :focus) svg {
    filter: none;
}

#recent-projects-wrap .project:is(:hover, :focus) svg * {
    fill: var(--accent-secondary);
}

/* ----------------- Services ----------------- */

.service-overview::before {
    border-radius: 50%;
    box-shadow:
            0 16px 60px var(--accent-primary),
            0 16px 60px var(--accent-primary),
            0 16px 60px var(--accent-primary),
            0 16px 60px var(--accent-primary),
            inset 0 -14px 60px var(--accent-primary),
            inset 0 -14px 60px var(--accent-primary),
            inset 0 -14px 60px var(--accent-primary),
            inset 0 -14px 60px var(--accent-primary);
    content: "";
    filter: blur(16px);
    height: 300px;
    position: absolute;
    width: 300px;
}

.service-overview:nth-of-type(2n)::before {
    bottom: 0;
    right: 0;
    translate: 60% 50%;
}

.service-overview:nth-of-type(odd)::before {
    bottom: 0;
    left: 0;
    translate: -60% 50%;
}

.service-overview .et_pb_equal_columns:not(.two-col-img-right) .et_pb_column:first-child {
    margin-bottom: 50px;
}

/* ----------------- Call to Action ----------------- */

:where(#call-to-action, #contact-us) p:not(.has-background):last-of-type {
    padding-bottom: 50px;
}

:where(#call-to-action, #contact-us) p:not(.has-background):last-of-type + .btn-container {
    margin-top: 0;
}

/************************************************************************************
 *
 *			Internal Pages
 *
 ***********************************************************************************/

#page-header {
	background-position: center;
	background-size: cover;
}

.post-container {
    padding: 50px 25px;
}

.post-container > div,
.post-container > figure {
    margin: 0 auto;
    max-width: 1440px;
    width: 100%;
}

.service-areas-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 25px;
}

.service-areas-list li {
    margin: 0;
    width: 100%;
}

.service-areas-list a {
    color: inherit;
    font-weight: bold;
}

.service-areas-list a:is(:hover, :focus) {
    color: var(--accent-primary);
}

/* --------------------------- About --------------------------- */

#blue-statement :is(h2, p) strong {
    color: var(--accent-secondary);
}

#blue-statement p {
    color: #ffffff;
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.75em;
}

/* ---- Leadership Team ---- */

#leadership-team-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 50px 5.5%;
}

.team-member {
    width: 100%;
}

.team-member .circle {
    margin: 0 auto 25px;
    max-width: 200px;
    width: 50%;
}

#leadership-team-wrapper .team-member-info h3 {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.25em;
    gap: 10px;
    justify-content: center;
    padding-bottom: 5px;
}

.team-member-info h3 .circle {
    background-color: rgba(255, 255, 255, .15);
    margin: 0;
    width: 32px;
}

.team-member-info h3 .circle::before {
    color: var(--accent-lightgray);
    left: 50%;
    position: absolute;
    top: 50%;
    translate: -50% -50%;
}

.team-member-info h3 .circle:is(:hover, :focus) {
    background-color: #ffffff;
}

.team-member-info h3 .circle:is(:hover, :focus)::before {
    color: var(--accent-secondary);
}

.team-member-position {
    color: var(--accent-lightgray);
    line-height: 1.5em;
    padding-bottom: 15px;
}

.team-member-info p {
    color: var(--accent-gray);
    font-size: .875em;
    line-height: 1.5em;
}

/* ---- Mission & Values ---- */

#mission .et_pb_column:first-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#mission .et_pb_blurb_content {
    display: flex;
    max-width: none;
}

#mission .et_pb_main_blurb_image {
    margin: 0;
    width: 24px;
}

#mission .et_pb_blurb_container {
    flex-grow: 1;
    width: 50%;
}

#mission .et_pb_blurb_content .et_pb_module_header {
    font-size: 1.25em;
    padding-bottom: 10px;
}

#mission .et_pb_blurb_description {
    color: var(--accent-gray);
    font-size: 1em;
}

#mission .et_pb_blurb_description * {
    color: inherit;
    font-size: inherit;
}

/* ---- Services ---- */

#services-loop-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
    margin-top: 50px;
}

#services-loop-wrapper h3 {
    font-size: 1.25em;
}

.service {
    background-color: var(--accent-darkblue);
    border-radius: 12px;
    padding: 25px;
    width: 100%;
}

.service:is(:hover, :focus) {
    background-color: var(--accent-darkgray);
}

.service .service-icon {
    background-color: rgba(11, 180, 239, .1);
    border-radius: 8px;
    margin: 0 auto 25px;
    position: relative;
    width: 50px;
}

.service .service-icon img {
    left: 50%;
    max-height: 50%;
    max-width: 50%;
    object-fit: contain;
    top: 50%;
    translate: -50% -50%;
}

.service p {
    color: var(--accent-gray);
    font-size: 1em;
    line-height: 1.5em;
}

/* --------------------------- Portfolio --------------------------- */

#recent-projects-portfolio {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
    margin-top: 50px;
}

#recent-projects-portfolio .project {
    background-color: var(--accent-secondary);
    width: 100%;
}

#recent-projects-portfolio .project:is(:hover, :focus) {
    background-color: var(--accent-darkgray);
    box-shadow: 6px 6px 12px rgba(0, 0, 0, .25);
}

#recent-projects-portfolio .project .post-feat-img::before {
    content: none;
}

#recent-projects-portfolio .project h3 {
    font-size: 1.25em;
}

.project-info {
    line-height: 1.25em;
    padding: 25px;
    text-align: left;
}

.project-info p {
    color: #ffffff;
    font-size: 1em;
    line-height: inherit;
}

.project-info .subheader {
    color: var(--accent-gray);
    font-size: .875em;
    font-weight: normal;
    letter-spacing: normal;
    line-height: inherit;
    padding-bottom: 5px;
    text-transform: none;
}

#featured-case-studies {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-top: 50px;
}

.case-study-info {
    background-color: var(--accent-secondary);
    padding: 25px;
    text-align: left;
}

.case-study-info .summaries {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

.case-study-info .summaries .summary {
    background-color: var(--accent-darkblue);
    border-radius: 12px;
    padding: 25px;
    width: 100%;
}

.case-study-info .summaries .summary h3 {
    color: var(--accent-primary);
    font-size: 1em;
    padding-bottom: 10px;
}

.case-study-info .summaries .summary p {
    font-size: 1em;
    line-height: 1.25em;
}

#website-projects {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

#website-projects a {
    aspect-ratio: 4/3;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

#website-projects a * {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: top;
    position: absolute;
    top: 0;
    width: 100%;
}

#website-projects a span {
    background-color: rgba(0, 0, 0, .75);
    color: #ffffff;
    display: flex;
    flex-direction: column;
    font-size: 2.5em;
    justify-content: center;
    opacity: 0;
}

#website-projects a:is(:hover, :focus) {
    box-shadow: 0 0 2px 1px var(--accent-border);
}

#website-projects a:is(:hover, :focus) span {
    opacity: 1;
}

/* --------------------------- Contact --------------------------- */

#contact #three-contact-blurbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 25px;
    justify-content: center;
    list-style-type: none;
    padding-left: 0;
}

#contact #three-contact-blurbs li {
    align-items: center;
    color: var(--accent-gray);
    display: flex;
    font-size: .875em;
    gap: 8px;
    margin: 0;
}

#contact #three-contact-blurbs li strong {
    color: var(--accent-primary);
    font-family: inherit;
    font-size: 1.25rem;
    width: auto;
}

#contact #three-contact-blurbs li strong::before {
    font-family: var(--font-awesome);
    padding-right: 7px;
}

/************************************************************************************
 *
 *			Single Service Page
 *
 ***********************************************************************************/

/* ----------------- Overview & Services Summary ----------------- */

:where(#overview, #services-summary) .et_pb_row.et_pb_equal_columns {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

#et-main-area :is(#overview, #services-summary) .et_pb_row.et_pb_equal_columns::after {
    content: none;
}

#et-boc #et-main-area :where(#overview, #services-summary) .et_pb_row.et_pb_equal_columns .et_pb_column {
    width: 100%;
}

:where(#overview, #services-summary) .et_pb_blurb {
    background-color: var(--accent-secondary);
    border-radius: 12px;
    height: 100%;
    padding: 25px;
}

#et-main-area :is(#overview, #services-summary) .et_pb_blurb_content {
    max-width: none;
}

#overview .et_pb_blurb {
    background-color: var(--accent-darkblue);
}

#et-main-area :where(#overview, #services-summary) .et_pb_blurb_content {
    max-width: none;
}

#et-main-area :is(#overview, #services-summary) .et_pb_main_blurb_image {
    height: 30px;
    margin-bottom: 15px;
    position: relative;
    width: 100%;
}

:where(#overview, #services-summary) .et_pb_main_blurb_image * {
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

:where(#overview, #services-summary) .et_pb_main_blurb_image img {
    left: 0;
    object-fit: contain;
    top: 0;
}

:where(#overview, #services-summary) .et_pb_blurb_description {
    color: var(--accent-gray);
    font-size: .875em;
    line-height: 1.5em;
}

:where(#overview, #services-summary) .et_pb_blurb_description * {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

#overview .et_pb_video {
    border: 25px solid var(--accent-darkblue);
}

/* ----------------- Our Process ----------------- */

#et-main-area #process .et_pb_blurb_content {
    max-width: none;
}

#et-main-area #process .et_pb_main_blurb_image {
    background-color: var(--accent-primary);
    border-radius: 50%;
    margin-bottom: 15px;
    position: relative;
    width: 64px;
}

#process .et_pb_main_blurb_image::before {
    content: "";
    display: block;
    padding-bottom: 100%;
}

#process .et_pb_main_blurb_image * {
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

#process .et_pb_main_blurb_image img {
    left: 50%;
    max-height: 50%;
    max-width: 50%;
    object-fit: contain;
    top: 50%;
    translate: -50% -50%;
}

#process .et_pb_blurb_description {
    color: var(--accent-gray);
    font-size: .875em;
    line-height: 1.5em;
}

#process .et_pb_blurb_description * {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* ----------------- Frequently Asked Questions ----------------- */

#faqs .et_pb_blurb {
    background-color: var(--accent-secondary);
    border-radius: 12px;
    height: 100%;
    padding: 25px;
}

#faqs.no-background .et_pb_blurb {
    background-color: var(--accent-darkblue);
}

#et-main-area #faqs .et_pb_blurb:not(:first-child, :last-child) {
    margin-bottom: 25px;
}

#et-main-area #faqs .et_pb_blurb_content {
    max-width: none;
}

#faqs .et_pb_blurb_container .et_pb_module_header {
    font-size: 1.25em;
}

#faqs .et_pb_blurb_description {
    color: var(--accent-gray);
    font-size: .875em;
    line-height: 1.5em;
}

#faqs .et_pb_blurb_description * {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* ----------------- Case Studies ----------------- */

.case-study .et_pb_blurb_content,
#et-boc #et-main-area .case-study .et_pb_blurb_content {
    max-width: none;
}

.case-study .et_pb_blurb_container,
#et-boc #et-main-area .case-study .et_pb_blurb_container {
    padding: 0;
}

.case-study .et_pb_blurb_container .et_pb_module_header {
    margin-bottom: 25px;
    padding: 0 0 0 45px;
    position: relative;
}

.case-study .et_pb_blurb_container .et_pb_module_header * {
    color: var(--accent-primary);
}

.case-study .et_pb_blurb_container .et_pb_module_header::before {
    left: 0;
    line-height: 0;
    position: absolute;
    top: calc(50% - 2px);
    translate: 0 -50%;
    width: 30px;
}

.case-study .challenge .et_pb_blurb_container .et_pb_module_header::before {
    content: url("/wp-content/uploads/2025/11/challenge.svg");
}

.case-study .solution .et_pb_blurb_container .et_pb_module_header::before {
    content: url("/wp-content/uploads/2025/11/lightbulb-exclamation-on-solid-full.svg");
}

.case-study .results .et_pb_blurb_container .et_pb_module_header::before {
    content: url("/wp-content/uploads/2022/03/chart-simple-solid.svg");
}

.case-study .et_pb_blurb_description {
    color: var(--accent-lightgray);
    font-size: 1.125em;
}

.case-study .et_pb_blurb_description p {
    color: inherit;
    font-size: inherit;
}

.case-study .et_pb_blurb_description ul {
    display: flex;
    flex-wrap: wrap;
    gap: 35px;
    list-style-type: none;
    padding: 0;
}

.case-study .et_pb_blurb_description ul li {
    container-type: inline-size;
    text-align: center;
    width: 100%;
}

.case-study .et_pb_blurb_description ul li h5,
#et-boc #et-main-area .case-study .et_pb_blurb_description ul li h5 {
    color: var(--accent-primary) !important;
    font-size: clamp(1.75em, 34cqw, 3.75em);
    padding-bottom: 15px;
}

.case-study .image-grid .et_pb_column:has(.outerglow-img) {
    display: flex;
    flex-wrap: wrap;
    gap: 50px 25px;
}

.case-study .image-grid .et_pb_column:has(.outerglow-img) .et_pb_image {
    width: calc(50% - 12.5px);
}

.case-study .image-grid .et_pb_column:has(.outerglow-img) .et_pb_image img {
    width: 100%;
}

/* ----------------- Supplementary Services ----------------- */

#supplementary-services {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
}

.supplementary-service {
    background-color: var(--accent-darkblue);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    text-align: center;
    width: 100%;
}

.supplementary-service p {
    color: var(--accent-lightgray);
    font-size: .875em;
    line-height: 1.5em;
}

.supplementary-service .service-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
}

.supplementary-service .service-icon {
    background-color: var(--accent-primary);
    line-height: 0;
    width: 64px;
}

.supplementary-service .service-icon img {
    left: 50%;
    max-height: 55%;
    max-width: 50%;
    object-fit: contain;
    position: absolute;
    top: 50%;
    translate: -50% -50%;
    width: 100%;
}

.supplementary-service .service-meta .heading {
    flex-grow: 1;
    line-height: 1.25em;
    padding: 0;
    width: 100%;
}

/************************************************************************************
 *
 *			Single Project Page
 *
 ***********************************************************************************/

#modularity-solution .equal-hgt-img > div {
    overflow-y: scroll;
}

#modularity-solution .equal-hgt-img img {
    height: auto;
}

/************************************************************************************
 *
 *			Post Archives
 *
 ***********************************************************************************/

#blog-archive-body {
    background-color: var(--accent-secondary);
    display: flex;
    flex-direction: column;
    gap: 50px;
    padding-top: 50px;
}

/* --- Divi Resets --- */

body:not(.et-tb) #main-content .container,
body:not(.et-tb-has-header) #main-content .container,
#main-content .container #left-area {
    max-width: none;
    padding: 0;
    width: 100%;
}

#main-content .container::before,
#main-content .container #left-area::after {
    content: none;
}

#main-content #sidebar,
#left-area > :is(h1.page-title, .pagination, .woocommerce-breadcrumb, .woocommerce-notices-wrapper, .woocommerce-result-count, .woocommerce-ordering) {
    display: none;
}

/* --- Featured Posts --- */

#blog-featured-posts {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

.featured-post {
    border-radius: 8px;
    background-color: var(--accent-navyblue);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.featured-post::after {
    background: linear-gradient(rgba(1, 7, 19, .25), rgba(1, 7, 19, .75) 50%, rgba(1, 7, 19, .95) 100%);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.featured-post:is(:hover, :focus)::after {
    background-color: rgba(1, 7, 19, .85);
}

.featured-post img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

.featured-post-meta {
    padding: 75px 25px 25px;
    position: relative;
    z-index: 5;
}

.featured-post-meta .subheader {
    color: var(--accent-primary);
    padding-bottom: 15px;
}

.featured-post .featured-post-meta h2 {
    font-size: 1.5em;
    line-height: 1.25em;
    padding-bottom: 10px;
}

.featured-post-meta p {
    color: var(--accent-lightgray);
    font-size: 1em;
    line-height: 1.5em;
}

.featured-post-meta p:not(.has-background):last-of-type {
    padding-bottom: 20px;
}

/* --- Archive Parent Wrappers --- */

#blog-archive-parent {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
}

#blog-archive-internal {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 25px;
    width: 100%;
}

#blog-archive-sidebar {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 100%;
}

/* --- Filters --- */

#blog-archive-filters {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: space-between;
}

#blog-archive-filters h2 {
    padding: 0;
}

#filter-controls {
    align-items: center;
    display: flex;
    gap: 15px;
}

#filter-sort-order {
    position: relative;
}

#filter-sort-order::after {
    color: var(--accent-gray);
    content: "\f107";
    font-family: var(--font-awesome);
    position: absolute;
    right: 10px;
    top: 50%;
    translate: 0 -50%;
}

#filter-sort-order select {
    background-color: var(--accent-darkblue);
    border: 1px solid var(--accent-input);
    border-radius: 8px;
    color: #ffffff;
    line-height: 1.5em;
    min-width: 150px;
    padding: 8px 30px 9px 10px;
    -webkit-appearance: none;
}

#filter-controls a {
    aspect-ratio: 1/1;
    background-color: var(--accent-darkblue);
    border-radius: 50%;
    color: #ffffff;
    display: none;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    width: 43px;
}

#filter-controls a.fa-solid:is(:hover, :focus) {
    background-color: var(--accent-lightgray);
    color: var(--accent-secondary);
}

/* --- Post Loop Item --- */

.post-loop-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

.post-loop-item {
    background-color: var(--accent-darkblue);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
    text-align: left;
    width: 100%;
}

.post-loop-item:is(:hover, :focus) {
    background-color: var(--accent-input);
}

#et-main-area .post-loop-item h3 {
    font-size: 1.25em;
}

.post-feat-img {
    aspect-ratio: 16/9;
    background: linear-gradient(45deg, var(--accent-darkblue), var(--accent-input));
    position: relative;
}

.post-feat-img::before {
    background: url('/wp-content/uploads/2025/02/Modularity-Networks-Logo-White.svg') no-repeat center;
    background-size: 75% 50%;
    box-shadow: inset 0 0 50px 10px rgba(0, 0, 0, .25);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.post-feat-img img {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
}

.post-feat-img img[src=""] {
    display: none;
}

.post-meta-info {
    flex-grow: 1;
    padding: 25px;
}

.post-meta-info h3 {
    padding-bottom: 15px;
}

.post-meta-info p {
    color: var(--accent-gray);
    font-size: 1em;
    line-height: 1.75em;
}

.post-meta-info p:not(.has-background):last-of-type {
    padding-bottom: 20px;
}

.post-meta-info .subheader {
    color: var(--accent-primary);
    font-size: .75em;
    padding-bottom: 15px;
}

/* --- Pagination --- */

#post-pagination {
    margin-top: 50px;
}

#post-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    padding: 0;
}

#post-pagination ul li * {
    margin: 0;
    padding: 10px;
    width: 100%;
}

#post-pagination ul li span {
    background-color: var(--accent-border);
    color: #ffffff;
    cursor: auto;
}

#post-pagination ul li a:not(:hover, :focus) {
    background-color: var(--accent-darkblue);
    color: var(--accent-gray);
}

#blog-archive-loop.list-layout .post-loop-item {
    flex-direction: row;
    width: 100%;
}

#blog-archive-loop.list-layout .post-loop-item .post-feat-img {
    width: 33.33%;
}

#blog-archive-loop.list-layout .post-loop-item .post-meta-info {
    width: 66.66%;
}

/* --- Sidebar --- */

#blog-archive-sidebar .et_pb_widget {
    background-color: var(--accent-darkblue);
    border-radius: 8px;
    padding: 25px;
}

#blog-archive-sidebar .widgettitle {
    padding-bottom: 20px;
}

#blog-archive-sidebar .gform_wrapper .gform_fields {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#blog-archive-sidebar .gform_wrapper .gform_footer {
    margin-top: 15px;
    padding: 0;
}

#blog-archive-sidebar .et_pb_widget:has(img[class="seo-ebook"]) {
    background-color: var(--accent-darkblue-alt);
}

#blog-archive-sidebar .et_pb_widget:has(img[class="seo-ebook"]) img {
    margin-bottom: 10px;
}

#blog-archive-sidebar .et_pb_widget:has(img[class="seo-ebook"]) p {
    font-size: .875em;
    line-height: 1.5em;
}

#blog-archive-sidebar .et_pb_widget:has(img[class="seo-ebook"]) p:last-of-type {
    padding-bottom: 20px;
}

#blog-archive-sidebar ul {
    display: flex;
    flex-direction: column;
    gap: .5em;
    list-style-type: none;
    padding: 0;
}

#blog-archive-sidebar ul li {
    margin: 0;
}

#blog-archive-sidebar ul li a {
    color: var(--accent-lightgray);
}

#blog-archive-sidebar ul li a:is(:hover, :focus) {
    color: #ffffff;
}

#blog-archive-sidebar ul:has(.fa-brands) {
    gap: 15px;
}

#blog-archive-sidebar ul li .fa-brands {
    background-color: var(--accent-border);
    border-radius: 50px;
    color: #ffffff;
    display: flex;
    flex-wrap: wrap;
    font-family: var(--font-nevis);
    font-size: .875em;
    gap: 10px;
    justify-content: center;
    padding: 12px;
    text-transform: uppercase;
    width: 100%;
}

#blog-archive-sidebar ul li .fa-brands::before {
    font-family: var(--font-awesome-brands);
}

#blog-archive-sidebar ul li .fa-brands:is(:hover, :focus) {
    background-color: #ffffff;
    color: var(--accent-secondary);
}

#blog-archive-sidebar ul li .fa-youtube:not(:hover, :focus) {
    background-color: #ff0033;
}

#blog-archive-sidebar ul li .fa-spotify:not(:hover, :focus) {
    background-color: #1ed760;
}

#blog-archive-sidebar ul li .fa-apple:not(:hover, :focus) {
    background-color: #7224d8;
}

#blog-archive-sidebar ul li .fa-soundcloud:not(:hover, :focus) {
    background-color: #ff5a17;
}

#blog-archive-sidebar .tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

#blog-archive-sidebar .tag-cloud-link {
    background-color: var(--accent-input);
    border-radius: 25px;
    color: var(--accent-offwhite);
    font-size: .875em !important;
    line-height: 1.5em;
    margin: 0;
    padding: 4px 10px 5px 10px;
    text-transform: capitalize;
}

#blog-archive-sidebar .tag-cloud-link:is(:hover, :focus) {
    background-color: var(--accent-lightgray);
    color: var(--accent-secondary);
}

/************************************************************************************
 *
 *			Single Post Page
 *
 ***********************************************************************************/

body.single-post #main-content {
    background-color: var(--accent-secondary);
}

#main-content .et_post_meta_wrapper {
    display: none;
}

#main-content .et_pb_post .entry-content {
    padding: 0;
    width: 100%;
}

#main-content #left-area article {
    margin: 0;
    padding: 0;
}

#single-post-body {
    padding-bottom: 0;
    padding-top: 50px;
}

#single-post-body > div {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
}

#blog-post-author {
    align-items: center;
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
}

#blog-post-author .post-author-portrait {
    line-height: 0;
    width: 50px;
}

#blog-post-author .post-author-portrait img {
    aspect-ratio: 1/1;
    object-fit: cover;
    width: 100%;
}

#blog-post-author .post-meta {
    color: var(--accent-gray);
    font-size: .875em;
    line-height: 1.5em;
    margin: 0;
    padding: 0;
}

#blog-post-author .post-meta strong {
    display: block;
    font-size: 1rem;
}

#blog-post-share {
    margin: 0;
}

#blog-post-share .btn {
    align-items: center;
    display: flex;
    font-family: var(--font-nevis);
    gap: 10px;
    padding: 14px 20px;
    width: auto;
}

#blog-post-share .btn::before {
    font-family: var(--font-awesome-brands);
}

#blog-post-share .btn:not(:hover, :focus) {
    color: #ffffff;
}

#blog-post-share .btn.fa-x-twitter:not(:hover, :focus) {
    background-color: #000000;
}

#blog-post-share .btn.fa-facebook:not(:hover, :focus) {
    background-color: #0866ff;
}

#blog-post-share .btn.fa-linkedin:not(:hover, :focus) {
    background-color: #0a66c2;
}

#single-post-content {
    flex-grow: 1;
}

#single-post-content p:not(:last-child) {
    padding-bottom: 1em;
}

#single-post-content table {
    display: block;
    margin: 0;
    overflow-x: scroll;
}

#single-post-content table tbody {
    display: table;
    width: 100%;
}

#single-post-content table tr,
#single-post-content :where(th, td) {
    border: 1px solid #000000;
    padding: 10px;
}

#single-post-content table p:last-of-type {
    padding-bottom: 0;
}

#single-post-content table tr:nth-of-type(odd) td {
    background-color: var(--accent-offwhite);
}

#single-post-content table tr:first-of-type :is(th, td) {
    background: var(--accent-primary) linear-gradient(var(--accent-primary), var(--accent-secondary));
    color: #ffffff;
    font-weight: bold;
    text-transform: uppercase;
}

#single-post-content .subheader {
    padding-bottom: 20px;
}

#single-post-content .call-to-action + :is(h2, h3) {
    padding-top: 25px;
}

#single-post-content a:not(.btn) {
    color: var(--accent-primary);
    font-weight: bold;
}

#single-post-content a:not(.btn):is(:hover, :focus, :active) {
    color: var(--accent-primary);
    opacity: .5;
}

#single-post-content ol {
    list-style-type: decimal;
    padding: 0 0 25px 1em;
}

#single-post-content ol::marker {
    font-weight: bold;
}

#single-post-content :is(.post-feat-img, #video-embed) {
    background: none;
    line-height: 0;
    margin-bottom: 50px;
    overflow: hidden;
    padding: 0;
}

#single-post-content #video-embed .fluid-width-video-wrapper {
    margin: 0;
}

#single-post-content .post-feat-img:last-child {
    margin-bottom: 0;
}

#single-post-content .fluid-width-video-wrapper {
    margin-bottom: 15px;
}

#single-post-content .gform_wrapper,
#single-post-content .gform_wrapper :is(.gform_heading, .gform_body ul, .ginput_complex) {
    margin: 0;
    padding: 0;
}

#single-post-content .gform_wrapper .ginput_complex :is(input[type="text"], select) {
    margin: 16px 0 0;
}

#single-post-content .et_pb_widget {
    float: none;
}

#single-post-content .et_pb_widget h4 {
    font-size: 1.5em;
    padding-bottom: 25px;
}

#single-post-content .et_pb_widget p {
    font-style: italic;
}

#single-post-content h4#social-share-header {
    border-top: 1px solid rgba(255, 255, 255, .1);
    margin-top: calc(50px - 1em);
    padding-top: 50px;
}

#recent-articles {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

#recent-articles a {
    color: #ffffff;
}

#recent-articles a:is(:hover, :focus) {
    color: var(--accent-primary);
}

#recent-articles .post-feat-img {
    margin-bottom: 10px;
}

#recent-articles .heading {
    line-height: 1.25em;
    padding-bottom: 0;
}

#recent-articles p {
    color: var(--accent-gray);
    font-size: .875em;
}

#single-post-sidebar .subheader {
    font-size: .75em;
    padding-bottom: 15px;
}

.article-heading {
    font-size: .75em;
    padding-bottom: 15px;
    width: 100%;
}

:is(.article-category, .article-date) {
    font-size: .625em;
    font-weight: 600;
    letter-spacing: .65px;
    text-transform: uppercase;
    width: auto;
}

.article-category {
    color: var(--accent-primary);
}

.article-date {
    color: #ffffff;
}

#single-post-sidebar .et_pb_widget ul {
    list-style-type: none;
    padding: 0;
}

#single-post-sidebar .et_pb_widget ul li {
    margin-bottom: 5px;
}

#single-post-sidebar .et_pb_widget ul li:last-of-type {
    margin-bottom: 0;
}

#ez-toc-container {
    background-color: rgba(0, 0, 0, .5);
    border-color: #000000;
    margin-bottom: 50px;
    width: 100%;
}

#ez-toc-container .ez-toc-link {
    color: #f2f2f2;
}

#ez-toc-container .ez-toc-link:is(:hover, :focus) {
    color: var(--accent-primary);
}

#related-posts h2 {
    padding-bottom: 40px;
}

/************************************************************************************
 *
 *			Search/Career Archives
 *
 ***********************************************************************************/

#search-field {
    position: relative;
    z-index: 5;
}

#search-field input[type="search"] {
    background-color: #f5f5f5;
    border: 1px solid #e3e3e3;
    color: #000000;
    font-size: .875em;
    height: auto;
    letter-spacing: 1px;
    line-height: 1.125em;
    margin-bottom: 10px;
    padding: 15px 25px;
    width: 100%;
}

#search-field input[type="search"]::placeholder {
    color: #000000;
    font-weight: bold;
    text-transform: uppercase;
}

#search-field button[type="submit"] {
    padding: 15px 25px;
    width: 100%;
}

#search-field button[type="submit"]:hover {
    background-color: #ffffff;
    border-color: #000000;
}

#search-archives {
    padding-top: 0;
}

.search-loop-item {
    margin-bottom: 50px;
}

.search-loop-item:last-of-type {
    margin-bottom: 0;
}

.search-loop-item .post-feat-img {
    border: 1px solid #e3e3e3;
    margin-bottom: 25px;
}

.search-loop-item .post-feat-img::before {
    background-size: 75% 70%;
}

.search-loop-item .profile-meta {
    padding-bottom: 15px;
}

.post-info {
    flex-grow: 1;
    position: relative;
}

.post-info h2 {
    padding-bottom: 21px;
}

.post-info h5,
.post-info .heading-5 {
    color: #000000;
    padding: 0;
}

.post-info .btn-container {
    margin-top: 30px;
}

/* --- Career Archives --- */

body.post-type-archive-career .post-info h3 {
    padding-bottom: 7px;
}

body.post-type-archive-career .post-info .post-meta {
    margin: 0;
}

.career-info strong {
    color: #000000;
}

/************************************************************************************
 *
 *			Single Career Post Page
 *
 ***********************************************************************************/

h3#application-header {
    padding-bottom: 0;
}

body.single-career .heateor_sss_sharing_container {
    padding-bottom: 75px;
}

.career-info span {
    display: block;
}

/************************************************************************************
 *
 *			Miscellaneous Elements
 *
 ***********************************************************************************/

#tidycal {
    backdrop-filter: blur(5px);
    background-color: rgba(0, 0, 0, .5);
    display: none;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000000;
}

#tidycal .tidycal-embed {
    border-radius: 12px;
    left: 50%;
    max-width: 1080px;
    min-width: 0 !important;
    overflow: hidden;
    position: absolute;
    top: 50%;
    translate: -50% -50%;
    width: calc(100% - 100px) !important;
}

#tidycal #close-tidycal {
    color: #ffffff;
    font-size: 2em;
    position: absolute;
    right: 25px;
    top: 25px;
}

#tidycal #close-tidycal:is(:hover, :focus) {
    color: var(--accent-primary);
}

/************************************************************************************
 *
 *			Footer Area
 *
 ***********************************************************************************/

#footer-area {
    border: 1px solid var(--accent-secondary);
    border-left: 0;
    border-right: 0;
}

#footer-widget-areas {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#footer-widget-areas .fwidget,
#et-boc #footer-widget-areas .fwidget {
    color: var(--accent-gray);
    font-size: .875em;
    margin-bottom: 0;
    width: 100%;
}

#footer-widget-areas .fwidget .title {
    font-size: 1rem;
    margin-bottom: 25px;
	padding-bottom: 15px;
    position: relative;
}

#footer-widget-areas .fwidget .title::after {
    background-color: var(--accent-primary);
    bottom: 0;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    width: 50px;
}

#footer-widget-areas .fwidget p {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

#footer-widget-areas .fwidget li {
    color: var(--accent-gray);
    font-size: 1rem;
	line-height: 1.125em;
    margin-bottom: 15px;
}

#footer-widget-areas .fwidget li:last-child {
    margin-bottom: 0;
}

#footer-widget-areas .fwidget li a {
    color: inherit;
}

#footer-widget-areas .fwidget li a:is(:hover, :focus) {
    color: #ffffff;
}

/* --- Social Icons --- */

#footer-area ul.wecreate-social-icons,
#et-boc #footer-area ul.wecreate-social-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    width: 100%;
}

#footer-area ul.wecreate-social-icons::after {
    content: none;
}

#footer-area ul.wecreate-social-icons li,
#et-boc #footer-area ul.wecreate-social-icons li {
    line-height: 1em;
    margin: 0;
}

#footer-area ul.wecreate-social-icons li a.icon,
#et-boc #footer-area ul.wecreate-social-icons li a.icon {
    background-color: var(--accent-primary) !important;
    border: 0;
    border-radius: 50%;
    color: #ffffff;
    font-size: 1.5em;
    height: 48px;
    margin: 0;
    width: 48px;
}

#footer-area ul.wecreate-social-icons li a.icon::before,
#et-boc #footer-area ul.wecreate-social-icons li a.icon::before {
    color: inherit;
    font-size: inherit;
    height: auto;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
}

#footer-area ul.wecreate-social-icons li a.icon:is(:hover, :focus),
#et-boc #footer-area ul.wecreate-social-icons li a.icon:is(:hover, :focus) {
    background-color: rgba(11, 180, 239, .25) !important;
    color: #ffffff;
}

#footer-area #footer-area-locations .widgettitle,
#et-boc #footer-area #footer-area-locations .widgettitle {
    color: #ffffff !important;
    font-size: .875em;
    padding-bottom: 15px;
    text-transform: none;
}

/* --- Footer Bar --- */

#main-footer p {
    color: var(--accent-gray);
    font-size: .875em;
}

/************************************************************************************
 *
 *			Media Queries
 *
 ***********************************************************************************/

@media screen and (min-width: 300px) {

    .supplementary-service {
        text-align: left;
    }

    .supplementary-service p {
        font-size: 1em;
    }

    .supplementary-service .service-meta {
        align-items: center;
        justify-content: flex-start;
    }

    .supplementary-service .service-meta .heading {
        width: 50%;
    }

}

@media screen and (min-width: 450px) {

    h1,
    [class*="et_pb_"] h1,
    .heading.one {
        font-size: 2.75em;
    }

    h2,
    [class*="et_pb_"] h2,
    .heading.two,
    #single-post-content h2 {
        font-size: 2em;
    }

    h3,
    [class*="et_pb_"] h3,
    .heading.three {
        font-size: 1.75em;
    }

    h4,
    [class*="et_pb_"] h4,
    .heading.four {
        font-size: 1.25em;
    }

    #single-post-content h1 {
        font-size: 2.5em;
    }

	.btn, input[type="submit"], button,
	#post-pagination a, .form-submit .et_pb_button {
		display: inline-block;
		width: auto;
	}

    .service-areas-list li {
        width: calc(50% - 12.5px);
    }

    #recent-projects-wrap .project {
        width: calc(33.33% - 16.67px);
    }

    #post-pagination a {
        width: 49%;
    }

    #post-pagination .wpv-filter-next-link {
        margin-bottom: 0;
        order: 1;
    }

    #post-pagination .wpv-filter-next-link:only-child {
        margin-left: auto;
    }

    /* ---- Portfolio ---- */

    #website-projects a {
        width: calc(50% - 12.5px);
    }
	
}

@media screen and (min-width: 529px) {
    
    #secondary-nav {
        display: flex;
        justify-content: flex-end;
    }
    
    #top-menu #nav_menu-6 {
        display: none;
    }
    
}

@media screen and (min-width: 589px) {

    #search-field input[type="search"] {
        margin-bottom: 0;
        padding: 15px 190px 15px 20px;
    }

    #search-field button[type="submit"] {
        padding: 15px 50px;
        position: absolute;
        right: 0;
        top: 0;
        width: auto;
    }

    .case-study .et_pb_blurb_description ul li {
        width: calc(33.33% - 23.33px);
    }

    .supplementary-service {
        width: calc(50% - 12.5px);
    }
	
}

@media screen and (min-width: 641px) {

    /* ---- Homepage ---- */

    #company-overview .et_pb_row_inner .et_pb_column {
        width: calc(50% - 12.5px);
    }

    /* ---- Internal Pages ---- */

    .service,
    .case-study-info .summaries .summary {
        width: calc(50% - 12.5px);
    }

    /* ---- Single Service Page ---- */

    #et-boc #et-main-area #overview .et_pb_row.et_pb_row_4col.et_pb_equal_columns .et_pb_column {
        width: calc(50% - 12.5px);
    }

    /* ---- Post/Career Archives ---- */

    .post-loop-item {
        width: calc(50% - 12.5px);
    }
    
    /* ---- Footer Area ---- */
    
    .fwidget {
        width: 48%;
    }
    
    .fwidget:nth-last-of-type(2) {
        margin-bottom: 0;
    }
	
}

@media screen and (min-width: 768px) {

    h1,
    [class*="et_pb_"] h1,
    .heading.one {
        font-size: 3.5em;
    }

    h2,
    [class*="et_pb_"] h2,
    .heading.two {
        font-size: 3em;
    }

    h3,
    [class*="et_pb_"] h3,
    .heading.three {
        font-size: 2.5em;
    }
    
    /* ---- Testimonials ---- */

    #testimonials-posts-slider .testimonial-slide {
        width: calc(50% - 12.5px);
    }

    /* ---- Portfolio ---- */

    #website-projects a {
        width: calc(33.33% - 16.67px);
    }

    /* ---- Single Service Page ---- */


	
	/* ---- Post Archives ---- */
	
    .post-container {
		padding: 75px 85px;
	}
	
	.post-loop-wrapper.justified-centered {
        justify-content: center;
    }

    .post-loop-wrapper.justified-centered .post-loop-item {
        margin-right: 3%;
    }

    .post-loop-wrapper.justified-centered .post-loop-item:nth-of-type(2n),
    .post-loop-wrapper.justified-centered .post-loop-item:last-of-type {
        margin-right: 0;
    }

    /* ---- Single Post Page Layout ---- */

    #single-post-content .post-meta span {
        display: inline-block;
        padding: 0 5px;
    }

    /* ---- Search/Career Archives ---- */

    .search-loop-item {
        margin-bottom: 75px;
    }
	
}

@media screen and (min-width: 783px) {

    body.logged-in #page-container header {
        top: 32px !important;
    }

}

@media screen and (min-width: 981px) {
	
	/* ----------------------------- General ------------------------------ */

    h1,
    [class*="et_pb_"] h1,
    .heading.one {
        font-size: 2.75em;
    }

    h2,
    [class*="et_pb_"] h2,
    .heading.two {
        font-size: 2.4em;
    }

    h3,
    [class*="et_pb_"] h3,
    .heading.three {
        font-size: 2.125em;
    }
	
	.et_pb_text ul,
    #single-post-content ul {
        list-style-position: outside;
        padding-left: 1em;
    }
	
	.mobile-centered,
    .et_pb_module.et_pb_text_align_left.mobile-centered {
        text-align: left;
    }

    .mobile-centered.right-aligned,
    .et_pb_module.et_pb_text_align_right.mobile-centered {
        text-align: right;
    }
	
	.mobile-centered .btn-container,
    .et_pb_text_align_center-tablet .btn-container {
		justify-content: flex-start;
	}
	
	.mobile-centered.right-aligned .btn-container {
		justify-content: flex-end;
	}
	
	.et_pb_text.mobile-centered :is(ul, ol) {
        list-style-position: outside;
    }
	
	.mobile-centered .divider-line {
		margin: 0 auto 25px 0;
	}
	
	.mobile-centered.right-aligned .divider-line {
		margin: 0 0 25px auto;
	}
	
	.equal-hgt-col {
		display: flex;
		overflow: hidden;
	}
	
	.equal-hgt-img {
        height: 100%;
    }
	
	.vert-center,
    #et-boc #et-main-area .et_pb_module.vert-center {
		display: flex;
		flex-direction: column;
		height: 100%;
		justify-content: center;
	}
    
    .desktop-hide {
        display: none;
    }

    .two-col-img-right .et_pb_column:first-of-type,
    #et-boc .et-l .two-col-img-right .et_pb_column:first-of-type {
        order: 1;
    }

    .two-col-img-right .et_pb_column:last-of-type,
    #et-boc .et-l .two-col-img-right.et_pb_row .et_pb_column:last-of-type {
        margin-bottom: 0;
    }
    
    /* ----------------------- Navigation --------------------------- */
	
	#et-main-area {
		--main-header-height: 140px; 
	}

    #main-header.et-fixed-header {
        box-shadow: 0 0 7px rgba(0, 0, 0, .1);
    }

    #menu-toggle,
    #top-menu .close-btn {
        display: none;
    }

    #primary-navigation,
    #et-boc #primary-navigation {
        padding: 0 24px;
    }

    #main-header-elements {
        padding: 0;
    }

    #main-logo {
        padding: 25px 0;
    }
    
    #main-header-elements #top-menu {
        background: transparent;
        border: 0;
        display: flex;
        padding: 0;
        position: static;
        transform: none;
        width: auto;
    }

    #top-menu .widget_nav_menu:first-of-type,
    #et-boc #top-menu .widget_nav_menu:first-of-type {
        margin-bottom: 0;
    }
	
	#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,
    #et-boc #top-menu li {
        border: 0;
        display: inline-block;
		font-size: .85em;
        margin: 0 0 0 36px;
        padding: 0;
    }
    
    #top-menu li:not(.request-quote) > a:hover {
        opacity: .5;
    }
    
    #top-menu li:first-of-type,
    #et-boc #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: 20px;
        left: 0;
        position: absolute;
        transform: translateY(100%);
        width: 100%;
    }
    
    #top-menu li.current_page_item:not(.request-quote) > a {
        color: var(--accent-primary) !important;
    }
    
    #top-menu li.request-quote,
    #et-boc #top-menu li.request-quote {
        font-size: 1em;
        margin-left: 32px;
    }

    #top-menu li.request-quote a {
        background-color: var(--accent-primary);
        border-radius: 36px;
        color: #ffffff !important;
        display: inline-block;
        font-size: .875em;
        line-height: 1.125em;
        padding: 14px 32px;
        text-align: center;
    }
    
    #top-menu li.request-quote a:hover {
        background-color: var(--accent-offwhite);
        color: var(--accent-secondary) !important;
    }

    #top-menu .menu-item-has-children > a:first-child {
        padding-right: 20px;
    }
    
    #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";
        font-family: ETmodules;
    }
    
    #top-menu li.menu-item-has-children .sub-menu {
        background-color: var(--accent-darkgray);
        border-top: 5px solid var(--accent-primary);
        bottom: -20px;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, .15);
        display: block;
        left: 0;
        opacity: 0;
        padding: 15px 0;
		pointer-events: none;
        position: absolute;
        text-align: left;
        transform: translateY(100%);
        transition: var(--transition);
        visibility: hidden;
        width: 200px;
    }

    #top-menu li.menu-item-has-children .sub-menu::before {
        border-color: transparent transparent var(--accent-primary) transparent;
        border-style: solid;
        border-width: 0 10px 10px 10px;
        content: "";
        height: 0;
        left: 20px;
        position: absolute;
        top: -4px;
        transform: translateY(-100%);
        transition: var(--transition);
        width: 0;
    }

    #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,
    #et-boc #top-menu li.menu-item-has-children .sub-menu li,
    #et-boc #top-menu li.menu-item-has-children .sub-menu li:first-of-type,
    #et-boc #top-menu li.menu-item-has-children .sub-menu li:last-of-type {
        display: block;
        font-size: 1em;
        margin: 0;
        padding: 0;
    }
    
    #top-menu li.menu-item-has-children .sub-menu li a {
        display: block;
        padding: 6px 20px;
    }

    #top-menu li.menu-item-has-children:hover ul.sub-menu {
        opacity: 1;
		pointer-events: auto;
        visibility: visible;
    }
    
	/* --------------------------- Forms ---------------------------- */
	
	
	
	/* ----------------------- Testimonials ------------------------- */

    #testimonials-posts-slider .testimonial-slide {
        width: calc(33.33% - 16.67px);
    }
	
    /* ----------------------- Homepage Elements ----------------------- */

    .service-overview .et_pb_equal_columns:not(.two-col-img-right) .et_pb_column:first-child {
        margin-bottom: 0;
    }

    #contact-us p {
        position: relative;
        text-shadow: 2px 2px 3px var(--accent-secondary), 2px 2px 3px var(--accent-secondary), 2px 2px 3px var(--accent-secondary);
        z-index: 5;
    }

    #contact-us :is(h2, p) {
        margin: 0 auto;
        max-width: 1080px;
        width: 75%;
    }

    #contact-us .gform_wrapper {
        position: relative;
    }

    #contact-us .gform_wrapper::before,
    #contact-us .gform_wrapper::after {
        content: url("/wp-content/uploads/2025/09/contact-constellation.svg");
        filter: drop-shadow(0 0 6px var(--accent-primary));
        left: 0;
        position: absolute;
        top: 0;
        translate: -50% -50%;
        width: 200px;
    }

    #contact-us .gform_wrapper::after {
        bottom: 0;
        left: auto;
        right: 0;
        top: auto;
        transform: scaleX(-1);
        translate: 50% 50%;
        z-index: -1;
    }

    #contact-us .gform_wrapper form {
        background-color: var(--accent-darkblue);
        border: 1px solid var(--accent-primary);
        border-radius: 12px;
        filter: drop-shadow(0 4px 10px var(--accent-primary));
        padding: 36px;
    }

    #contact-us .gform_wrapper :is(input:not([type="submit"], [type="checkbox"], [type="radio"]), select, textarea) {
        background-color: var(--accent-secondary);
    }
    
	/* ----------------------- Internal Pages ----------------------- */
	
    .post-container {
        padding: 75px 110px;
    }

    .team-member {
        width: 29.6667%;
    }

    .service {
        width: calc(25% - 18.75px);
    }

    #recent-projects-portfolio .project {
        width: calc(33.33% - 16.67px);
    }

    #featured-case-studies {
        margin-top: 75px;
    }

    .case-study {
        display: flex;
    }

    .case-study > div {
        width: 50%;
    }

    .case-study-info {
        padding: 50px;
    }

    #featured-case-studies .case-study:nth-child(2n) .post-feat-img {
        order: 1;
    }

    #contact #three-contact-blurbs {
        justify-content: flex-start;
    }

    /* ----------------------- Single Service Page ----------------------- */

    #et-boc #et-main-area #overview .et_pb_row.et_pb_row_4col.et_pb_equal_columns .et_pb_column {
        width: calc(25% - 18.75px);
    }

    #et-boc #et-main-area :where(#overview, #services-summary) .et_pb_row.et_pb_equal_columns .et_pb_column {
        width: calc(33.33% - 16.67px);
    }

    #et-boc #et-main-area :where(#overview, #services-summary) .et_pb_row.et_pb_row_2col.et_pb_equal_columns .et_pb_column {
        width: calc(50% - 12.5px);
    }
	
	/* -------------------------- Post Archives ----------------------------- */

    .featured-post {
        width: calc(50% - 12.5px);
    }

    #blog-archive-internal {
        width: calc(66.66% - 25px);
    }

    #filter-controls a {
        display: flex;
    }

    #blog-archive-sidebar {
        max-width: 320px;
        width: calc(33.33% - 25px);
    }
    
    /* ------------------------ Single Post Page --------------------------- */

    #single-post-content {
        width: calc(66.66% - 25px);
    }

    #related-posts .post-loop-item {
        width: calc(33.33% - 16.67px);
    }
    
    /* ---------------------- Search/Career Archives --------------------- */

    .search-loop-item {
        display: flex;
    }

    .search-loop-item .post-info {
        margin-right: 75px;
        width: 50%;
    }

    .search-loop-item .post-feat-img {
        margin: 0;
        order: 1;
        width: 30%;
    }

    #career-filters > div.form-group {
        margin: 0 50px 0 0;
        width: 30%;
    }
    
    /* ---------------------- Career Single Post Page --------------------- */
    

	
	/* --------------------------- Footer Area ---------------------------- */


	
}

@media screen and (min-width: 1080px) {

    .supplementary-service {
        width: calc(33.33% - 16.67px);
    }

}

@media screen and (min-width: 1200px) {

    .career-info span {
        display: inline;
        padding-right: 25px;
    }

}

@media screen and (min-width: 1280px) {

    h1,
    [class*="et_pb_"] h1,
    .heading.one {
        font-size: 3.5em;
    }

    h2,
    [class*="et_pb_"] h2,
    .heading.two {
        font-size: 3em;
    }

    h3,
    [class*="et_pb_"] h3,
    .heading.three {
        font-size: 2.5em;
    }

    #company-overview .et_pb_blurb .et_pb_module_header {
        font-size: 1.25em;
    }

    .supplementary-service {
        width: calc(25% - 18.75px);
    }

}