html,
body {
    /* height: 100%; */
    margin: 0px;
    padding: 0px;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    background: var(--white);
    color: var(--black);
    font-size: 1rem;
}

/* Homepage Videos */
.hero-video-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.hero-video,
.hero-poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    pointer-events: none;
}

.hero-video {
    opacity: 0;
    /* transition: opacity 400ms ease; */
}

.hero-video.is-ready {
    opacity: 1;
}

.hero-video.is-ready + .hero-poster {
    opacity: 0;
    /* transition: opacity 300ms ease; */
}

.orbit-container {
    background-color: #000;
    /* height: 60vh !important; */
}

.hero-banner-container {
    z-index: 100;
    position: relative;
    background-color: rgba(0, 0, 0, 0.4);
}

.orbit-bullets {
    position: relative;
    z-index: 101;
}

/* Lazy Load Iframe */
.youtube-lazy-container {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    cursor: pointer;
    overflow: hidden;
    background-color: #000;
    outline: 2px solid var(--blue);
    margin: 0px 0px 10px 0px;
}

/* .image-grid .youtube-lazy-container {
    margin: 30px 0px 10px 0px;
} */
.sidebar .youtube-lazy-container {
    aspect-ratio: 9 / 16;
}

.youtube-lazy-thumb {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    margin: 0 !important;
    display: block !important;
}

.youtube-lazy-play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80px;
    height: 80px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="%23cc3333"/><path d="M 45,24 27,14 27,34" fill="%23fff"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.youtube-lazy-iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.youtube-lazy-iframe.loaded {
    opacity: 1;
}

/* Video Player */
iframe,
.youtube-lazy-container {
    border: none;
    outline: 2px solid var(--blue);
}

iframe + small,
iframe + a,
.youtube-lazy-container + small,
.youtube-lazy-container + a {
    font-size: 0.95rem;
}

.media-player.short,
.youtube-lazy-container.short {
    aspect-ratio: 9 / 16;
}

.media-player,
.youtube-lazy-container {
    margin: 1em 0 0.5em 0;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: fit-content;
}

.media-player:has(+ small),
.media-player:has(+ a),
.media-player:has(+ p) {
    margin: 1em 0 0.3em 0;
}

.media-player + small,
.media-player + a,
.media-player + p {
    margin-bottom: 1.5em;
}

.youtube-lazy-container:has(+ small),
.youtube-lazy-container:has(+ a),
.youtube-lazy-container:has(+ p) {
    margin: 1em 0 0.3em 0;
}

.youtube-lazy-container + small,
.youtube-lazy-container + a,
.youtube-lazy-container + p {
    margin-bottom: 1.5em;
}

body {
    font-family: 'Helvetica', arial, sans-serif;
    color: var(--black);
    background: var(--white);
    overflow-x: hidden;
}

.grid-container {
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}

:root {
    --blue: #3366CC;
    --light-blue: #c4d6f9;
    --red: #cc3333;
    --gray: #464646;
    --light-gray: #7F7E7E;
    --white: #fff;
    --off-white: #E5E5E5;
    --black: #000;
    --transparent: rgba(0, 0, 0, 0.0);
    --nav-bar-margin: 107px;
    --base-font-size: 1rem;
}

.blue {
    color: var(--blue);
}

.red {
    color: var(--red);
}

.light-blue {
    color: var(--light-blue);
}

.red {
    color: var(--red);
}

.gray {
    color: var(--gray);
}

.light-gray {
    color: var(--light-gray);
}

.white {
    color: var(--white);
}

.off-white {
    color: var(--off-white);
}

.black {
    color: var(--black);
}

.transparent {
    color: var(--transparent);
}

/* Default fade and slide up */
.fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in-up .fade-in-up {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

/* Custom Height Equalizers */
.same-height > div > table {
    height: 100%;
    max-height: 100%;
}

/* Default Styles - General */
h1,
h2,
h3,
h4,
h5 {
    font-family: 'Helvetica', arial, sans-serif;
    line-height: 1.2;
}

h1 {
    font-size: 2.5rem;
    color: var(--black);
    font-weight: bold;
    font-style: normal;
}

h2 {
    font-size: 1.8rem;
    padding-top: 15px;
    color: var(--black);
    font-weight: bold;
}

h2.product-hero {
    font-size: 1.85rem;
    color: var(--white);
}

h2.job-title {}

h2.job-title + h3 {
    margin-top: 0;
}

h2.job-title + h3 + h4 {
    padding: 0;
}

h3 {
    font-size: 1.5rem;
    margin-top: 1.5rem;
    font-weight: bold;
}

h4 {
    font-size: 1.3rem;
    padding: 0.5rem 0rem;
    font-weight: bold;
}

h5 {
    font-size: 1.1rem;
    padding: 0.7rem 0rem 0.3rem 0rem;
    margin: 0;
    font-weight: bold;
}

h2 + h3 {
    padding-top: 0rem;
    margin-top: 0;
    font-style: italic;
}

h2 small {
    font-size: 75%;
    color: var(--black);
}

p {
    margin: 10px 0px 15px 0px;
    font-size: 1rem;
}

.footer abbr,
.footer abbr[title] {
    border-bottom: 1px dotted var(--white);
}

abbr,
abbr[title] {
    border-bottom: 1px dotted var(--black);
}

/** i, * i:hover { text-decoration: none; }
*/
/*small { padding: 1em 0em; }
*/
h1 small,
h1 h2 {
    font-size: 1.375rem;
    font-weight: normal;
    color: var(--black);
    display: block;
    line-height: 1.5;
    font-style: italic;
}

h1 small:first-of-type {
    margin-top: 0.5em;
}

.regular {
    font-weight: normal;
}

.bold {
    font-weight: bold;
}

.italic {
    font-style: italic;
}

.upper {
    text-transform: uppercase;
}

.quote-marks {
    font-size: 1.1rem;
    line-height: 185%;
    font-style: italic;
}

.quote-front {
    font-size: 185%;
    font-style: italic;
    color: #CC3333;
    position: relative;
    top: 8px;
    padding: 0 8px 0 0;
}

.quote-back {
    font-size: 175%;
    font-style: italic;
    color: #CC3333;
    position: relative;
    top: 8px;
    padding: 0 0 0 4px;
}

/* Default Link Styles - General */
a {
    color: var(--blue);
    line-height: inherit;
}

p a,
a.underline {
    text-decoration: underline;
}

a,
a * {
    transition: color 0.15s ease, background-color 0.15s ease, opacity 0.15s ease;
}

a.red:hover {
    color: var(--blue);
}

a.red:focus {
    color: var(--blue);
    outline: none;
}

a:hover {
    color: var(--red);
}

a:focus {
    color: var(--red);
    outline: none;
}

a.opacity {
    transition: all 0.25s ease;
}

a.opacity:hover img {
    opacity: 0.75;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
    filter: alpha(opacity=75);
}

/* Default Image Styles - General */
a:has(> img) {
    width: 100%;
}

img {
    width: 100%;
}

table img {
    width: auto;
}

table td:has(img) {
    text-align: center;
    vertical-align: middle;
}

/*
div.cell:has(> img.thumbnail),
div.cell:has(> a > img.thumbnail),
*/
/* Image vertical Margin */
div.cell > img,
div.cell > a img,
.image-grid img {
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
}

/* Image padding with "small" on top and bottom */
/*
div.cell:has(small:nth-child(1)) > img, div.cell:has(small:nth-child(1)) > a img { margin-top: 0.5rem; margin-bottom: 0.9375rem; }
div.cell:has(small:nth-child(2)) > img, div.cell:has(small:nth-child(2)) > a img { margin-top: 0.9375rem; margin-bottom: 0.5rem; }
*/
div.cell:has(>img) > small,
div.cell:has(>img) > a {
    font-size: 0.9rem;
}

/* Width Styles */
.width-5 {
    width: 5%;
}

.width-10 {
    width: 10%;
}

.width-20 {
    width: 20%;
}

.width-30 {
    width: 30%;
}

.width-40 {
    width: 40%;
}

.width-50 {
    width: 50%;
}

.width-60 {
    width: 60%;
}

.width-70 {
    width: 70%;
}

.width-80 {
    width: 80%;
}

.width-90 {
    width: 90%;
}

.width-100 {
    width: 100%;
}

/* Default Button Styles - General */
.button {
    width: fit-content;
    font-size: 1.2rem;
    background-color: var(--red);
    color: var(--white);
    padding: 15px 20px;
    text-decoration: none;
    transition: background-color 0.3s ease, opacity 0.45s ease-out, transform 0.45s ease-out;
    cursor: pointer;
    border-radius: 8px;
    margin: 0.5em 0em 0.5em 0em;
    backface-visibility: hidden;
}

.button:not(:last-of-type) {
    margin-right: 1em;
}

.button.blue {
    background-color: var(--blue);
}

.button.shadow {
    -moz-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
}

.button.shadow:focus {
    -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}

.flex-row .button:not(:first-of-type) {
    margin-left: 0.5em;
}

.button:active,
.button:focus,
.button:hover {
    background-color: var(--blue);
    color: var(--white);
    text-decoration: none;
}

.button:active.blue,
.button:focus.blue,
.button:hover.blue {
    background-color: var(--red);
}

button.auto-scroll-btn {
    z-index: 999;
    position: fixed;
    bottom: 5px;
    right: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease, visibility 0s 0.3s;
    line-height: 0.5;
    padding: 5px;
    border-radius: 1000px;
}

button.auto-scroll-btn svg {
    height: 40px;
    width: 40px;
}

.auto-scroll-btn {
    margin-top: 10px;
}

/* Shadow/Border Styles - General */
/*.thumbnail { border: none; }
*/
.border {
    outline: 1px solid var(--black);
}

img.border {
    border-radius: 3px;
}

.shadow {
    -moz-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    transition: all 0.25s ease;
}

.shadow:focus {
    -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}

a:hover img.shadow {
    -moz-box-shadow: 3px 3px 3px rgba(204, 51, 51, 0.5);
    -webkit-box-shadow: 3px 3px 3px rgba(204, 51, 51, 0.5);
    box-shadow: 3px 3px 3px rgba(204, 51, 51, 0.5);
}

a:focus img.shadow {
    -moz-box-shadow: 2px 2px 2px rgba(204, 51, 51, 0.5);
    -webkit-box-shadow: 3px 3px 3px rgba(204, 51, 51, 0.5);
    box-shadow: 3px 3px 3px rgba(204, 51, 51, 0.5);
}

/* Image Card Styles - General */
.card-section {
    padding: 0.75rem;
}

.card-section h4 {
    font-size: 1.2rem;
    padding: 0;
}

.contact-card h4 {
    margin-bottom: 0.2em;
}

.contact-card h5 {
    font-size: 1rem;
    margin-bottom: 0em;
}

.contact-card small {
    font-size: 0.75rem
}

/* List Styles - General*/
ul {
    font-size: 1rem;
}

ul,
ol {
    margin: 0.01rem 1.5rem 0rem 1.5rem;
    width: fit-content;
}

ul ul {
    margin: 0rem 1.5rem;
}

ul > li > ul {
    list-style-type: circle;
}

ul > li > ul > li > ul {
    list-style-type: square;
}

ul > li > ul > li > ul > li > ul {
    list-style-type: disc;
}

ul > li > ul > li > ul > li > ul > li > ul {
    list-style-type: circle;
}

ul > li > ul > li > ul > li > ul > li > ul > li > ul {
    list-style-type: square;
}

ul > li > ul > li > ul > li > ul > li > ul > li > ul > li > ul {
    list-style-type: disc;
}

ol {
    line-height: 1.631;
}

/* makes ol have same height as ul */
ul.no-bullet {
    list-style-type: none;
    margin-left: 0;
}

ol.no-bullet {
    list-style-type: none;
    margin-left: 3rem;
}

ol.letter {
    list-style-type: upper-alpha;
    margin: 0.01rem 1.5rem 0rem 3rem;
}

ol.number-counter {
    counter-reset: item;
    margin: 0;
    padding: 0;
    font-weight: bold;
}

ol.number-counter > li ol > li {
    font-weight: normal;
}

ol.number-counter > li {
    display: table;
    counter-increment: item;
    margin-bottom: 0.6em;
}

ol.number-counter > li::before {
    content: counters(item, ".") ".0 ";
    display: table-cell;
    padding-right: 0.6em;
}

ol.number-counter > li ol > li::before {
    content: counters(item, ".") " ";
}

dl {
    list-style-position: outside;
}

dt {
    padding-top: 20px;
    font-size: 1.2rem;
}

/* HR Styles - General*/
hr {
    width: 100%;
    max-width: 100%;
    margin: 1.4em 0em 0.5em 0em;
    border: solid var(--blue);
    border-width: 2px 0 0;
    height: 0;
}

.sidebar hr {
    width: 100%;
    max-width: 100%;
    margin: 0.8em 0em 1em 0em;
    border: solid var(--red);
    border-width: 2px 0 0;
    height: 0;
}

.side-socials hr {
    width: 100%;
    max-width: 100%;
    margin: 2em 0em 1em 0em;
    border: solid var(--blue);
    border-width: 2px 0 0;
    height: 0;
}

.side-socials .socials a:first-child {
    margin-left: 0;
}

.side-socials .socials a:last-child {
    margin-right: 0;
}

/* Navigation Styles - Navigation*/
.main-logo {
    position: relative;
    margin-right: auto
}

.drilldown a {
    background: var(--white);
}

.drilldown .is-drilldown-submenu {
    background: var(--white);
}

/*.dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a { padding-right: 1.5em; }
*/
.dropdown.menu > li.is-active a {
    transition: all 0.15s ease;
    background: var(--blue);
    color: #fff;
    border-color: var(--white) transparent transparent;
}

.dropdown.menu > li.is-active a:hover {
    background-color: var(--red);
}

.dropdown.menu > li.is-dropdown-submenu-parent > .is-dropdown-submenu > li.is-dropdown-submenu-item a {
    color: var(--black);
    background-color: var(--white);
}

/* dropdown submenu item */
.dropdown.menu > li.is-dropdown-submenu-parent > .is-dropdown-submenu > li.is-dropdown-submenu-item a:hover {
    color: var(--white);
    background-color: var(--red);
}

@media print,
screen and (min-width: 64em) {
    .dropdown.menu.large-horizontal > li.opens-right:last-of-type > .is-dropdown-submenu {
        top: 100%;
        right: 0;
        left: auto;
    }
}

.is-dropdown-submenu > li {
    border-bottom: 1px dotted var(--black);
}

.is-dropdown-submenu > li:last-child {
    border-bottom: none;
}

.is-dropdown-submenu {
    border: none;
    background-color: var(--white);
    white-space: nowrap;
    -moz-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
}

.is-dropdown-submenu:has(.nested-image-submenu) {
    margin-top: 2px;
}

/* Foundation Arrows */
/* Desktop Arrows */
.dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    right: 7px;
    border-color: var(--blue) transparent transparent;
    position: absolute;
}

.dropdown.menu.large-horizontal > li.is-active > a::after {
    border-color: var(--white) transparent transparent;
}

/* Mobile Arrows */
.drilldown .is-drilldown-submenu-parent > a::after {
    border-color: transparent transparent transparent var(--blue);
}

.drilldown .is-drilldown-submenu-parent > a:hover::after {
    border-color: transparent transparent transparent var(--white);
}

/* Back Arrows */
.drilldown .js-drilldown-back > a::before {
    margin-top: -3px;
    border-color: transparent var(--blue) transparent transparent;
}

.drilldown .js-drilldown-back > a:hover::before {
    border-color: transparent var(--black) transparent transparent;
}

/* Design Guides - Design Guides */
.design-guides .item,
.resources .item {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.design-guides div.cell,
.resources div.cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.design-guides .button {
    margin: 0.3em 0em;
}

.design-guides h3,
.resources h3 {
    padding: 15px 0px;
    margin: 0;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
}

.design-guides .button {
    font-size: 1rem;
    padding: 0.8em 0.8em;
}

.design-guides img {
    margin-bottom: 0 !important;
}

@media screen and (min-width:1023px) {
    .design-guides h3 {
        font-size: 1.1rem;
    }

    .design-guides .button,
    .design-guides .button {
        font-size: 1rem;
    }
}

@media screen and (max-width:1023px) {
    .design-guides h3 {
        font-size: 1rem;
    }

    .design-guides .button,
    .design-guides .button {
        font-size: 1rem;
        margin: 0.5em 0em;
    }
}

/* Resources - General */
/* Alternative to design guides, main difference is shorter h3 tags with more margin on top*/
.resources .button {
    margin: 0.3em 0em;
    font-size: 1rem;
}

.resources .button {
    font-size: 1rem;
    padding: 0.8em 0.8em;
}

.resources img {
    margin-bottom: 0 !important;
}

@media screen and (min-width:1023px) {
    .resources h3 {
        font-size: 1.1rem;
    }

    .resources .button,
    .resources .button {
        font-size: 1rem;
    }
}

@media screen and (max-width:1023px) {
    .resources h3 {
        font-size: 1rem;
        margin-top: 10px;
    }

    .resources .button,
    .resources .button {
        font-size: 1rem;
        margin: 0.5em 0em;
    }
}

/* PCB Impedence Calculator */
.omni-calculator-header,
.omni-calculator-footer {
    background: #3366cc !important;
}

/* Google Maps Embed*/
@media screen and (max-width:639px) {

    /* Map for small screens */
    iframe.map {
        height: 80vw;
    }
}

/* Oil Price */
div:has(> .tradingview-widget-container) {
    min-height: 350px !important;
    margin-bottom: 20px;
}

/* Site Map */
.site-map h3 {
    color: var(--black);
    font-size: 1.2rem;
}

.site-map h4 {
    font-size: 1rem;
    padding: 0;
    margin-top: 1.3rem;
}

.site-map ul {
    list-style: none;
    margin: 0;
}

/* .site-map ul ul, */
.site-map ul ul ul {
    list-style: "\2937";
    margin-left: 1em;
}

.site-map ul ul ul li a {
    margin-left: 10px;
}

.site-map ul.sub-menu-list li:not(.sub-menu-item, .sub-menu-item-link) {
    margin-left: 1em;
}

.site-map .sub-menu-item {
    margin: 0.5em 0em 0.2em 0em;
}

.site-map a {
    font-size: 0.9rem;
    width: fit-content;
    display: block;
    line-height: 1.6;
    margin: 7px 0px;
}

/* "Cool Find" Search Bar */
#cool_find_div {
    display: none !important;
}

#cool_find_menu {
    width: 10em;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#cool_find_menu input[type="search"] {
    margin: 0 0 0.5em 0;
}

#cool_find_menu #cool_find_msg {
    margin: 0em 0 0 0;
}

#cool_find_menu form {
    margin: 0;
}

#cool_find_menu .cool_find_btn {
    margin: 0.5em 0.5em 0em 0.5em;
}

#cool_find_menu [type="radio"] {
    margin: 0rem 0.3rem 0rem 0rem !important;
}

.cool_find_btn {
    border: none !important;
    background: var(--red) !important;
}

.cool_find_btn svg,
.cool_find_btn svg * {
    stroke: var(--white) !important;
}

button#cool_find_btn,
button.cool_find_btn,
button#cool_find_next {
    color: var(--white) !important;
}

.cool_find_menu label {
    display: none !important;
}

#cool_find_menu form {
    display: flex !important;
    flex-direction: column;
    align-items: center;
}

/* Google Search Bar */
/*
.gsc-control-cse {
    border: none !important;
}

.gsc-above-wrapper-area,
.gsc-tabsArea {
    border-bottom: 1px solid var(--black) !important;
}

.quick-links li:last-of-type {
    min-width: 257.15px;
}

.gcse-container-wrapper {
    z-index: 101 !important;
    background-color: var(--white);
    margin-top: var(--nav-bar-margin) !important;
    height: calc(100vh - var(--nav-bar-margin)) !important;
    overflow-y: scroll !important;
    direction: rtl !important;
    position: fixed !important;
    top: 0;
    right: -800px;
    min-width: 800px;
    max-width: 800px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:
        opacity 0.4s ease,
        visibility 0s linear 0.4s,
        transform 0.4s ease;
    border-left: 3px solid var(--blue);
}

.gcse-container-wrapper * {
    direction: ltr !important;
}

.gcse-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(0);
}

#content-container {
    position: relative;
    overflow: hidden;
    display: flex;
    width: 100%;
}

#content-container > .grid-x,
#content-container > div.small-11.medium-11.large-9.cell {
    transition: transform 0.4s ease;
    position: relative;
}

#content-container > .gcse-container-wrapper {
    flex: 0 0 100%;
    position: relative;
}

#content-container.search-active > .hero-background-image {
    transform: translateX(-800px);
}

#content-container.search-active > div.small-11.medium-11.large-9.cell {
    transform: translateX(-800px);
}

#content-container.search-active > .grid-x {
    transform: translateX(-800px);
}

body:has(.search-active) footer {
    transform: translateX(-800px);
}

#content-container.search-active > .gcse-container-wrapper {
    transform: translateX(-800px);
    z-index: 1;
}

#recaptcha-wrapper {
    margin-top: 0 !important;
}

.gsib_b {
    position: absolute;
    margin-left: auto;
    display: flex !important;
    padding: 0px !important;
    align-items: center;
    margin-top: auto !important;
    margin-bottom: auto !important;
}

.gsib_b * {
    padding: 0px !important;
}

.gstl_50 > tbody > tr {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

.gsc-search-box.gsc-search-box-tools {
    margin: 0px !important;
}

.gsc-search-box tbody tr {
    background: transparent !important;
}

table.gsc-search-box,
table.gsc-search-box tbody {
    margin: 0px !important;
    padding: 0px !important;
}

.gstl_50.gssb_c {
    left: auto !important;
    right: 61px !important;
    position: fixed !important;
    width: fit-content !important;
}

.gstl_50 tbody {
    background: var(--white);
}

input.gsc-input {
    background: none !important;
    border: 1px solid var(--black) !important;
}

.gsc-input table {
    margin: 0 !important;
    border: none !important;
}

.gsib_a {
    padding: 0 !important;
}

.gsib_a input {
    padding: 1px 6px !important;
}

.gsst_a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

#___gcse_0 .gsst_a .gscb_a {
    color: var(--red) !important;
    font-size: 2rem !important;
    padding: 0px 5px !important;
}

.gsc-control-cse {
    background: var(--white) !important;
}

.gsc-control-cse table {
    all: unset;
}

.gsc-result-info {
    padding: 4px !important;
}

.gsc-input {
    padding: 0px !important;
}

.gstl_50 tr input {
    background: var(--white) !important;
    cursor: text;
    transition: all 0.1s ease;
}

.gsc-input-box input:hover {
    background: var(--off-white) !important;
}

.gstl_50.gssb_c {
    display: block !important;
}

.gssb_a {
    padding: 0px !important;
}

.gssb_a table tr td {
    padding: 0px 7px !important;
}

tr.gsc-completion-selected .gssb_a table tr td {
    background: var(--red) !important;
    color: #fff !important;
    cursor: pointer;
}

table.gsc-completion-container tbody tr:nth-child(2n) {
    background: #fff;
}

.gssb_a img {
    display: none !important;
}

#___gcse_0 {
    padding: 0em 0.5em !important;
}

#___gcse_0 svg {
    width: 17px !important;
    height: 17px !important;
}

#___gcse_0 .gsc-search-button button {
    margin: 0px !important;
    padding: 5px !important;
}

#___gcse_0 .gsc-search-button {
    padding: 0px 5px !important;
}

#___gcse_0 input {
    padding: 2px 22px 2px 5px !important;
    font-size: 0.875rem !important;
}

.gsc-search-button-v2 {
    border: none !important;
    background-color: var(--red) !important;
    cursor: pointer !important;
}

table.gstl_50,
.gsc-option-menu {
    z-index: 9999 !important;
}

table.gsc-search-box,
table.gsc-search-box tbody {
    background: none !important;
    background-color: none !important;
}

.gsc-option-menu {
    top: 33px !important;
}

.gsc-input-box {
    width: 200px;
    max-width: 75vw;
    background: transparent;
}

a.gs-title:hover,
a.gs-title:hover * {
    color: var(--red);
}

.gs-web-image-box .gs-image,
.gs-promotion-image-box .gs-promotion-image {
    max-width: 300px !important;
    max-height: 600px !important;
}

.gs-web-image-box,
.gs-promotion-image-box {
    width: 300px !important;
}

.gs-snippet {
    font-size: 1.3rem !important;
}

.gs-title * {
    font-size: 1.375rem !important;
}

.gs-webResult div.gs-visibleUrl {
    font-size: 0.938rem;
    color: var(--red) !important;
    font-weight: bold;
}

.gsc-thumbnail {
    display: inline-block !important;
    margin: 10px 0px !important;
    display: none !important;
}

.gsc-thumbnail img,
img.gs-image {
    border: 1px solid var(--black) !important;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5) !important;
    transition: all 0.25s ease !important;
    -moz-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5) !important;
    -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5) !important;
}

.gsc-thumbnail:focus img,
a:focus .gsc-thumbnail img,
img.gs-image:focus,
a:focus img.gs-image {
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5) !important;
    -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5) !important;
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5) !important;
}

.gsc-thumbnail:hover img,
img.gs-image:hover {
    box-shadow: 3px 3px 3px rgba(204, 51, 51, 0.5) !important;
    -moz-box-shadow: 3px 3px 3px rgba(204, 51, 51, 0.5) !important;
    -webkit-box-shadow: 3px 3px 3px rgba(204, 51, 51, 0.5) !important;
}

.gsc-thumbnail:focus img,
img.gs-image:focus {
    box-shadow: 2px 2px 2px rgba(204, 51, 51, 0.5) !important;
    -moz-box-shadow: 2px 2px 2px rgba(204, 51, 51, 0.5) !important;
    -webkit-box-shadow: 2px 2px 2px rgba(204, 51, 51, 0.5) !important;
}

.gsc-webResult.gsc-result {
    margin: 0;
    padding: 20px 0 !important;
}

.gsc-input-box {
    border: none !important;
}

.gsc-input-box input:focus {
    background-color: var(--light-blue) !important;
}

.gsc-input-box input:focus {
    border: 1px solid var(--blue) !important;
}

.gs-imageResult-popup .gs-image-popup-box {
    width: calc(100% - 10px) !important;
}

.gcsc-more-maybe-branding-root {
    display: none !important;
}

.gsc-tabData.gsc-tabdActive {
    margin-top: 10px;
}

.gs-imagePreviewArea {
    background: var(--blue) !important;
    height: auto !important;
    position: relative !important;
    min-height: fit-content !important;
    margin: 20px 0px !important;
    border: 1px solid var(--black) !important;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5) !important;
    transition: all 0.25s ease !important;
    -moz-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5) !important;
    -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5) !important;
}

.gs-imagePreviewArea:has(img:hover) {
    box-shadow: 3px 3px 3px rgba(204, 51, 51, 0.5) !important;
    -moz-box-shadow: 3px 3px 3px rgba(204, 51, 51, 0.5) !important;
    -webkit-box-shadow: 3px 3px 3px rgba(204, 51, 51, 0.5) !important;
}

.gs-imagePreview:not([src$=".svg"]) {
    width: min-content;
}

.gs-previewSnippet {
    margin: 0px 30px !important;
}

.gs-previewUrl,
.gs-previewDescription {
    display: none !important;
}

.gs-previewLink {
    display: inline-block;
}

.gs-imagePreviewArea a:has(img) {
    height: fit-content !important;
}

.gs-selectedImageResult {
    height: fit-content !important;
}

.gs-result.gs-imageResult.gs-imageResult-popup {
    width: fit-content !important;
}

.gsc-imageResult.gsc-imageResult-popup.gsc-result.gs-selectedImageResult:has(.gs-imagePreviewArea) .gs-result.gs-imageResult.gs-imageResult-popup {
    display: none !important;
}

.hero-background-image {
    transition: transform 0.4s ease !important;
}

@media screen and (max-width:1023px) {
    #content-container.search-active > .hero-background-image {
        transform: translateX(-100%) !important;
    }

    #content-container.search-active > div.small-11.medium-11.large-9.cell {
        transform: translateX(-100%) !important;
    }

    #content-container.search-active > .grid-x {
        transform: translateX(-100%) !important;
    }

    body:has(.search-active) footer {
        transform: translateX(-100%) !important;
    }

    #content-container.search-active > .gcse-container-wrapper {
        transform: translateX(-100%) !important;
    }

    .gcse-container-wrapper {
        right: -100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }

    #___gcse_0 .gsc-search-button {
        padding: 0px 5px 0px 0px !important;
    }

    #___gcse_0 .gsc-search-button button {
        margin: 2px 2px 2px 0px !important;
    }

    .gstl_50.gssb_c {
        right: 84px !important;
    }

    .gsc-expansionArea .gsc-imageResult:has(img.gs-image) {
        display: flex;
        justify-content: center;
    }

    .gs-mobilePreview {
        background: var(--blue) !important;
    }

    .gs-previewSnippet {
        background: transparent !important;
    }

    .gs-previewVisit {
        background: var(--red) !important;
        color: var(--white) !important;
        border-radius: 8px !important;
    }

    .gs-previewLink {
        width: 100% !important;
        margin: 50px 0px 0px 0px !important;
    }

    .gs-imagePreview {
        width: 100% !important;
        padding: 0px !important;
    }

    .gs-closeButton {
        fill: var(--red) !important;
        background: var(--white);
        border-radius: 1000px;
        margin: 10px;
        padding: 0px !important;
        cursor: pointer;
    }
}
*/
/* END Google Search Bar */
/* BEGIN NEW Google Search Bar */
.gsc-control-cse {
    border: none !important
}

.gsc-above-wrapper-area,
.gsc-tabsArea {
    border-bottom: 1px solid var(--black) !important
}

.quick-links li:last-of-type {
    min-width: 257.15px
}

.gcse-container-wrapper {
    z-index: 101 !important;
    background-color: var(--white);
    margin-top: var(--nav-bar-margin) !important;
    height: calc(100vh - var(--nav-bar-margin)) !important;
    overflow-y: scroll !important;
    direction: rtl !important;
    position: fixed !important;
    top: 0;
    right: -800px;
    min-width: 800px;
    max-width: 800px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity .4s ease, visibility 0s linear .4s, transform .4s ease;
    border-left: 3px solid var(--blue)
}

.gcse-container-wrapper * {
    direction: ltr !important
}

.gcse-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(0)
}

#content-container {
    position: relative;
    overflow: hidden;
    display: flex;
    width: 100%
}

#content-container > .grid-x,
#content-container > div.small-11.medium-11.large-9.cell {
    transition: transform .4s ease;
    position: relative
}

#content-container > .gcse-container-wrapper {
    flex: 0 0 100%;
    position: relative
}

#content-container.search-active > .hero-background-image,
#content-container.search-active > div.small-11.medium-11.large-9.cell,
#content-container.search-active > .grid-x {
    transform: translateX(-800px)
}

body:has(.search-active) footer {
    transform: translateX(-800px)
}

#content-container.search-active > .gcse-container-wrapper {
    transform: translateX(-800px);
    z-index: 1
}

#recaptcha-wrapper {
    margin-top: 0 !important
}

.gsib_b {
    position: absolute;
    margin-left: auto;
    display: flex !important;
    padding: 0 !important;
    align-items: center;
    margin-top: auto !important;
    margin-bottom: auto !important
}

.gsib_b * {
    padding: 0 !important
}

.gstl_50 > tbody > tr {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important
}

.gsc-search-box.gsc-search-box-tools {
    margin: 0 !important
}

.gsc-search-box tbody tr {
    background: transparent !important
}

table.gsc-search-box,
table.gsc-search-box tbody {
    margin: 0 !important;
    padding: 0 !important
}

.gstl_50.gssb_c {
    left: auto !important;
    right: 61px !important;
    position: fixed !important;
    width: fit-content !important
}

.gstl_50 tbody {
    background: var(--white)
}

input.gsc-input {
    background: none !important;
    border: 1px solid var(--black) !important
}

.gsc-input table {
    margin: 0 !important;
    border: none !important
}

.gsib_a {
    padding: 0 !important
}

.gsib_a input {
    padding: 1px 6px !important
}

.gsst_a {
    display: flex !important;
    justify-content: center !important;
    align-items: center
}

#___gcse_0 .gsst_a .gscb_a {
    color: var(--red) !important;
    font-size: 2rem !important;
    padding: 0 5px !important
}

.gsc-control-cse {
    background: var(--white) !important
}

.gsc-control-cse table {
    all: unset
}

.gsc-result-info {
    padding: 4px !important
}

.gsc-input {
    padding: 0 !important
}

.gstl_50 tr input {
    background: var(--white) !important;
    cursor: text;
    transition: all .1s ease
}

.gsc-input-box input:hover {
    background: var(--off-white) !important
}

.gstl_50.gssb_c {
    display: block !important
}

.gssb_a {
    padding: 0 !important
}

.gssb_a table tr td {
    padding: 0 7px !important
}

tr.gsc-completion-selected .gssb_a table tr td {
    background: var(--red) !important;
    color: #fff !important;
    cursor: pointer
}

table.gsc-completion-container tbody tr:nth-child(2n) {
    background: #fff
}

.gssb_a img {
    display: none !important
}

#___gcse_0 {
    padding: 0 .5em !important
}

#___gcse_0 svg {
    width: 17px !important;
    height: 17px !important
}

#___gcse_0 .gsc-search-button button {
    margin: 0 !important;
    padding: 5px !important
}

#___gcse_0 .gsc-search-button {
    padding: 0 5px !important
}

#___gcse_0 input {
    padding: 2px 22px 2px 5px !important;
    font-size: .875rem !important
}

.gsc-search-button-v2 {
    border: none !important;
    background-color: var(--red) !important;
    cursor: pointer !important
}

table.gstl_50,
.gsc-option-menu {
    z-index: 9999 !important
}

table.gsc-search-box,
table.gsc-search-box tbody {
    background: none !important
}

.gsc-option-menu {
    top: 33px !important
}

.gsc-input-box {
    width: 200px;
    max-width: 75vw;
    background: transparent
}

a.gs-title:hover,
a.gs-title:hover * {
    color: var(--red)
}

.gs-web-image-box .gs-image,
.gs-promotion-image-box .gs-promotion-image {
    max-width: 300px !important;
    max-height: 600px !important
}

.gs-web-image-box,
.gs-promotion-image-box {
    width: 300px !important
}

.gs-snippet {
    font-size: 1.3rem !important
}

.gs-title * {
    font-size: 1.375rem !important
}

.gs-webResult div.gs-visibleUrl {
    font-size: .938rem;
    color: var(--red) !important;
    font-weight: bold
}

.gsc-thumbnail {
    display: none !important;
    margin: 10px 0
}

.gsc-thumbnail img,
img.gs-image {
    border: 1px solid var(--black) !important;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, .5) !important;
    transition: all .25s ease !important
}

.gsc-thumbnail:focus img,
img.gs-image:focus,
a:focus .gsc-thumbnail img {
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .5) !important
}

.gsc-thumbnail:hover img,
img.gs-image:hover {
    box-shadow: 3px 3px 3px rgba(204, 51, 51, .5) !important
}

.gsc-thumbnail:focus img,
img.gs-image:focus {
    box-shadow: 2px 2px 2px rgba(204, 51, 51, .5) !important
}

.gsc-webResult.gsc-result {
    margin: 0;
    padding: 20px 0 !important
}

.gsc-input-box {
    border: none !important
}

.gsc-input-box input:focus {
    background-color: var(--light-blue) !important;
    border: 1px solid var(--blue) !important
}

.gs-imageResult-popup .gs-image-popup-box {
    width: calc(100% - 10px) !important
}

.gcsc-more-maybe-branding-root {
    display: none !important
}

.gsc-tabData.gsc-tabdActive {
    margin-top: 10px
}

.gs-imagePreviewArea {
    background: var(--blue) !important;
    height: auto !important;
    position: relative !important;
    min-height: fit-content !important;
    margin: 20px 0;
    border: 1px solid var(--black) !important;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, .5) !important;
    transition: all .25s ease !important
}

.gs-imagePreviewArea:has(img:hover) {
    box-shadow: 3px 3px 3px rgba(204, 51, 51, .5) !important
}

.gs-imagePreview:not([src$=".svg"]) {
    width: min-content
}

.gs-previewSnippet {
    margin: 0 30px !important
}

.gs-previewUrl,
.gs-previewDescription {
    display: none !important
}

.gs-previewLink {
    display: inline-block
}

.gs-imagePreviewArea a:has(img) {
    height: fit-content !important
}

.gs-selectedImageResult {
    height: fit-content !important
}

.gs-result.gs-imageResult.gs-imageResult-popup {
    width: fit-content !important
}

.gs-closeButton {
    cursor: pointer
}

.hero-background-image {
    transition: transform .4s ease !important
}

@media screen and (max-width:1023px) {

    #content-container.search-active > .hero-background-image,
    #content-container.search-active > div.small-11.medium-11.large-9.cell,
    #content-container.search-active > .grid-x,
    body:has(.search-active) footer,
    #content-container.search-active > .gcse-container-wrapper {
        transform: translateX(-100%) !important
    }

    .gcse-container-wrapper {
        right: -100% !important;
        min-width: 100% !important;
        max-width: 100% !important
    }

    #___gcse_0 .gsc-search-button {
        padding: 0 5px 0 0 !important
    }

    #___gcse_0 .gsc-search-button button {
        margin: 2px 2px 2px 0 !important
    }

    .gstl_50.gssb_c {
        right: 84px !important
    }

    .gsc-expansionArea .gsc-imageResult:has(img.gs-image) {
        display: flex;
        justify-content: center
    }

    .gs-mobilePreview {
        background: var(--blue) !important
    }

    .gs-previewSnippet {
        background: transparent !important
    }

    .gs-previewVisit {
        background: var(--red) !important;
        color: var(--white) !important;
        border-radius: 8px !important
    }

    .gs-previewLink {
        width: 100% !important;
        margin: 50px 0 0 0 !important
    }

    .gs-imagePreview {
        width: 100% !important;
        padding: 0 !important
    }

    .gs-closeButton {
        fill: var(--red) !important;
        background: var(--white);
        border-radius: 1000px;
        margin: 10px;
        padding: 0 !important;
        cursor: pointer
    }
}

/* END NEW Google Search Bar */
.menu a,
.menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 11.2px 16px;
}

/* InstantPCBQuote */
.top-bar .instant-pcb {
    margin: 0.5em 0.5em 0.5em 0em;
}

.pcb-btns {
    display: flex;
    justify-content: center;
    gap: 0.9em;
}

.pcb-btns .button {
    font-size: 0.95rem;
    margin: 0;
    transition: background-color 0.2s ease;
    background: var(--red);
    color: var(--white);
    cursor: pointer;
    padding: 0.5vw 0.7vw;
    border-radius: 3px;
    width: auto;
}

.pcb-btns .button:hover {
    background-color: var(--blue);
    color: var(--white);
    text-decoration: none;
}

.top-bar .instant-pcb a:has(>img) {
    display: flex;
}

.top-bar .instant-pcb img {
    height: auto;
    width: 13vw;
    padding: 0 0 0.7em 0;
}

.top-bar .instant-pcb img:hover {
    opacity: 0.7;
}

.top-bar .instant-pcb small {
    margin: 0.5em 0em;
}

/* Bottom-left theme toggle button */
.theme-toggle-btn span {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 5px;
}

.theme-toggle-btn svg .cls-1 {
    fill: #fff;
    stroke: none;
    stroke-miterlimit: 10;
    stroke-width: 35px;
}

.theme-toggle-btn svg {
    width: 100%;
    height: 100%;
}

.icon.sun {
    padding: 2px;
}

button.theme-toggle-btn {
    z-index: 999;
    position: fixed;
    bottom: 20px;
    left: 20px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease, visibility 0s 0.3s;
    line-height: 0.5;
    border-radius: 1000px;
    cursor: pointer;
    background: var(--red);
    /* padding: 10px; */
    box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5);
}

/* emoji icons + animation */
button.theme-toggle-btn .icon {
    position: absolute;
    font-size: 1.5rem;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

/* Sun visible in light mode */
html[data-theme="light"] .theme-toggle-btn .sun {
    opacity: 1;
    transform: rotate(0) scale(1);
}

html[data-theme="light"] .theme-toggle-btn .moon {
    opacity: 0;
    transform: rotate(-90deg) scale(0.5);
}

.logo {
    max-height: 100%;
}

/*.nav-links { width: auto; float: right; }
*/
.title-bar {
    position: relative;
    top: 0;
    width: 100%;
    min-height: 100px;
    z-index: 999;
    border-bottom: 1px solid var(--black);
    height: 6.5em;
}

.top-bar {
    width: 100%;
    background: var(--white);
    font-family: 'Helvetica', arial, sans-serif;
    z-index: 9999;
    justify-content: flex-end;
    align-items: center;
    border-bottom: 1px solid var(--black);
    position: fixed;
}

.top-bar a,
.top-bar > ul {
    width: 100%;
}

.logo {
    width: auto;
    max-width: none;
    padding: 0.5em;
}

.navigation {
    margin: 0 0.5rem 0 auto;
}

.top-bar {
    padding: 0;
}

.top-bar *:not(.horizontal) {
    text-decoration: none;
}

.top-bar ul {
    background: var(--white);
}

.top-bar ul li .horizontal li {
    display: inline-block;
}

.top-bar ul ul {
    background: var(--white);
}

.top-bar ul li a {
    transition: color 0.15s ease, background-color 0.15s ease;
    color: var(--blue);
    font-size: 1.25vw;
    font-weight: bold;
}

.top-bar ul li a:hover,
.top-bar ul li a:active {
    background: var(--red);
    color: var(--white);
    text-decoration: none;
}

.top-bar > .navigation > ul > li > ul > li > a {
    padding: 8px 8px;
}

/* Quick Links - Navigation */
.top-bar ul.quick-links {
    cursor: default;
    display: flex;
}

.top-bar ul.quick-links li a {
    padding: 0.5em;
    transition: color 0.15s ease, background-color 0.15s ease;
    color: var(--red);
    font-size: 1.1vw;
    font-weight: normal;
}

.top-bar ul.quick-links li a:hover,
.top-bar ul.quick-links li a:active {
    background: none;
    color: var(--blue);
    text-decoration: underline;
    cursor: pointer;
}

.top-bar ul.quick-links li:not(:first-of-type)::before {
    content: "|";
    color: var(--black);
    padding: 0px 0px 2px 0px;
}

.top-bar ul ul li a,
.top-bar ul li .horizontal a {
    background: none;
    color: var(--black);
    font-size: 1.3vw;
    font-weight: normal;
}

.dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu.horizontal {
    /* border: 0px 1px 1px 1px solid var(--blue); */
    width: fit-content;
    position: fixed;
    right: 8.5vw;
    left: auto;
}

.dropdown .is-dropdown-submenu .nested-image-submenu a {
    transition: all 0.3s ease;
    font-weight: normal;
    width: 15vw;
    background: var(--white) !important;
    color: var(--red) !important;
    margin: 1em;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.nested-image-submenu a:hover {
    text-decoration: underline !important;
    cursor: pointer;
    background: var(--white);
    opacity: 70%;
}

.nested-image-submenu {
    display: flex;
    flex-wrap: wrap;
    border: 3px solid var(--blue);
    border-top: none;
}

.nested-image-submenu-column {
    flex: calc(25% - 1px);
}

.nested-image-submenu-column img {
    vertical-align: middle;
    margin-top: 1em;
    max-width: 100%;
    height: auto;
}

.nested-image-submenu-item {
    border-right: 1px dotted var(--black);
}

.nested-image-submenu hr {
    margin: 0em;
}

/*.top-bar ul ul ul li a { color:var(--black); font-size:1.2vw; font-weight:normal; padding:0.35rem 0.5rem; white-space:normal; }
*/
.top-bar .is-submenu-item .is-drop-down-submenu a {
    width: 100%;
    z-index: 99;
    position: relative;
}

.nav-divider {
    width: 100%;
    max-width: 100%;
    margin: 0.8em 0em 0.8em 0em;
    border: solid var(--blue);
    border-width: 2px 0 0;
    height: 0;
}

.nav-divider:first-of-type {
    width: 93%;
    max-width: 93%;
    justify-self: end;
}

.nav-divider:last-of-type {
    width: 93%;
    max-width: 93%;
    justify-self: start;
}

.top-bar ul {
    margin-left: auto;
}

.top-bar .quick-links {
    margin: 0.4em 0 0.4em auto;
}

/* .top-bar .quick-links li { display: inline-block; }
*/
.top-bar .quick-links li {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.top-bar input {
    max-width: 100% !important;
    margin-right: 0 !important;
}

/* Code for when a nav option doesn't have a drop down, needs the hide-dropdown class on the html ul.menu */
@media screen and (max-width: 63.9375em) {
    .hide-dropdown {
        display: none !important;
    }
}

.dropdown.menu.large-horizontal.hide-dropdown {
    visibility: none;
}

.dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent:has(.hide-dropdown) a::after {
    display: none;
}

.top-bar > div > ul > li > a {
    padding: 11.2px 24px 11.2px 11.2px;
}

.top-bar > div > ul > li.no-arrow > a {
    padding: 11.2px 11.2px;
}

.top-bar > div > ul > li > a::after {
    top: 50%;
    margin-top: -3px !important;
}

/* .top-bar > div > ul > li.no-arrow > a::after { top: 50%; margin-top: -3px; }
*/
@media screen and (min-width: 1200px) {
    .top-bar ul li a {
        font-size: 1.07rem;
    }

    /* Link Sizing */
    .top-bar ul.quick-links li a {
        padding: 0em 0.5em;
        font-size: 0.9rem;
    }

    /* Quick Link Sizing */
    .top-bar ul li .horizontal a {
        font-size: 0.95rem;
    }

    /* Products Link Sizing */
    .top-bar ul ul li a {
        font-size: 0.95rem;
    }

    .dropdown .is-dropdown-submenu .nested-image-submenu a {
        width: 13.5em;
    }

    .top-bar .instant-pcb img {
        width: 10em;
    }

    .pcb-btns .button {
        padding: 0.5em 0.7em;
    }

    .navigation {
        margin: 0 1rem 0.5rem auto;
    }

    .top-bar .instant-pcb img {
        padding: 0 0 1em 0;
    }
}

/* Home Page Style - Index */
.parallax {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
    padding: 120px 15px;
    margin: 0px 0px 30px 0px;
    width: 100%;
    border: 5px solid var(--blue);
    border-left: none;
    border-right: none;
}

.parallax.epec-old-building {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('/images/epec-old-building.jpg');
}

.parallax h3 {
    font-size: 1.8rem;
    color: var(--white);
    text-transform: uppercase;
    padding: 15px 0 8px 0;
    text-shadow: 0px 0px 15px rgba(0, 0, 0, 1);
    font-weight: 100;
}

#home-about {
    padding: 20px 0;
}

#home-about h1 {
    margin: 0.5rem 0rem 0.5rem 0rem;
    font-size: 2.3rem;
}

#home-about h2 {
    margin: 0rem 1.5rem 0.5rem 1.5rem;
    padding-top: 0em;
    font-size: 1.8rem;
    color: var(--red);
}

#home-about p {
    margin: 0em 1.5em;
}

/* Content Focus - Index */
.content-focus {
    margin-top: 3em;
    border-top: 5px solid var(--blue);
}

#content-1 {
    display: none;
    min-height: 400px;
}

#content-1-with-background {
    min-height: 430px;
    background-color: #aaa;
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url("/images/home-printed-circuit-boards.jpg");
    background-repeat: no-repeat;
    background-position: right;
    background-size: cover;
}

#content-2 {
    display: none;
    min-height: 400px;
}

#content-2-with-background {
    min-height: 430px;
    background-color: #aaa;
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url("/images/home-rigid-flex-pcbs.jpg");
    background-repeat: no-repeat;
    background-position: right;
    background-size: cover;
}

.info-wrapper {
    width: 85%;
    margin: 0 auto;
    text-align: center;
    color: var(--white);
    min-height: 420px;
}

.info-wrapper h2 {
    color: var(--white);
    font-size: 2rem;
}

.info-wrapper p {
    font-weight: 1.2em !important;
}

.more-info {
    margin-left: auto;
    margin-right: auto;
    padding: 0% 7%;
}

.more-info > div.cell {
    display: grid;
    justify-items: center;
    text-align: center;
}

.more-info small {
    font-size: 1.3rem;
    font-weight: bold;
}

.more-info a.button {
    align-self: flex-end;
}

/* Hero Banner (Orbit) - Index*/
.orbit-video {
    min-height: 60vh !important;
}

.orbit.orbit:has(.sub-hero-banner) {
    min-height: 47vh !important;
}

.orbit.orbit:has(.sub-hero-banner) .orbit-previous,
.orbit.orbit:has(.sub-hero-banner) .orbit-next {
    top: 40%;
}

#hero-background-placeholder {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/top-printed-circuit-boards.jpg');
}

.hero-background-image {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: scroll;
    min-height: 40vh;
    height: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    object-fit: cover;
}

.hero-background-image:has(.sub-hero-banner) {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: scroll;
    box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.5);
}

#hero-background-image-1 {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/top-printed-circuit-boards.jpg');
}

#hero-background-image-2 {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/top-battery-packs.jpg');
}

#hero-background-image-3 {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/top-user-interfaces.jpg');
}

#hero-background-image-4 {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/top-flex-circuit-boards.jpg');
}

#hero-background-fans-motors {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/product-top-fans-motors.png');
}

#hero-background-battery-packs {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/product-top-battery-packs.jpg');
}

#hero-background-cable-assemblies {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/product-top-cable-assemblies.jpg');
}

#hero-background-flex {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/product-top-flex-circuits.jpg');
}

#hero-background-pcb {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/product-top-circuit-boards.jpg');
}

#hero-background-instantpcbquote {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/product-top-instantpcbquote.jpg');
}

#hero-background-user-interfaces {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/product-top-user-interfaces.jpg');
}

#hero-background-flexible-heaters {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/product-top-flexible-heaters.jpg');
}

#hero-background-cnc-machining {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/product-top-cnc-machining.jpg');
}

#hero-background-rf-products {
    background-position: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/product-top-rf-products.jpg');
}

/* .orbit + .small-11.medium-11.large-9.cell { margin-top: 20px; }
*/
.orbit-bullets {
    cursor: default;
    background-color: rgba(0, 0, 0, 0);
    margin-top: -50px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.orbit-bullets button {
    padding: 0.5em;
    background-color: var(--white);
    transition: all 0.15s ease;
}

.orbit:has(.sub-hero-banner) .orbit-bullets {
    margin-top: 20px;
}

.orbit:has(.sub-hero-banner) .orbit-bullets button {
    min-width: 135px;
    height: fit-content;
    border-radius: 50px;
    transition: all 0.15s ease;
    background-color: var(--off-white);
    color: var(--black);
}

.orbit:has(.sub-hero-banner) .orbit-bullets button:hover {
    background-color: var(--blue);
    color: var(--white);
}

.orbit:has(.sub-hero-banner) .orbit-bullets button.is-active {
    background-color: var(--red);
    color: var(--white);
}

.orbit-bullets button.is-active,
.orbit-bullets button.is-active:hover {
    background-color: var(--red);
}

.orbit-bullets button:hover {
    cursor: pointer;
    background-color: var(--blue);
}

.orbit-previous,
.orbit-next,
.orbit-previous:focus,
.orbit-next:focus {
    z-index: 100;
    background-color: var(--red);
}

.orbit-previous,
.orbit-next {
    padding: 20px 20px;
    margin: 0.5em;
    font-size: 1.1rem;
    transition: all 0.15s ease;
    z-index: 101;
    position: absolute;
}

.orbit-previous:hover,
.orbit-next:hover {
    cursor: pointer;
    background-color: var(--blue);
}

.hero-background-image,
.hero-banner-container {
    width: 100%;
    padding: 0em 0em;
}

.hero-banner-container {
    height: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
}

.orbit-wrapper .hero-banner-container {
    height: 60vh;
    width: 100%;
    margin: 0;
    padding: 0;
}

.hero-banner-container:has(.sub-hero-banner) {
    min-height: 40vh;
}

.hero-banner-container h3 a {
    color: var(--red);
}

.hero-banner-container h3 a:hover {
    text-decoration: underline;
}

.sub-hero-banner h1,
.sub-hero-banner h2 {
    color: var(--white);
    /* text-shadow: 0px 0px 15px rgba(0, 0, 0, 1); */
}

.sub-hero-banner h1 {
    text-transform: uppercase;
    font-size: 3rem;
    text-shadow: 2px 4px var(--black);
}

.sub-hero-banner h2 {
    font-style: italic;
    margin-bottom: 2em;
    font-size: 1.6rem;
    text-shadow: 1.5px 1.5px var(--black);
}

@media screen and (max-width: 1023px) {
    .sub-hero-banner h1 {
        text-align: center;
        font-size: 1.8rem;
    }

    .sub-hero-banner h2 {
        text-align: center;
        font-size: 1rem;
    }
}

.about-half-hero {
    background-image: url('/images/pcb-manufacturer.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid var(--black);
    padding-top: 55px;
    padding-bottom: 55px;
}

.hero-btns {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1em;
}

.sub-hero-banner .hero-btns {
    justify-content: center;
}

/* Hero Banner (Orbit) Animations - Index */
ul.orbit-container {
    width: 100%;
    box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.5);
}

.hero-frame-title-1 {
    opacity: 0;
    color: var(--white);
    animation: hero-frame-tag-anim;
    position: relative;
    animation-duration: 1s;
    animation-delay: 0;
    animation-fill-mode: forwards;
}

.hero-frame-tag-1,
.hero-frame-sub-txt {
    display: block;
    opacity: 0;
    animation: hero-frame-tag-anim;
    position: relative;
    animation-duration: 1s;
    animation-delay: .5s;
    animation-fill-mode: forwards;
}

.hero-frame-tag-1 {
    font-family: 'Helvetica', arial, sans-serif;
    text-shadow: 2px 4px var(--black);
    color: var(--white);
}

.hero-frame-sub-txt {
    animation-delay: 0.7s;
    color: var(--white);
    text-shadow: 1.5px 1.5px var(--black);
}

.hero-frame-btn {
    margin-right: 0.5rem;
    text-align: center;
    opacity: 0;
    color: var(--white);
    padding: 10px 15px;
    display: inline-block;
    position: relative;
    border: 2px var(--white) solid;
    animation: hero-frame-learn-anim;
    animation-duration: 1s;
    animation-delay: 1s;
    animation-fill-mode: forwards;
    background-color: var(--red);
}

.hero-frame-btn.button:nth-child(2) {
    animation-delay: 1.25s
}

.hero-frame-btn.button:nth-child(3) {
    animation-delay: 1.50s
}

.hero-frame-btn.button:nth-child(4) {
    animation-delay: 1.75s
}

.hero-frame-btn.button:nth-child(5) {
    animation-delay: 2.00s
}

.hero-banner .button {
    white-space: wrap;
    margin: 0;
}

.hero-frame-btn:hover {
    background-color: var(--blue);
}

.hero-info-wrapper {
    margin: 0px 10px;
    padding-top: 10vh;
    padding-right: 20px;
    padding-left: 20px;
    width: 100%;
    max-width: 800px;
    font-size: 0.8rem;
}

/* Featured Items Section - Index */
/*
.featured-items h3 { font-weight: bold; font-size:1.65rem; color:var(--black); text-align: center; margin-top:0; padding: 0; }
.featured-items h4 { font-size: 1.2rem; color:var(--blue); }
.featured-items p { font-size: 1rem; }
.featured-items { text-align: center; }
*/
/* Table Styles - General */
table.scroll {
    width: fit-content;
    max-width: 100%;
}

table {
    background: var(--white);
    border: 1px solid var(--off-white);
    border-collapse: separate;
    width: fit-content;
}

table td {
    white-space: wrap;
    width: fit-content;
}

table thead th {
    text-align: center;
}

table tbody {
    vertical-align: top;
}

table thead,
table tfoot {
    background: var(--blue);
    color: var(--white)
}

table tbody tr:nth-child(2n) {
    background: var(--light-blue);
}

table.center tbody tr td {
    text-align: center;
}

table td.bg-red {
    background-color: var(--red);
    color: var(--white);
}

table td.bg-white {
    background-color: var(--white);
    color: var(--black);
}

table td.bg-blue {
    background-color: var(--blue);
    color: var(--white);
}

/* Column Styles - General */
.flex-column {
    width: fit-content;
    display: flex;
    height: auto;
    flex-direction: column;
}

.flex-column-center {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.flex-row {
    width: fit-content;
    display: flex;
    height: auto;
    flex-direction: row;
}

/* Content - General */
#content-container:has(> .small-11.medium-11.large-9.cell) {
    align-items: center;
    padding-bottom: 3em;
    display: flex;
    position: relative;
    overflow: hidden;
    flex-direction: column;
    justify-content: flex-start;
}

#content-container:has(.hero-background-image) {
    align-items: center;
    padding-bottom: 3em;
    display: flex;
    position: relative;
    overflow: hidden;
    flex-direction: row !important;
    justify-content: center !important;
}

#content-container:has(> .grid-x) {
    padding-bottom: 3em;
    display: flex;
    position: relative;
    overflow: hidden;
    flex-direction: row !important;
}

#content-container > div.small-11.medium-11.large-9.cell {
    width: 1450px;
    max-width: 95%;
}

@media (max-width: 1024px) {
    #content-container > div.small-11.medium-11.large-9.cell {
        max-width: 90%;
    }
}

/* Nav Position */
/* BLUE BAR */
.top-bar {
    border-bottom: 3px solid var(--blue);
    min-height: 109px;
}

@media screen and (max-width: 1023px) {
    .top-bar {
        border-bottom: 3px solid var(--blue) !important;
    }
}

#content-container {
    margin-top: calc(var(--nav-bar-margin) + 2px);
    min-height: calc(100vh - var(--nav-bar-margin));
    display: flex;
}

/* margin-top: calc(var(--nav-bar-margin) + 2px); */
.dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu.horizontal {
    top: var(--nav-bar-margin)
}

@media screen and (max-width:1023px) {
    .top-bar .is-drilldown {
        margin-top: calc(var(--nav-bar-margin) + 2px);
    }
}

/* Breadcrumb Styles - General */
ul.breadcrumbs {
    margin-top: 1.5em;
    margin-bottom: 2em;
}

ul.breadcrumbs li,
ul.breadcrumbs li a {
    color: var(--blue);
}

ul.breadcrumbs li:last-child a {
    color: var(--red);
    text-decoration: underline;
}

/* Add to Any Styles - General */
html[data-theme="dark"] .add-to-any .a2a_button_x > span.a2a_s_x {
    box-shadow: inset 0 0 0 1px #fff;
    border-radius: 4px;
}

.add-to-any > div {
    min-width: 144px;
    min-height: 32px;
}

.add-to-any {
    display: flex;
    margin-top: 1.1em;
    height: fit-content;
}

.add-to-any small {
    color: var(--red);
    font-weight: bold;
    margin: auto;
    margin-right: 0.5em;
    font-size: 0.8rem;
}

.add-to-any * {
    transition: all 0.25s ease;
}

/* Video Sidebar */
/* .video-sidebar {
    display: flex;
    flex-direction: column;
    align-items: center;
} */
.sidebar.video-sidebar .youtube-lazy-container,
.sidebar.video-sidebar iframe {
    /* width: auto; */
    /* height: 62vh; */
    aspect-ratio: 9 / 16 !important;
    margin-top: 0;
}

/* END Video Sidebar */
/* Sidebar Styles - General*/
.sidebar:has(> .hbspt-form) {
    position: relative;
    border: 1px solid var(--black);
    border-radius: 20px;
    background-color: var(--white);
    color: var(--black);
    margin: 0 0 1rem 0;
    padding: 15px 15px 0px 15px;
    margin: auto;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sidebar:has(> .hbspt-form) h4 {
    color: var(--red);
    font-family: 'Helvetica', arial, sans-serif;
    font-size: 1.25rem;
    font-weight: bold;
    text-align: center;
    margin: 0;
}

.sidebar:has(> .hbspt-form) p {
    font-size: 0.9rem;
    text-align: center;
}

.sidebar > ul > li > ul {
    /* margin: 3% 5%; */
    margin: 3% 5% 3% 7% !important;
    list-style-type: circle;
}

.sidebar > ul > li > ul > li::marker {
    color: var(--blue);
    transition: all 0.15s ease;
}

.sidebar > ul > li > ul:not(.no-drop-down ul):not(ul:has(li.active)) {
    display: none;
}

.sidebar > ul > li > ul > li > a {
    line-height: 1;
    text-decoration: none;
    display: block;
    /* padding: 0.5em 0em; */
    padding: 0.5em 0em 0.3em 0.5em;
}

.sidebar {
    background-color: var(--white);
    height: fit-content;
}

.sidebar h4 {
    font-size: 1.3rem;
    color: var(--black);
    margin: 0 0 0.5em 0;
    font-weight: bold;
}

.sidebar h5 {
    font-size: 1.0625rem;
    color: var(--white);
    margin-bottom: 0px;
    padding: 0;
}

.sidebar .title {
    background-color: var(--black);
}

.sidebar ul.sidebar-nav li a {
    background-color: none;
    text-decoration: none;
    color: var(--blue);
}

.sidebar ul.sidebar-nav li.active a.title {
    background-color: #3366CC;
    transition: background-color 0.15s ease;
}

/* .sidebar ul.sidebar-nav li.active a.title:hover { background-color:var(--red); }
*/
.sidebar ul.sidebar-nav li[aria-expanded="true"] a.title {
    background-color: var(--red);
}

.sidebar ul.sidebar-nav li ul.nested li.active a {
    background-color: var(--white);
    color: var(--red);
}

.sidebar p {
    font-size: 0.9rem;
    margin: 15px 0px 15px 0px;
}

.sidebar p a {
    text-decoration: none;
}

/*.sidebar p a:hover { text-decoration: underline; }
*/
.sidebar .button {
    font-size: 1rem;
    padding: 15px 20px;
}

.sidebar img + .button,
.sidebar a:has(img) + .button {
    margin-top: 15px;
}

.sidebar ul.sidebar-nav {
    width: 100%;
}

.sidebar ul.sidebar-nav li a:hover {
    color: var(--red);
}

.sidebar ul.sidebar-nav ul {
    width: 90%;
}

.sidebar ul.accordion-menu > li > a.title {
    color: var(--white);
}

.sidebar ul.accordion-menu > li > a.title:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    color: var(--white);
    border: solid 7px;
    border-color: transparent transparent transparent var(--white);
    position: absolute;
    left: 0;
    top: 14px;
}

.sidebar .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    border-color: var(--white) transparent transparent transparent;
}

/* Use this class on .sidebar when you want it to look like the old site when there are no drop downs in the sidebar */
.sidebar.no-drop-down .title {
    user-select: none !important;
    background-color: var(--red) !important;
    padding: 0.7rem 1rem;
    color: var(--white);
    /* font-weight: bold !important; */
    /* font-size: 1.25rem; */
    font-size: 1.0625rem;
}

h5.title + p {
    margin: 15px;
}

.sidebar h4 + p {
    margin-top: 0px;
}

.sidebar.no-drop-down hr {
    margin: 0.5em 0 1em 0;
}

.sidebar.no-drop-down .title::after,
.sidebar.no-drop-down .title::before {
    display: none !important;
}

/* Mini side-nav styles (The ones that are always open) */
.side-nav {}

/* List Nav Styles - General */
.list-nav {
    margin-top: 2em;
}

/* SideSocials Styles - General */
.side-socials h4 {
    font-size: 1.3rem;
    color: var(--black);
    margin: 0 0 0.5em 0;
    font-weight: bold;
}

.side-socials h5 {
    font-size: 1.0625rem;
    color: var(--white);
    margin-bottom: 0px;
}

.side-socials p {
    font-size: 0.9rem;
}

.side-socials p a {
    text-decoration: none;
}

/* Callout Styles - General */
.callout {
    position: relative;
    border: 1px solid var(--black);
    border-radius: 20px;
    background-color: var(--white);
    color: var(--black);
    margin: 0 0 1rem 0;
    padding: 0.75rem 1.5rem;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.callout h4 {
    color: var(--red);
    font-family: 'Helvetica', arial, sans-serif;
    font-size: 1.25rem;
    font-weight: bold;
    text-align: center;
    margin: 0;
}

.callout p {
    font-size: 0.9rem;
    text-align: center;
}

.sidebar small {
    font-size: 0.9rem;
    padding: 0.5rem;
}

/* Timeline Styles - General */
.timeline h3 {
    padding: 0;
}

.timeline .timeline-item::after,
.timeline .timeline-item::before {
    clear: both;
    content: '';
    display: block;
}

.timeline {
    margin-left: 0;
    padding-left: 0;
    position: relative;
    transition: all 0.25s ease-in;
    width: fit-content;
    margin: 0px auto;
}

.timeline::before {
    background: var(--black);
    content: '';
    height: 100%;
    /* left: 0; */
    position: absolute;
    top: 0;
    width: 3px;
}

/* Aquisitions timeline */
.timeline-aquisitions {
    margin-left: 35px;
    /* Margin needs to match ".timeline-aquisitions .timeline .timeline-item .timeline-icon" margin left value */
}

.timeline-aquisitions .timeline .timeline-item {
    margin-bottom: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.timeline-aquisitions .timeline-item h3.timeline-content-date {
    display: flex;
    align-items: center;
    margin: 0.75rem 0rem;
    min-height: 60px;
}

.timeline-aquisitions .timeline .timeline-item .timeline-icon {
    left: 0 !important;
    margin-left: -35px !important;
}

.timeline-aquisitions .timeline-item {
    justify-content: flex-start;
}

.timeline-aquisitions .timeline .timeline-content-left,
.timeline-aquisitions .timeline .timeline-content-right {
    margin-left: 50px !important;
    width: calc(100% - 40px) !important;
    text-align: left !important;
}

.timeline-aquisitions .timeline .start-circle {
    width: 7px;
    height: 7px;
    margin-left: -2px !important;
    border-radius: 100px;
    background-color: var(--black);
}

.timeline-aquisitions .timeline .end-circle {
    width: 7px;
    height: 7px;
    margin: 0px 0px 0px -2px;
    border-radius: 100px;
    background-color: var(--black);
}

.timeline::after {
    clear: both;
    content: '';
    display: table;
    width: 100%;
}

.timeline .start-circle {
    width: 7px;
    height: 7px;
    margin-left: 3px;
    border-radius: 100px;
    background-color: var(--black);
}

.timeline .end-circle {
    width: 7px;
    height: 7px;
    margin: 0px 0px 0px 3px;
    border-radius: 100px;
    background-color: var(--black);
}

.timeline a {
    color: var(--black);
    font-weight: bold;
    transition: all 0.25s ease-in;
}

.timeline a:hover {
    box-shadow: 0 1px 0px 0px var(--black);
    transition: all 0.25s ease-in;
}

.timeline-item {
    display: flex;
    flex-direction: row;
    width: auto;
}

.timeline .timeline-item {
    position: relative;
    margin-bottom: 20px;
}

.timeline .timeline-item:last-child {
    margin-bottom: 0px;
}

.timeline .timeline-item .timeline-icon {
    background: var(--white);
    border-radius: 50%;
    height: 70px;
    left: 50%;
    margin-left: -33px;
    overflow: hidden;
    position: absolute;
    width: 70px;
    border: 3px solid var(--black);
}

.timeline h3 {
    color: var(--red);
}

.timeline .timeline-item .timeline-icon h3 {
    position: relative;
    padding: 20px 0px 0px 0px;
    margin: 0;
    font-size: 1.3rem;
    color: var(--blue);
}

.timeline .timeline-item .timeline-content-left,
.timeline .timeline-item .timeline-content-right {
    padding: 5px;
    text-align: right;
    transition: all 0.25s ease-in;
    width: 40%;
    background: transparent;
}

.timeline .timeline-item p {}

.timeline .timeline-item p,
.timeline .timeline-item h3 {
    margin-bottom: 0;
}

.timeline .timeline-item .timeline-content-left .timeline-content-date,
.timeline .timeline-item .timeline-content-right .timeline-content-date {
    font-weight: bold;
}

.timeline .timeline-item .timeline-content-left .timeline-content-month,
.timeline .timeline-item .timeline-content-right .timeline-content-month {
    font-size: 0.875rem;
    text-transform: uppercase;
    font-weight: 400;
}

.timeline .timeline-item .timeline-content-left {
    text-align: right;
    margin-right: auto;
}

.timeline .timeline-item .timeline-content-right {
    text-align: left;
    margin-left: auto;
}

@media screen and (max-width: 39.9375em) {
    .timeline {
        margin: 30px;
        padding: 0;
        width: 90%;
    }

    .timeline::before {
        left: 0;
    }

    /*
    .timeline .timeline-item .timeline-content { float: right; text-align: left; width: 90%; }
.timeline .timeline-item .timeline-content::before,
    .timeline .timeline-item
*/
    .timeline-content.right::before {
        border-left: 0;
        border-right: 7px solid var(--black);
        left: 10%;
        margin-left: -6px;
    }

    .timeline .timeline-item .timeline-icon {
        left: 0;
    }

    .timeline-item {
        display: flex;
        flex-direction: column;
        width: auto;
    }

    .timeline .timeline-item .timeline-content-left,
    .timeline .timeline-item .timeline-content-right {
        width: 85%;
    }

    .timeline .timeline-item .timeline-content-left {
        text-align: left;
        margin: 0 0 0 auto;
    }

    .timeline .timeline-item .timeline-content-right {
        text-align: left;
        margin: 0 0 0 auto;
    }

    .timeline .start-circle,
    .timeline .end-circle {
        margin-left: -2px;
    }
}

/* Image Card Styles - General */
.card h2,
.card h3,
.card h4 {
    padding: 1rem 0rem 0rem 0em;
}

.card,
div.cell.card {
    margin: 0;
}

/* Checkboxes - General */
/* .no-cbx span:has(svg) { display: none; }
*/
.checkbox-wrapper abbr[title] {
    border-bottom: 1px dotted var(--white);
}

.no-cbx .checkbox-wrapper .cbx {
    display: flex;
    align-items: center;
    justify-content: center;
}

.no-cbx .checkbox-wrapper .cbx span {
    margin: 0;
    padding: 10px 20px;
    min-width: 100% !important;
}

.no-cbx .checkbox-wrapper .cbx:hover {
    color: var(--white);
}

.filters {
    display: flex;
    flex-direction: row;
}

.filters-container {
    /* background-color: var(--blue); */
    margin: 20px 0px;
}

.filters h4 {
    margin: 0;
}

.checkbox-wrapper {
    display: flex;
    margin: 3px 0px;
    justify-content: center;
    width: calc(100% / 4);
}

@media screen and (max-width: 1023px) {
    .filters {
        justify-content: flex-start;
    }

    .checkbox-wrapper .cbx {
        text-align: left;
    }

    .checkbox-wrapper {
        justify-content: flex-start;
        width: calc(100% / 3);
    }
}

.checkbox-wrapper * {
    box-sizing: border-box;
    margin: 0px;
}

.checkbox-wrapper .cbx {
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
    padding: 6px 8px;
    border-radius: 6px;
    overflow: hidden;
    transition: all 0.2s ease;
    color: var(--white);
    font-size: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.checkbox-wrapper .cbx:not(:last-child) {
    margin-right: 0;
}

.checkbox-wrapper .cbx:hover {
    color: var(--red);
}

.checkbox-wrapper .cbx span {
    float: left;
    vertical-align: middle;
    transform: translate3d(0, 0, 0);
}

.checkbox-wrapper .cbx span:last-of-type {
    margin-top: 5px;
}

.checkbox-wrapper .cbx span:first-child {
    position: relative;
    min-width: 18px;
    min-height: 18px;
    border-radius: 4px;
    transform: scale(1);
    border: 1px solid #cccfdb;
    transition: all 0.2s ease;
    box-shadow: 0 1px 1px rgba(0, 16, 75, 0.05);
    flex: 0 0 100%;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.checkbox-wrapper .cbx span:first-child svg {
    position: absolute;
    top: 3px;
    left: 2px;
    fill: none;
    stroke: var(--white);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 16px;
    stroke-dashoffset: 16px;
    transition: all 0.3s ease;
    transition-delay: 0.1s;
    transform: translate3d(0, 0, 0);
}

.checkbox-wrapper .cbx span:last-child {
    line-height: 18px;
}

.checkbox-wrapper .cbx:hover span:first-child {
    border-color: #07f;
}

.checkbox-wrapper .inp-cbx {
    position: absolute;
    visibility: hidden;
}

/* Dropdown select input field search / filter system */
.search-dropdown-wrapper {
    position: relative;
    max-width: 400px;
    /*   max-width: 1100px; */
    margin-bottom: 1.5rem;
}

#filter-suggestions {
    border: 1px solid var(--black);
    border-top: 0px;
    width: calc(103% - 49px);
}

#filter-suggestions.hide {
    display: none !important;
}

#filter-suggestions.show {
    display: block !important;
}

.search-dropdown-wrapper:has(ul#filter-suggestions.show) #ebook-filter-input {
    border-radius: 6px 6px 0px 0px;
}

#ebook-filter-input {
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--blue);
    border-radius: 6px;
    font-size: 0.95rem;
    outline: none;
    transition: 0.2s ease;
    position: relative;
    z-index: 1001;
}

#ebook-filter-input::placeholder {
    font-size: 0.95rem;
}

#ebook-filter-input:focus {
    border-color: var(--blue);
}

.suggestions-list {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: none;
    background-color: var(--white);
    border: 1px solid var(--white);
    border-top: none;
    border-radius: 0 0 6px 6px;
    max-height: 240px;
    overflow-y: auto;
    list-style: none;
    margin: 0;
    padding: 0;
    /* box-shadow: 0 0 5px var(--black); */
}

.suggestions-list li {
    padding: 7px 13px;
    cursor: pointer;
    font-size: 0.95rem;
    transition: 0.15s ease;
    border-bottom: 1px solid var(--white);
}

.suggestions-list li:last-child {
    border-bottom: none;
}

.suggestions-list li:hover {
    background-color: var(--white);
    color: var(--red);
}

/* End of dropdown select input field search / filter system */
.checkbox-wrapper .inp-cbx:checked + .cbx span:first-child {
    background: var(--red);
    border: 2px solid var(--white);
    animation: wave-4 0.4s ease;
}

.checkbox-wrapper .inp-cbx:checked + .cbx span:first-child svg {
    stroke-dashoffset: 0;
}

.checkbox-wrapper .inline-svg {
    position: absolute;
    width: 0;
    height: 0;
    pointer-events: none;
    user-select: none;
}

@media screen and (max-width: 1023px) {
    .checkbox-wrapper {
        width: calc(100% / 3);
    }
}

@media screen and (max-width: 640px) {
    .checkbox-wrapper .cbx {
        display: flex;
        flex-direction: row;
        text-align: left;
        justify-content: flex-start;
    }

    .checkbox-wrapper {
        justify-content: flex-start;
    }

    .filters {
        justify-content: flex-start !important;
    }

    .checkbox-wrapper {
        width: calc(100% / 2);
    }
}

@-moz-keyframes wave-4 {
    50% {
        transform: scale(0.9);
    }
}

@-webkit-keyframes wave-4 {
    50% {
        transform: scale(0.9);
    }
}

@-o-keyframes wave-4 {
    50% {
        transform: scale(0.9);
    }
}

@keyframes wave-4 {
    50% {
        transform: scale(0.9);
    }
}

.filter-row {
    display: flex;
    gap: 4px;
}

#filter-reset-btn {
    padding: 0px 0px 3px 0px;
    border: 1px solid var(--blue);
    height: 30px;
    width: 36px;
    align-items: center;
    border-radius: 6px;
    background: var(--white);
    font-size: 1.5rem;
    cursor: pointer;
    transition: 0.2s ease;
    white-space: nowrap;
}

#filter-reset-btn:hover {
    color: var(--red);
    border-color: var(--red);
}

#filter-reset-btn:active {
    transform: scale(0.97);
}

/* Standard Forms - General */
form {
    margin: 0 0 19.41641px;
}

label {
    color: var(--black);
    cursor: pointer;
    display: block;
    font-size: 0.75rem;
    font-weight: normal;
    text-align: left;
    margin-top: 10px;
    margin-bottom: 2px;
}

label.right {
    float: none;
    text-align: right;
}

label.inline {
    line-height: 30px;
    margin: 0 0 12px 0;
}

.prefix,
.postfix {
    display: block;
    position: relative;
    z-index: 2;
    text-align: center;
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
    height: 30px;
    line-height: 29px;
}

a.button.prefix,
a.button.postfix {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}

span.prefix,
span.postfix {
    background: var(--white);
    border: 1px solid var(--red);
}

.prefix {
    left: 2px;
    -moz-border-radius-topleft: 2px;
    -webkit-border-top-left-radius: 2px;
    border-top-left-radius: 2px;
    -moz-border-radius-bottomleft: 2px;
    -webkit-border-bottom-left-radius: 2px;
    border-bottom-left-radius: 2px;
    overflow: hidden;
}

.postfix {
    right: 2px;
    -moz-border-radius-topright: 2px;
    -webkit-border-top-right-radius: 2px;
    border-top-right-radius: 2px;
    -moz-border-radius-bottomright: 2px;
    -webkit-border-bottom-right-radius: 2px;
    border-bottom-right-radius: 2px;
}

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
textarea {
    background-color: var(--white);
    font-family: inherit;
    border: 1px solid var(--black);
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0, 0.75);
    display: block;
    font-size: 0.875rem;
    margin: 0 0 0 0;
    padding: 6px;
    height: 30px;
    width: 100%;
}

input[type="text"].oversize,
input[type="password"].oversize,
input[type="date"].oversize,
input[type="datetime"].oversize,
input[type="email"].oversize,
input[type="number"].oversize,
input[type="search"].oversize,
input[type="tel"].oversize,
input[type="time"].oversize,
input[type="url"].oversize,
textarea.oversize {
    font-size: 0.75rem;
    padding: 4px 6px;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="datetime"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="time"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
    background: var(--light-blue);
    color: var(--black);
    outline: none;
    border-color: var(--blue);
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
}

input[type="text"][disabled],
input[type="password"][disabled],
input[type="date"][disabled],
input[type="datetime"][disabled],
input[type="email"][disabled],
input[type="number"][disabled],
input[type="search"][disabled],
input[type="tel"][disabled],
input[type="time"][disabled],
input[type="url"][disabled],
textarea[disabled] {
    background-color: var(--white);
}

textarea {
    height: auto;
}

select {
    font-family: inherit;
    border: 1px solid var(--red);
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    color: rgba(0, 0, 0, 0.75);
    display: block;
    font-size: 0.875rem;
    margin: 0 0 0 0;
    padding: 4px;
    height: 100%;
    width: 100%;
}

select:focus {
    outline: none;
}

input:-webkit-input-placeholder {
    font-size: 0.625rem;
    color: var(--black);
}

input:-moz-placeholder {
    font-size: 0.688rem;
    color: var(--black);
}

input::placeholder,
textarea::placeholder {
    color: var(--black);
    font-size: 0.85rem;
}

select::placeholder {
    color: var(--black);
    font-size: 0.85rem;
}

/* HubSpot Form Overides - General*/
.hs-recaptcha {
    margin-top: 20px;
}

.hs-form-required {
    color: var(--red);
    font-size: 0.875rem;
    font-weight: bold;
}

.inline-form .hs-form-required {
    display: none;
}

ul.inputs-list {
    margin: 0;
}

.hs-error-msg {
    margin-top: 0;
}

ul.hs-error-msgs li,
ul.inputs-list li {
    list-style-type: none;
}

ul.hs-error-msgs li label {
    color: var(--red);
}

ul.inputs-list li label {
    font-weight: normal;
}

.hs-richtext {
    color: var(--black);
    cursor: default;
    display: block;
    font-size: 0.938rem;
    font-weight: bold;
    text-align: left;
    margin-bottom: 2px;
}

.leadin-button {
    font-weight: bold;
}

.error input,
input.error,
.error textarea,
textarea.error {
    border-color: red;
    background-color: rgba(255, 0, 0, 0.1);
}

#content-container .hbspt-form {
    min-height: 200px;
}

.hbspt-form div.submitted-message {
    color: var(--red);
    padding: 25px 0 50px 0;
}

.actions {
    text-align: left;
    margin-top: 20px;
}

.footer .actions {
    text-align: left;
    margin-top: 0px;
}

ul.hs-error-msgs {
    margin: 0;
}

.hbspt-form .input {
    text-align: left;
}

/* Callout HubSport Styles - General */
.callout.hs {
    background-color: var(--white);
}

.callout.hs small {
    text-align: center;
    font-style: italic;
}

.callout.hs h4 {
    text-align: center;
    color: var(--red);
    margin: 0;
}

/* HubSpot Buttons - General*/
input.hs-button {
    width: auto;
    background: var(--red);
    border: none;
    color: var(--white);
    cursor: pointer;
    display: inline-block;
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: bold;
    line-height: 14px;
    margin: 0;
    outline: none;
    padding: 15px 20px 14px;
    position: relative;
    text-align: center;
    text-decoration: none;
    -webkit-transition: background-color 0.15s ease-in-out;
    -moz-transition: background-color 0.15s ease-in-out;
    -o-transition: background-color 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out;
    -moz-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
}

input.hs-button:hover {
    color: var(--white);
    background-color: var(--blue);
    text-decoration: none;
}

input.hs-button:focus {
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}

/*input.hs-button:focus { -webkit-box-shadow:0 0 4px var(--black), 0 1px 0 rgba(255, 255, 255, 0.5) inset; -moz-box-shadow:0 0 4px var(--black), 0 1px 0 rgba(255, 255, 255, 0.5) inset; box-shadow:0 0 4px var(--black), 0 1px 0 rgba(255, 255, 255, 0.5) inset; color:var(--white); }
*/
input.hs-button.large {
    font-size: 0.875rem;
}

/* Slidebox */
#slidebox .grid-x.align-center-middle {
    justify-content: space-between;
}

#slidebox {
    background-color: var(--white);
    position: fixed;
    bottom: 30px;
    right: -556px;
    width: 556px;
    border: 2px solid var(--red);
    padding: 5px 20px 10px 20px;
    z-index: 1000;
    transition: right 0.5s ease-in-out;
}

#slidebox a.close {
    font-size: 2rem;
    display: block;
    text-align: center;
}

#slidebox h2 {
    color: var(--blue);
}

/* Don't use native buttons on iOS - General*/
/*input[type=submit].button, button.button { -webkit-appearance:none; }
*/
/* Footer - Footer */
.footer .hs-recaptcha {
    margin-top: 90px;
    display: block;
    position: absolute;
}

.footer .hbspt-form:has(.hs_firstname) .hs-recaptcha {
    display: none;
}

.footer-content-container {
    margin: 0px 20px;
}

.footer .navigation-links {
    margin: 0px 0px 10px 0px;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.footer .navigation-links h5 {
    font-size: 1.1rem;
}

.footer .navigation-links ul {
    list-style-type: none;
    font-size: 0.93rem;
    margin: 0;
}

.footer .navigation-links ul li {
    margin-left: 0px;
    padding: 3px 0px;
}

footer {
    transition: transform 0.4s ease !important;
}

.footer {
    overflow: hidden;
    background-color: var(--white);
    /*margin-top:6vh; */
}

.footer h4 {
    font-size: 1.5rem;
    color: var(--black);
}

.footer h5 {
    font-size: 1.30rem;
    color: var(--black);
    margin: 1em 0em 0.5em 0em;
}

.footer h6 {
    font-size: 1rem;
    color: var(--black);
    margin: 0.5em 0em;
}

.footer p {
    font-size: 0.9rem;
}

.footer ul {
    margin-left: 0;
}

.footer a {
    color: var(--blue);
    text-decoration: none;
}

.footer a:hover {
    color: var(--red);
    text-decoration: underline;
}

.footer hr {
    border: solid var(--black);
    border-width: 1px 0 0;
    clear: both;
    margin: 40px 0 20px 0;
    height: 0;
}

.social-wrapper {
    display: block;
}

.socials {
    width: 100%;
    display: flex;
    justify-content: left;
}

.footer .socials {
    width: 100%;
    display: flex;
    justify-content: right;
}

.socials a {
    width: 2.75em;
    height: 2.75em;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    margin: 0.3em;
    padding: 0.3em;
    background-color: var(--blue);
    border-radius: 10px;
}

.socials a:hover {
    text-decoration: none;
}

.socials a:hover i,
.socials a:focus i {
    filter: brightness(80%);
}

.socials i {
    color: var(--white);
    font-size: 2.2rem;
}

.socials i.facebook {
    padding-left: 1em;
}

.footer .hs-form-private .hs-dependent-field {
    order: 1;
}

.footer .hs-form-private .hs-submit {
    order: 2;
}

.footer .hs-form-private {
    width: 100%;
    display: flex;
    align-items: flex-start;
}

.footer .hs-dependent-field {
    display: inline-block;
    width: 100%;
}

.footer .hs-submit {
    display: inline-block;
    min-width: fit-content;
    margin: 1.8em 0em 0em 1em;
}

.footer .hs-submit .primary {
    width: 100%;
}

.footer .hs-submit .large {
    width: 100%;
}

.footer input.hs-button {
    padding: 0.8em 0.5em;
}

.footer .hbspt-form {
    display: block;
}

.footer .hs_error_rollup {
    /*width: fit-content; display: block; margin: 1em 0em 0em 1em; */
    display: none;
}

.footer .hbspt-form > .hs-error-msgs {
    height: fit-content;
    display: block;
    width: fit-content;
}

.footer .hbspt-form > .hs-error-msgs ul {
    display: inline-block;
}

.footer .hs-submit {
    display: inline-block;
    height: fit-content;
    width: fit-content;
}

.contact-us-list {
    font-size: 1rem;
    list-style-type: none;
    margin: 0;
}

.contact-us-list li {
    display: flex;
    align-items: center;
    width: fit-content;
}

.contact-us-list li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    white-space: wrap;
    text-align: left;
    padding: 0.2em 0.5em 0.2em 0.2em;
    margin: 0.2em 0.5em 0.2em 0.2em;
    border-radius: 4px;
}

.contact-us-list li a:hover,
.contact-us-list li a:focus {
    background-color: var(--off-white);
    cursor: pointer;
    text-decoration: none;
    color: var(--red);
}

.contact-us-list li i {
    margin-right: 0.5em;
    min-width: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
    float: left;
    font-size: 2.2rem;
}

.footer-top,
.footer-bottom {
    background-color: var(--blue);
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 100;
}

.footer .anniversary-img {
    max-width: 25em;
    margin-top: 0;
}

.footer a:hover .anniversary-img {
    opacity: 0.7;
}

.footer-bottom {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--blue);
}

.footer-top span,
.footer-bottom span {
    color: #fff;
    font-size: 0.8rem;
}

.footer-top > div {
    display: flex;
    justify-content: flex-end;
    gap: 1em;
    padding: 0em 1em;
}

.footer-top > div:nth-child(1) {
    justify-content: flex-start;
    padding: 1em 1em;
}

.footer-top > div:nth-child(2),
.footer-bottom > div:nth-child(3) {
    padding-right: 1em;
}

.footer-bottom > div:nth-child(1) {
    padding-left: 1em;
}

.footer-top a {
    color: var(--white);
    cursor: pointer;
    white-space: nowrap;
    align-items: center;
    display: inline-flex;
    width: fit-content;
}

.footer-bottom a {
    color: var(--white);
    cursor: pointer;
    white-space: nowrap;
}

.footer-bottom a:not(a.scrollup) {
    padding: 1em;
}

.footer-top a:hover,
.footer-top a:focus {
    color: var(--off-white);
    cursor: pointer;
    text-decoration: underline;
}

.footer-bottom a:hover,
.footer-bottom a:focus {
    color: var(--off-white);
    cursor: pointer;
    text-decoration: underline;
}

.footer-top i {
    margin-right: 0.2em;
    min-width: 1em;
    font-size: 2rem;
}

.footer-top .learn-more {
    text-decoration: underline;
    margin-left: 1em;
    font-size: 0.9rem;
}

.footer-top .learn-more:hover {
    text-decoration: underline;
}

.scrollup {
    padding: 0;
}

.certification-imgs {
    display: flex;
    align-items: stretch;
    justify-content: left;
    margin-bottom: 1em;
}

.certification-imgs img {
    padding: 0.3em;
}

.certification-imgs a:has(img) {
    width: 2.813rem;
    display: flex;
    align-items: center;
    margin: 0em 0.2em;
}

.certification-imgs a:hover img,
.certification-imgs a:focus img {
    opacity: 70%;
}

.certification-imgs img,
.contact-us-list li,
.socials img,
.socials a:hover i {
    transition: 0.2s ease;
}

/* Page Scroll Up - Footer */
.footer .scrollup i {
    padding: 0.3em 0.5em;
}

.footer .scrollup {
    color: var(--white);
    font-size: 2rem;
    position: relative;
    opacity: 0.7;
    transition: 0.2s ease;
}

.footer .scrollup:hover {
    color: var(--white);
    cursor: pointer;
    opacity: 1;
}

@media screen and (min-width: 1024px) and (max-width: 1540px) {

    .footer .footer-column:nth-of-type(1),
    .footer .footer-column:nth-of-type(3) {
        margin: 0;
        padding: 0rem 1.875rem;
        width: 50%;
    }

    .footer .footer-column:nth-of-type(2) {
        width: 100%;
        padding: 0rem 1.875rem;
    }

    .footer .navigation-links {
        justify-content: center !important;
        gap: 6%;
    }

    .footer .footer-column:nth-of-type(2).large-order-2 {
        -ms-flex-order: 3;
        order: 3;
    }

    .footer .footer-column:nth-of-type(3).large-order-3 {
        -ms-flex-order: 2;
        order: 2;
    }

    .footer-content-container {
        margin: 0px 20px;
    }

    .footer .navigation-links {
        margin: 0px 0px 10px 0px;
        justify-content: space-between;
        flex-wrap: nowrap;
        width: 100%;
    }

    .footer .navigation-links h5 {
        font-size: 1.1rem;
    }

    .footer .navigation-links ul {
        list-style-type: none;
        font-size: 0.93rem;
        margin: 0;
    }

    .footer .navigation-links ul li {
        margin-left: 0px;
        padding: 3px 0px;
    }
}

@media screen and (max-width:1023px) {
    .title-bar {
        display: none !important;
    }

    /* theres like some weird ghost nav bar that was messing up the other pages and this gets rid of it */
}

@media screen and (max-width:1023px) {

    /* Mobile Footer - Footer */
    .footer .hs-recaptcha {
        display: none;
    }

    .footer .navigation-links {
        flex-wrap: wrap;
    }

    .footer .navigation-links ul {
        width: 50%;
    }

    .footer .navigation-links ul:nth-of-type(3) h5,
    .footer .navigation-links ul:nth-of-type(4) h5 {
        text-align: right;
    }

    .footer .navigation-links ul:nth-of-type(1) {
        order: 1;
    }

    .footer .navigation-links ul:nth-of-type(2) {
        order: 3;
    }

    .footer .navigation-links ul:nth-of-type(3) {
        order: 2;
        text-align: right;
    }

    .footer .navigation-links ul:nth-of-type(4) {
        order: 3;
        text-align: right;
    }

    .footer-content-container {
        justify-content: center;
        align-items: center;
        padding-bottom: 1em;
    }

    .footer-bottom {
        padding: 0.5em;
    }

    .footer h5:not(.footer .navigation-links h5),
    .footer p {
        text-align: center;
    }

    .socials a {
        margin: 2vw;
    }

    .socials {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: auto;
    }

    .footer .flex-column {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .footer .certifications {
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .footer .hs_email label {
        text-align: center;
    }

    .footer .actions {
        text-align: center;
    }

    .footer .flex-column {
        display: block;
    }

    .footer .footer-divider {
        width: 100%;
        margin: 1em 0em;
        border: solid var(--black);
        border-width: 1px 0 0;
        height: 0;
        border-radius: 3px;
    }

    .footer .certifications {
        margin: 1em;
    }

    .footer .experience-container {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .footer .experience-img {
        width: 20em;
        display: block;
    }

    .footer .experience-container {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .footer .experience-container h5 {
        margin-top: 0.3em;
    }

    .footer .experience-img {
        display: block;
        width: 90%;
        margin-bottom: 0em;
        max-width: 15em;
    }

    .footer .contact-us-list {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .footer .contact-us-list li a {
        white-space: initial;
        justify-content: space-between;
    }

    .footer .contact-us-list i::before {
        font-size: 2rem;
    }

    .footer .back-to-top {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .footer .anniversary-img {
        max-width: 70%;
    }

    .footer .socials {
        width: 100%;
        display: flex;
        justify-content: center;
    }
}

/* CLEANUP ENDS HERE --------------------------------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width:1023px) {

    /* Mobile Nav Sizing */
    .top-bar ul {
        margin-left: 0;
    }

    #main-nav {
        height: auto;
        z-index: 999;
    }

    .top-bar {
        border-bottom: 1px solid var(--black);
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
    }

    .top-bar .is-drilldown {
        min-height: auto;
        z-index: 999;
    }

    .top-bar ul li a,
    .top-bar ul ul li a {
        font-size: 1.3rem;
    }

    .top-bar ul ul ul li a {
        font-size: 0.875rem;
    }

    .top-bar i {
        margin: 0;
        float: right;
        transform: rotate(-90deg);
    }

    .top-bar > .button {
        all: unset;
        height: 2em;
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        padding: 2vw;
        margin: 0;
        background-color: transparent;
    }

    .top-bar > .button:hover {
        cursor: pointer;
        opacity: 0.7;
        background-color: transparent;
    }

    .top-bar .hamburger-bar {
        display: block;
        width: 100%;
        height: 4px;
        background-color: var(--black);
        border-radius: 100em;
    }

    .top-bar .js-drilldown-back i {
        margin: 0em 0.4em 0em 0em;
        float: left;
        transform: rotate(90deg);
    }

    .top-bar .tagline {
        white-space: wrap
    }

    .top-bar .hamburger-icon {
        margin: 1rem;
        height: 30px;
        width: 37px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .top-bar .hamburger-icon .hamburger-bar:first-of-type,
    .top-bar .hamburger-icon .hamburger-bar:last-of-type {
        margin: 0;
    }

    .instant-pcb {
        z-index: 0;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .instant-pcb a {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
        width: fit-content;
    }

    .instant-pcb .pcb-btns {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .instant-pcb .pcb-btns {
        gap: 1.5em;
    }

    .top-bar .instant-pcb img {
        height: auto;
        width: 14em;
        padding: 0.5em;
        margin-bottom: 0.5em;
    }

    .instant-pcb small {
        color: var(--blue);
        font-weight: bold;
        font-style: italic;
        font-size: 80%;
        line-height: inherit;
        width: 100%;
    }

    .navigation {
        margin: 0;
        width: 100%;
    }

    .navigation ul {
        width: 100%;
    }

    .hero-banner h2 {
        margin-bottom: 1em;
    }

    .card-section h4 {
        font-size: 1rem;
    }

    .footer-top > div {
        display: flex;
        justify-content: space-between;
    }

    .footer-top > div:nth-child(1) {
        justify-content: center;
        padding: 1em 1em 0em 1em;
    }

    .footer-bottom > div:nth-child(3) {
        padding-right: 0;
    }

    .footer-bottom > div:nth-child(1) {
        padding-left: 0;
    }

    #slidebox {
        display: none;
    }
}

@media screen and (max-width:640px) {

    /* Hero Resizing 640px */
    .hero-frame-tag-1 {
        text-align: center;
        font-size: 1.8rem;
    }

    .hero-frame-sub-txt {
        text-align: center;
        font-size: 1.3rem;
    }

    .hero-frame-btn {
        font-size: 1rem;
    }

    .hero-banner {
        margin-top: 1em;
    }

    .hero-btns {
        justify-content: space-around;
        flex-wrap: wrap;
    }

    .hero-banner .button {
        margin: 0;
        min-width: 13em;
        height: fit-content;
    }

    .orbit-previous,
    .orbit-next {
        top: calc(100% - 2.8em);
    }

    .hero-banner {
        margin: 0;
    }

    .orbit-container h2 {
        padding: 0;
        margin: 0 0 0.3em 0;
    }

    .orbit-container h3 {
        padding-top: 0;
        font-size: 1rem;
    }
}

@media screen and (max-width: 640px) {
    ul.breadcrumbs {
        margin-top: 1.5em;
        margin-bottom: 0;
    }

    .add-to-any {
        margin-top: 3px !important;
    }
}

@media screen and (min-width: 0px) and (max-width: 639px) {

    /* GLOBAL MOBILE FONT SIZE -- FONT SIZE MOBILE */
    html {
        font-size: 0.8rem;
    }
}

@media screen and (min-width: 640px) and (max-width:1023px) {

    /* GLOBAL MOBILE FONT SIZE -- FONT SIZE MOBILE */
    html {
        font-size: 0.9rem;
    }
}

/* General Mobile Sizing */
@media screen and (max-width:1023px) {
    .sidebar .button {
        font-size: 1rem;
        padding: 10px 15px;
    }

    .button {
        justify-self: center;
        padding: 10px 15px;
    }

    .orbit-wrapper .hero-banner-container {
        min-height: 450px;
    }

    #home-about h1 {
        font-size: 1.8rem;
    }

    #home-about h2 {
        font-size: 1.3rem;
    }

    #home-about p {
        font-size: 1rem;
    }

    .button {
        font-size: 1rem;
    }
}

/* Add to Any Mobile Sizing */
@media screen and (max-width:1023px) {
    .add-to-any {
        margin: 1.3rem 0rem 1rem 0rem;
        display: flex;
        flex-direction: column;
    }

    .add-to-any small {
        margin: 0em 0em 0.3em auto;
        white-space: nowrap;
    }

    .add-to-any > div {
        margin-left: auto;
        display: flex;
    }
}

/***LARGE SCREEN STYLES***/
@media only screen and (min-width:1024px) {
    #content-1 {
        background-image: url("/images/home-printed-circuit-boards.jpg");
        background-repeat: no-repeat;
        background-position: right;
        background-size: cover;
        display: block;
    }

    #content-1-with-background,
    #content-2-with-background {
        height: 65vh;
        background-image: none;
        display: flex;
        align-items: center;
    }

    #content-1-with-background {
        min-height: 430px;
        background-color: var(--white);
        /* background: linear-gradient(rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4)), url("/images/high-technology-and-hdi-pcbs.jpg"); */
        background-repeat: no-repeat;
        background-position: right;
        background-size: cover;
    }

    #content-2-with-background {
        min-height: 430px;
        background-color: var(--white);
        /* background: linear-gradient(rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4)), url("/images/advanced-rigid-flex-pcbs.jpg"); */
        background-repeat: no-repeat;
        background-position: right;
        background-size: cover;
    }

    #content-2 {
        background-image: url("/images/home-rigid-flex-pcbs.jpg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        display: block;
    }

    .info-wrapper {
        padding: 0;
        color: var(--black);
        color: var(--white);
        width: 85%;
        margin: 0 auto;
        text-align: center;
        height: 65vh;
    }

    .info-wrapper h2 {
        font-size: 2.2rem;
        color: var(--black);
    }

    .info-wrapper p {
        font-size: 1.2rem;
        color: var(--black);
    }

    body {
        padding-top: 0px;
    }
}

@media screen and (max-width:1023px) {

    /* Sidebar Sizing */
    .sidebar {
        padding: 0;
        margin-top: 2em;
    }

    .sidebar .accordion-menu .nested.is-accordion-submenu {
        margin: 1.5% 2%;
    }
}