:root {
    --font--family--title: "Gotham Bold", "Trebuchet MS", sans-serif;
    --font--family--light: "Gotham Light", "Trebuchet MS", sans-serif;
    --font--family--body: "Gotham Book", "Trebuchet MS", sans-serif;
    --font--family--medium: "Gotham Medium", "Trebuchet MS", sans-serif;
    --font--family--bold: "Gotham Bold", "Trebuchet MS", sans-serif;
    --font--family--book: "Gotham Book", "Trebuchet MS", sans-serif;
    --font--family--header-2: "Gotham Bold", "Trebuchet MS", sans-serif;
    --font--family--header-3: "Gotham Bold", "Trebuchet MS", sans-serif;
    --font--family--header-4: "Gotham Medium", "Trebuchet MS", sans-serif;

    --font--font-size--xs: 10px;
    --font--font-size--sm: 12px;
    --font--font-size--body: 16px;
    --font--font-size--lg: 20px;
    --font--font-size--xl: 24px;
    --font--font-size--2xl: 30px;
    --font--font-size--3xl: 38px;
    --font--font-size--4xl: 50px;
    --font--font-size--5xl: 68px;

    --white: white;
    --infrashield-darkblueprimary: #1E6196;
    --infrashield-darklight: #308bc7;
    --infrashield-lightblue: #69b2e1;
    --infrashield-lighter: #c4dff3;
    --infrashield-lightest: #f2f8fd;
    --400: #a4a7ae;
    --300: #d7d7d7;
    --600: #535862;
    --800: #252b37;
    --900: #101828;

    --space--300: 12px;
    --space--400: 16px;
    --radius--medium: 8px;

    --font--line-height--xs: 14px;
    --font--line-height--sm: 16px;
    --font--line-height--body: 22px;
    --font--line-height--lg: 28px;
    --font--line-height--xl: 32px;
    --font--line-height--2xl: 40px;
    --font--line-height--3xl: 44px;
    --font--line-height--4xl: 46px;
    --font--line-height--h3-line-height: 24px;
    --body--size-medium: 16px;

    --letter-spacing: -2px;
    --radius--small: 4px;
    --radius--large: 16px;
    --radius--xlarge: 24px;
    --stroke--border: 1px;
    --paddingwrappersides: 60px;
    --paddingBoxesContent: 80px;
    --maxwidthcontent: 1440px;
    --space--200: 8px;
    --vh: 1vh;
}

* {
    cursor: none !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    height: 100%;
    overflow: visible;
}

.wrapper-fix {
    width: 100%;
    height: 100%;
    position: relative;
    will-change: transform;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

body {
    margin: 0;
    color: var(--900);
    font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 16px;
    cursor: none;
    display: flex;
    flex-direction: column;
    overflow: visible;
}

.megamenu-open #blur-overlay {
    opacity: 1;
    backdrop-filter: blur(5px);
    transition: all 300ms ease;
}

#blur-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    pointer-events: none;
    z-index: 200;
    backdrop-filter: blur(0px);
    background: rgba(0, 17, 32, 0.6);
    opacity: 0;
    transition: all 300ms ease;
}

#page-transition {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index: 9999;
    transition: left 0.6s ease;
    pointer-events: none;
}

#page-transition.active {
    left: 0;
}


video {
    display: inline-block;
    vertical-align: baseline;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-repeat: no-repeat;
}

.hero video {
    background-image: url('videos/InfraShield-Homepage-Hero-Background-Video-poster-00001.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

img {
    max-width: 100%;
    display: inline-block;
}

/* START CSS --- General Site Wide Styling */
::selection {
    background-color: var(--infrashield-lightblue);
    color: var(--900);
}

.hidden {
    display: none;
}

h1, h2, h3, h4, h5, h6, p, a {
    display: block;
    position: relative;
    margin: 0;
    padding: 0;
    letter-spacing: -.02em;
    text-decoration: none;
    color: var(--900);
}

p {
    letter-spacing: -.01em;
}

h1 {
    margin-block-start: 0 !important;
}

ul, li {
    margin: 0;
    padding: 0;
}

li::marker {
    margin-right: -0.3em;
}

h1, h2, h3 {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

input,
textarea {
    font-size: 14px;
    border: none;
    width: 100%;
    padding: .75rem;
    background: transparent;
    font-family: Gotham, sans-serif;
    resize: none;
    border-radius: 6px;
}
.form-field-input,
.textarea {
    transition: all ease 300ms;
}

input:focus,
textarea:focus {
    outline: none;
    border: none;
    box-shadow: none;
}

.form-field-input:hover,
.form-field-input.input-light:hover,
.textarea:hover {
    border: 1px solid var(--infrashield-lightblue);
    box-shadow: 0 0 0 1px var(--infrashield-lightblue);
    transition: all ease 300ms;
}

.form-field-wrapper input::placeholder {
    color: #717278;
}

/* When the element is in view, apply the fade-in and slide-up effect */
h1.scroll-in,
h2.scroll-in,
h3.scroll-in,
p.hero-header-tagline.scroll-in {
    opacity: 1;
    transform: translateX(0);
}

.intro-content-clip-wrapper {
    transition: transform 0.1s linear;
}

/* END CSS --- General Site Wide Styling */
/* START CSS --- Custom Cursor Styling */
.cursor-wrapper {
    position: fixed;
    pointer-events: none;
    z-index: 1000;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    transition: opacity 300ms ease-in-out;
}

.custom-cursor {
    position: absolute;
    width: 50px;
    height: auto;
    pointer-events: none;
    opacity: 0;
    transition: transform 300ms ease-out;
    z-index: 1001;
    transform-origin: 0 0;
}

/* END CSS --- Custom Cursor Styling */
/* START CSS --- Navbar Menu Styling */
.hide-nav {
    transform: translateY(-80px);
    transition: transform 0.3s ease-in-out;
}

.hide-megamenu {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}


.menu-item-link a {
    color: var(--900);
}

.menu-icons-wrapper {
    display: none;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
}

.menu-mobile-items {
    z-index: 99;
    background: white;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    width: 100%;
    height: auto;
    border-radius: 0 0 4px 4px;
    padding: 24px;
    visibility: hidden;
    transform: translateY(-150px);
    transition: transform 0.4s ease-in-out, visibility 0.4s;
    pointer-events: none;
}

.menu-mobile-items.active {
    transform: translateY(0px);
    visibility: visible;
    transition: transform 0.4s ease-in-out, visibility 0.4s;
    pointer-events: auto;
}

.menu-mobile-items .button-main {
    justify-content: space-between;
    width: 100%;
}

.menu-mobile-wrapper {
    clip-path: inset(0px -50px -50px -50px);
    position: absolute;
    z-index: 99;
    top: 50px;
    right: 0;
    width: 100%;
    box-shadow: none;
    border-radius: 0 0 4px 4px;
    transform: translateY(0px);
    visibility: visible;
    pointer-events: none;
}

button.disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

/* END CSS --- Navbar Menu Styling */
.button-main:hover .button-icon {
    border-left: 1px solid white;
}

.button-main-dark:hover .button-icon {
    border-left: 1px solid var(--900);
}

.button-main-dark:hover .arrow-right-dark-icon.hide-arrow-icon {
    display: none;
}

.button-main-dark .arrow-right-dark-icon {
    display: initial;
}

/* START CSS --- Acronym Styling */
.acronym-span {
    position: relative;
    display: inline-block;
}

.acronym-span::after {
    content: "";
    position: absolute;
    left: -5%;
    right: -5%;
    bottom: -10px;
    height: 1.5em;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1418 125"><path d="M1412.29 72.17c-11.04-5.78-20.07-14.33-85.46-25.24-22.37-3.63-44.69-7.56-67.07-11.04-167.11-22.06-181.65-21.24-304.94-30.56C888.78 1.39 822.57 1.1 756.44 0c-46.63-.11-93.27 1.56-139.89 2.5C365.5 13.55 452.86 7.68 277.94 23.15 202.57 33.32 127.38 45.01 52.07 55.69c-11.23 2.41-22.63 4.17-33.71 7.22C6.1 66.33 5.64 66.19 3.89 67.79c-7.99 5.78-2.98 20.14 8.72 17.5 33.99-9.47 32.28-8.57 178.06-29.66 4.26 4.48 7.29 3.38 18.42 3.11 13.19-.32 26.38-.53 39.56-1.12 53.51-3.81 106.88-9.62 160.36-13.95 18.41-1.3 36.8-3.12 55.21-4.7 23.21-1.16 46.43-2.29 69.65-3.4 120.28-2.16 85.46-3.13 234.65-1.52 23.42.99 1.57-.18 125.72 6.9 96.61 8.88 200.92 27.94 295.42 46.12 40.87 7.91 116.67 23.2 156.31 36.78 3.81 1.05 8.28-.27 10.51-3.58 3.17-3.72 2.66-9.7-.78-13.13-3.25-3.12-8.14-3.44-12.18-5.08-17.89-5.85-44.19-12.09-63.67-16.56l26.16 3.28c23.02 3.13 46.28 3.92 69.34 6.75 10.8.96 25.43 1.81 34.34-4.39 2.26-1.54 4.86-2.75 6.21-5.27 2.76-4.59 1.13-11.06-3.59-13.68Z" fill="%2361E1FF"></path></svg>');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
    opacity: 0.85;
}

h1 .acronym-span::after,
h2 .acronym-span::after,
h3.card-title-styling .acronym-span::after {
    bottom: -0.75em;
}

.tooltip {
    position: absolute;
    color: var(--infrashield-lightest);
    padding: 12px 16px;
    background-color: var(--900);
    border: 1px solid white;
    border-left: 4px solid var(--infrashield-lightblue);
    font-size: 16px;
    max-width: 500px;
    white-space: normal;
    word-wrap: break-word;
    pointer-events: none;
    z-index: 1200;
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
}

/* END CSS --- Acronym Styling */
/* START CSS --- Hero Section */
.hero-header-tagline .hero-sub {
    font-size: 1em;
    top: -.025em;
}

p.hero-header-tagline {
    font-size: var(--font--font-size--4xl);
    padding-left: 4px;
    opacity: 0;
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* END CSS --- Hero Section */
/* START CSS --- What We Protect Section */
.intro-list-wrapper {
    z-index: 9;
    width: 100%;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    position: relative;
}

.intro-list {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: stretch;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.intro-list::-webkit-scrollbar {
    display: none;
}

.industry-sector-list:nth-child(2) .industry-sector-card {
    border-top: none;
}

.intro-list .intro-card:nth-child(5) {
    border-right: none;
}

.intro-card {
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
    scroll-snap-align: start;
}

.blur-filter {
    backdrop-filter: blur(15px);
}

.blur-filter-25 {
    backdrop-filter: blur(25px);
}


.infrashield-icon-asset {
    transition: inset 0.2s ease-out, transform 0.2s ease-out;
    will-change: inset, transform;
}

/* END CSS --- What We Protect Section */
/* START CSS --- How We Protect It Section */
.how-we-do-it-dynamic-text {
    opacity: 0;
    transition: opacity 500ms ease-in-out;
}

.steps-column-right {
    scrollbar-width: none;
}

.step-layers:first-child {
    opacity: 1;
    transform: translateY(50%);
}

.steps-column-right {
    height: 500px;
    overflow-y: auto;
    clip-path: inset(0px 0 1px 0);
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;
}

.steps-column-right .step-cards-wrapper {
    scroll-snap-align: start;
}

.steps-container .step-number.active {
    color: white !important;
    background: var(--900);
}

.step-cards-list {
    overflow: visible;
}

.step-number {
    color: var(--400);
}

.text-drop-shadow {
    text-shadow: black 0 0 20px;
}

.step-layers {
    width: 100%;
    transition: transform 0.6s ease-in-out, opacity 0.4s ease-in-out;
    opacity: 0;
}

.steps-list {
    transition: transform 0.5s ease-in-out;
}

.step-card-list {
    margin: 0;
    padding-left: 0;
    list-style-type: none;
}

.steps-cards-content .ul-list-styling {
    list-style-type: none;
    padding-left: 0;
}

.inner-ul {
    padding-top: 8px;
    padding-left: 20px;
}

.step-layer-5 {
    z-index: 5;
}

.step-layer-4 {
    z-index: 4;
}

.step-layer-3 {
    z-index: 3;
}

.step-layer-2 {
    z-index: 2;
}

.step-layer-1 {
    z-index: 1;
}

.step-layer-final {
    transform: translateY(-6%);
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* END CSS --- How We Protect It Section */
#laptop-img {
    mix-blend-mode: lighten;
}

.platform-section ul {
    padding-left: 15px;
    margin: 0;
    line-height: 24px;
}

.platform-section ul li {
    padding-bottom: 4px;
}


.infrashield-logo-icon-graphic,
.clients-section,
.stay-secure-content,
.platform-card-infrashield-solutions {
    overflow: visible !important;
}

section,
header {
    overflow-x: clip!important;
}

#what-we-protect,
#who-we-are,
#how-we-protect-it,
.four-securities-section,
.protecting-your-assets-section {
    overflow-y: clip;
}

.intro-list-content,
.partners-section {
    overflow: clip;
}

.gradient-card-overlay {
    background: radial-gradient(ellipse at bottom right, rgba(105, 178, 225, 0.3) 0%, rgba(16, 24, 40, 0) 60%);
}

.intro-gradient-overlay {
    background: radial-gradient(ellipse at bottom right, rgba(105, 178, 225, 0.2) 0%, rgba(255, 255, 255, 0) 40%);
}

.intro-gradient-overlay-top-left {
    background: radial-gradient(ellipse at top left, rgba(105, 178, 225, 0.2) 0%, rgba(255, 255, 255, 0) 40%);
}

.industry-gradient-overlay {
    background: radial-gradient(ellipse at 0% 70%, rgb(7, 55, 87) 15%, rgba(7, 55, 87, 0) 70%);
}

.client-bottom-right-gradient {
    background: radial-gradient(ellipse at bottom right, #69b2e18a 0%, rgba(255, 255, 255, 0) 30%);
}

.sales-cta-top-left-gradient {
    background: radial-gradient(ellipse at top left, #69b2e1 10%, rgba(255, 255, 255, 0) 35%);
}

.platform-sticky-container {
    /* background: radial-gradient(ellipse at bottom left, rgba(105, 178, 225, 0.35) 0%, rgba(255, 255, 255, 0) 45%); */
    background: radial-gradient(ellipse at bottom left, #69b2e1 0%, rgba(255, 255, 255, 0) 45%);
}

.platform-sticky-container-top-left-gradient {
    background: radial-gradient(ellipse at top left, #69b2e1 0%, rgba(255, 255, 255, 0) 45%);
}

.light-blue-gradient-top-right {
    background: radial-gradient(ellipse at top right, rgba(105, 178, 225, 0.35) 0%, rgba(255, 255, 255, 0) 45%);
}

.platform-card-gradient {
    background: radial-gradient(ellipse at bottom left, rgba(105, 178, 225, 0.15) 0%, rgba(255, 255, 255, 0) 30%);
}

.join-newsletter-left {
    background: radial-gradient(ellipse at top left, rgba(105, 178, 225, 0.35) 0%, rgba(255, 255, 255, 0) 50%);
}

.who-we-are-gradient {
    background: radial-gradient(ellipse at top right, rgba(105, 178, 225, 0.15) 0%, rgba(255, 255, 255, 0) 25%);
}

.gradient-page-template {
    background: radial-gradient(ellipse at top left, rgba(105, 178, 225, 0.20)  0%, var(--900) 35%);
    position: absolute;
    width: 100%;
    height: 100%;
}

.steps-gradient::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, var(--900) 0%, var(--900) 0%, rgba(16, 24, 40, 0) 15%);
    pointer-events: none;
    z-index: 1;
}

.ul-list-styling {
    padding-left: 16px;
}

.list-type-none {
    list-style-type: none;
    padding-left: 0;
}

.gradient-fade-top::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(var(--900) 25%, #0000 95%);
    pointer-events: none;
    z-index: 2;
}

.industry-list-gradient {
    background-image: linear-gradient(to left, #fff 2%, #ffffff00 10%);
}

.infrashield-logo-icon-mask {
    mask-image: url("/images/InfraShield%20Logo%20Icon%20Black%20Mask.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    mask-size: 20vw;
}

.peeps-logo-icon-mask {
    mask-image: url("/images/PEEPS%20Icon.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    mask-size: 20vw;
    z-index: 30;
    width: 100%;
    height: 100vh;
    position: relative;
}

.hero-cta-btn {
    background-color: #fff;
    border-radius: 4px;
    justify-content: center;
    align-items: center;
    width: 140px;
    height: 36px;
    padding: 10px 20px;
    text-decoration: none;
    display: flex;
    overflow: hidden;
}

.button-text {
    font-family: var(--font--family--medium);
    font-size: var(--font--font-size--sm);
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 500;
    line-height: 14px;
    text-decoration: none;
}

.solutions-column-wrapper {
    grid-column-gap: 16px;
    grid-row-gap: 24px;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: inline-flex;
}

.solutions-card-list {
    grid-column-gap: 4px;
    grid-row-gap: 48px;
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    text-decoration: none;
    padding: 0 1px;
    display: flex;
}

.solutions-card {
    grid-row-gap: 8px;
    border-radius: 12px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    padding: 120px 80px 120px 48px;
    display: flex;
    overflow: hidden;
}

.included-card {
    padding-top: 60px;
    padding-bottom: 60px;
    height: 100%;
}


.core-capabilities-list .solutions-card {
    padding: 120px 8rem 120px 48px;
}

.solutions-card-dark {
    background: radial-gradient(ellipse at bottom right, rgb(14 81 126) 0%, rgb(16, 24, 40) 50%);
}

.solutions-card-light {
    background: radial-gradient(ellipse at bottom right, rgb(166 220 255) 0%, rgb(255, 255, 255) 60%);
}
.megamenu-background-gradient {
    background: radial-gradient(ellipse at bottom right, rgb(119 201 255) 5%, rgb(255, 255, 255) 60%);
    z-index: -2;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
}

.solutions-card-text {
    gap: 8px;
    text-decoration: none;
    position: relative;
}

.content-style {
    border: 1px solid var(--infrashield-lightest);
    border-radius: 16px;
    flex: 0 auto;
    justify-content: center;
    align-items: flex-start;
    text-decoration: none;
    display: flex;
    overflow: hidden;
}

.item-link {
    grid-column-gap: 8px;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    padding-top: 4px;
    padding-bottom: 4px;
    text-decoration: none;
    display: flex;
}

.input-field {
    grid-column-gap: 4px;
    grid-row-gap: 4px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    text-decoration: none;
    display: flex;
}

.form-field-label {
    font-family: var(--font--family--medium);
    color: var(--900);
    font-size: var(--font--font-size--body);
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 500;
    line-height: 140%;
    text-decoration: none;
}

.form-field-label.label-light,
.form-field-wrapper.input-light {
    color: white;
}

.form-field-input {
    border: 1px solid #afafaf;
    border-radius: 6px;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    text-decoration: none;
    display: flex;
    overflow: hidden;
}
.form-field-input.input-light,
.textarea.input-light {
    border: 1px solid white;
}

.value {
    font-family: var(--font--family--body);
    color: #b3b3b3;
    font-size: var(--font--font-size--sm);
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 400;
    line-height: 100%;
    text-decoration: none;
}

.textarea-field {
    grid-row-gap: 4px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    text-decoration: none;
    display: flex;
    transition: border 500ms ease;
}

.textarea {
    border: 1px solid #afafaf;
    border-radius: 6px;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    min-height: 24px;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow: hidden;
}

.button-group {
    grid-column-gap: var(--space--400);
    font-family: var(--font--family--body);
    font-size: var(--font--font-size--sm);
    flex: 0 auto;
    justify-content: flex-start;
    align-items: center;
    font-weight: 200;
    text-decoration: none;
    display: flex;
}

.contact-us-form {
    grid-row-gap: 24px;
    border-radius: var(--radius--medium);
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    text-decoration: none;
    display: flex;
}

.company-logo {
    grid-row-gap: 10px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 150px;
    text-decoration: none;
    display: flex;
    overflow: hidden;
}

.mail-icon {
    height: 35px;
    overflow: hidden;
}

.menu {
    grid-column-gap: 24px;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    text-decoration: none;
    display: flex;
}

.hero {
    padding:0 var(--paddingwrappersides);
    background-color: var(--900);
    background-image: linear-gradient(#0000 33%, #101828 95%);
    background-position: 0 0;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    min-height: 100vh;
    text-decoration: none;
    display: flex;
    top: 0;
    overflow: hidden;
}

.hero.video-gradient {
    background-image: linear-gradient(#0000 33%, #101828 95%);
    background-position: 0 0;
    height: 100vh;
    overflow: visible;
}

.hero-ctas {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    max-width: 400px;
    text-decoration: none;
    display: flex;
}

.learn-more-btn {
    grid-column-gap: 4px;
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    display: flex;
    overflow: hidden;
}

.intro-section {
    z-index: 21;
    padding: 240px var(--paddingwrappersides);
    background-color: var(--900);
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 250vh;
    margin-top: 0;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow: visible;
}

.video-mask-section.intro-section {
    padding: 0 0 120px;
}

.video-mask-section {
    padding: 0 0 120px;

    .intro-content-clip-wrapper,
    .protecting-assets-video-wrapper {
        max-width: 100%;
    }

    .intro-content {
        display: flex;
        align-items: center;
    }

    .intro-header-wrapper {
        max-width: 1440px;
    }
}

.border-top-white {
    border-top: 1px solid white;
}

.border-bottom-white {
    border-bottom: 1px solid white;
}

.pb-4 {
    padding-bottom: 16px;
}

.border-thick {
    border-width: 3px;
}

.intro-section.be-secure-blur-container {
    pointer-events: auto;
    height: 150vh;
    padding-bottom: 30vh;
}

.cybersecurity-experts {
    color: white;
    font-family: Gotham, sans-serif;
    font-size: 10px;
    line-height: var(--font--line-height--xs);
    text-transform: uppercase;
    width: 100%;
    font-weight: 500;
}

.lock-icon {
    grid-column-gap: 10px;
    background-color: var(--900);
    flex: 0 auto;
    justify-content: flex-start;
    align-items: center;
    padding: 5px;
    text-decoration: none;
    display: flex;
    position: absolute;
    top: -20px;
    left: 35px;
}

.infrashield-logo-icon-graphic {
    pointer-events: none;
    justify-content: flex-end;
    align-items: flex-start;
    width: 100%;
    display: flex;
    top: 0;
    overflow: hidden;
}

.step-layers {
    object-fit: contain;
    width: 45vw;
    position: absolute;
    overflow: hidden;
}

.step-layers.step-layer-5 {
    z-index: 5;
    transform: translate(0, -50%);
}

.step-layers.step-layer-4 {
    z-index: 4;
    transform: translate(0, -25%);
}

.step-layers.step-layer-3 {
    z-index: 3;
}

.step-layers.step-layer-2 {
    z-index: 2;
    transform: translate(0, 25%);
}

.step-layers.step-layer-1 {
    z-index: 1;
    transform: translate(0, 50%);
}

.four-securities-section {
    grid-row-gap: 64px;
    background-color: var(--900);
    flex-flow: row;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    padding-top: 0;
    text-decoration: none;
    display: block;
    position: relative;
}

.background-900{
    background: var(--900);
}

.background-white {
    background: white;
}

.background-transparent {
     background: transparent;
}

.background-transparent.contact-us-container {
    background: transparent;
}

.solutions-left-column {
    z-index: 15;
    grid-row-gap: 48px;
    text-align: left;
    flex-direction: column;
    order: 0;
    justify-content: center;
    align-items: flex-start;
    padding-bottom: 120px;
    text-decoration: none;
    display: flex;
    width: 100%;
    top: 0;
    transition: all 300ms ease;
}

.stay-secure {
    z-index: 8;
    background-color: var(--900);
    border-top: 1px solid white;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 250vh;
    padding-top: 0;
    padding-bottom: 0;
    text-decoration: none;
    display: flex;
    position: relative;
}

.protecting-your-assets {
    z-index: 22;
    padding: 0 var(--paddingwrappersides);
    grid-row-gap: 10px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-top: 0;
    text-decoration: none;
    display: flex;
    top: 0;
    overflow: visible;
}

.animation-container {
    z-index: 10;
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    flex-flow: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1440px;
    padding-top: 0;
    padding-bottom: 0;
    text-decoration: none;
    display: flex;
    position: relative;
}

.animation-step-info {
    border: 1px solid var(--400);
    border-radius: 16px;
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    text-decoration: none;
    display: flex;
    height: 100%;
}

.vtraq-step-container {
    justify-content: space-evenly;
    gap: 24px;
}

.steps-container {
    border-style: solid;
    border-width: 0 1px 0 0;
    border-color: var(--400);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    max-width: 400px;
    height: 100%;
    text-decoration: none;
    display: flex;
    overflow: hidden;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

.security {
    color: var(--400);
    font-family: Gotham;
    font-size: var(--font--font-size--sm);
    line-height: var(--font--line-height--xs);
    -webkit-text-stroke-color: var(--400);
    text-transform: uppercase;
    font-weight: 700;
}

.step-number {
    border-bottom: 1px solid var(--400);
    font-family: var(--font--family--title);
    font-size: var(--font--font-size--sm);
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 16px 12px;
    font-weight: 200;
    text-decoration: none;
    display: flex;
}

.step-number:first-of-type {
    border-top-left-radius: 12px;
}

.step-number.active {
    color: white;
    position: relative;
}

.step-number.active p {
    color: white;
}

.step-number.steps-number-last {
    border-bottom-style: none;
    border-bottom-width: 0;
}

.threats {
    color: var(--300);
    font-family: Gotham;
    font-size: var(--font--font-size--sm);
    line-height: var(--font--line-height--xs);
    text-transform: uppercase;
    font-weight: 700;
}

.platform-bar-container {
    z-index: 26;
    grid-row-gap: 0;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    text-decoration: none;
    display: flex;
    position: sticky;
    top: 150px;
    transform: translateY(0);
    transition: transform 0.3s ease;
}

.platform-bar-titles-container {
    z-index: 10;
    border-radius: 4px;
    flex-flow: row;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    max-width: 1440px;
    height: 100%;
    text-decoration: none;
    display: flex;
    position: relative;
}

.button-text-wrapper {
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    padding: 10px 16px;
    text-decoration: none;
    display: flex;
    transform: translate(0);
    transition: all 0.3s ease;
}

.button-icon {
    border-left: 1px solid var(--900);
    flex-direction: column;
    justify-content: center;
    width: 45px;
    padding: 16px;
    text-decoration: none;
}

.button-icon,
.button-icon-left {
    display: flex;
    align-items: center;
    transition: transform 0.3s ease;
}

.button-icon-left {
    opacity: 0;
    border-left: none!important;
    border-right: 1px solid white;
    transform: translateX(-100%);
    animation: fadeInLeft 0.3s forwards;
}

.button-main .button-text-wrapper::before {
    content: "";
    width: 45px;
    display: inline-block;
    margin-left: -45px;
}

.button-main:hover.button-text-wrapper {
    transform: translate(0);
    transition: all 0.3s ease;
}

.button-main-dark .button-icon-left {
    border-right: 1px solid var(--900);
}

.button-icon.fade-out {
    transform: translateX(100%);
    margin-right: -45px;
    opacity: 0;
    transition: transform 0.3s ease;
}

@keyframes fadeInLeft {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.button-icon.button-icon-light {
    border-left-color: white;
}

.button-icon.login-button-no-border {
    border-left-style: none;
}

.button-icon.button-login {
    border: 1px solid var(--800);
}

.button-icon.cta-line-icon {
    border-left-style: none;
    width: auto;
    padding: 0;
}

.clients-section {
    z-index: 16;
    grid-row-gap: 64px;
    background-color: white;
    border-top: 1px solid white;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-bottom: -100vh;
    padding-top: 0;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow: hidden;
}

.clients-background-image {
    z-index: 1;
    aspect-ratio: auto;
    vertical-align: baseline;
    object-fit: contain;
    object-position: 0 0;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    width: 50vh;
    height: 100%;
    display: inline-flex;
    position: absolute;
    top: -30vh;
    left: -20vh;
    transform: rotate(20deg);
}

.industry-sector-card-img {
    color: var(--900);
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 40px;
    font-size: 30px;
    text-decoration: none;
    display: flex;
}

.industry-sector-icon {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 45px;
    height: 100%;
    text-decoration: none;
    display: flex;
    position: relative;
}

.newsletter-cta-section {
    z-index: 21;
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    grid-row-gap: 80px;
    border-radius: 0;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-top: -50px;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow: hidden;
}

.join-newsletter-right-content {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: flex;
}

.get-thefix {
    font-family: var(--font--family--title);
    color: var(--900);
    font-size: var(--font--font-size--3xl);
    line-height: var(--font--line-height--3xl);
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 700;
    text-decoration: none;
}

.go-to-blog-wrapper {
    grid-column-gap: 4px;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    max-width: 358.5px;
    text-decoration: none;
    display: flex;
}

.post-title {
    grid-row-gap: 16px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 40px 30px 20px;
    text-decoration: none;
    display: flex;
}

.post-meta {
    grid-column-gap: 16px;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-bottom: 20px;
    padding-left: 30px;
    padding-right: 30px;
    text-decoration: none;
    display: flex;
}

.sales-cta-section {
    z-index: 14;
    padding: 0 var(--paddingwrappersides);
    background: radial-gradient(ellipse at top left, #69b2e1 20%, rgb(255, 255, 255) 55%);
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow-x: clip!important;
}


.footer {
    z-index: 2;
    grid-row-gap: 40px;
    flex-flow: column;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 45svh;
    padding-top: 80px;
    padding-bottom: 40px;
    text-decoration: none;
    display: flex;
    bottom: 0;
}

.footer-links {
    grid-column-gap: 224px;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    text-decoration: none;
    display: flex;
}

.icons {
    grid-column-gap: 8px;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    text-decoration: none;
    display: flex;
}

.iconsinstagram {
    grid-column-gap: 10px;
    border-radius: 4px;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-right: 12px;
    text-decoration: none;
    display: flex;
}

.iconslinkedin {
    grid-column-gap: 10px;
    border-radius: 4px;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    padding-top: 12px;
    padding-bottom: 12px;
    text-decoration: none;
    display: flex;
}

.footer-info-login-container {
    grid-column-gap: 48px;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    text-decoration: none;
    display: flex;
}

.footer-attack-content {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    font-family: var(--font--family--body);
    color: white;
    font-size: var(--font--font-size--body);
    line-height: var(--font--line-height--body);
    flex-flow: column;
    align-items: flex-start;
    width: 100%;
    font-weight: 300;
    display: flex;
}

.footer-attack-content.footer-client-portal {
    justify-content: flex-start;
    align-items: flex-end;
}

.footer-contact {
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-top: 40px;
    text-decoration: none;
    display: flex;
}

.contact-icons {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: 600px;
    text-decoration: none;
    display: flex;
}

.phone-contact {
    grid-column-gap: 6px;
    color: var(--infrashield-lighter);
    flex: 0 auto;
    justify-content: flex-start;
    align-items: center;
    width: 200px;
    text-decoration: none;
    display: flex;
}

.phone-icon {
    height: 35px;
    overflow: hidden;
}

.mail-contact {
    grid-column-gap: 6px;
    grid-row-gap: 6px;
    color: var(--infrashield-lighter);
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: 212px;
    text-decoration: none;
    display: flex;
}

.footer-copyright {
    border-top: 1px solid var(--infrashield-lighter);
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-top: 30px;
    text-decoration: none;
    display: flex;
    position: relative;
    max-width: var(--maxwidthcontent);
}

.nav {
    grid-column-gap: 48px;
    background-color: white;
    border-radius: 4px;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    max-width: 1440px;
    margin-top: 0;
    padding: 0 16px;
    text-decoration: none;
    display: flex;
    top: 0;
    left: auto;
    overflow: visible;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease-in-out;
    position: relative;
}

.menu-wrapper {
    z-index: 101;
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    flex: 0 auto;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    text-decoration: none;
    display: flex;
    position: relative;
}

.footer-menu-items {
    font-family: var(--font--family--medium);
    color: var(--infrashield-lighter);
    font-size: var(--font--font-size--body);
    font-weight: 500;
    line-height: 130%;
}

.value-2 {
    font-family: var(--font--family--body);
    color: #b3b3b3;
    font-size: var(--font--font-size--sm);
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 400;
    line-height: 140%;
    text-decoration: none;
}

.form-submit-btn {
    padding: var(--space--300) 40px;
    grid-column-gap: var(--space--200);
    background-color: var(--900);
    font-family: var(--font--family--body);
    color: white;
    font-size: var(--font--font-size--sm);
    border: 1px solid white;
    border-radius: 4px;
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    font-weight: 200;
    text-decoration: none;
    display: flex;
    overflow: hidden;
}

.menu-item-link {
    grid-column-gap: 8px;
    flex: 0 auto;
    justify-content: center;
    padding: 4px 8px;
    text-decoration: none;
    display: flex;
    height: 100%;
    align-items: center;
    position: relative;
    background: white;
}

.menu-desktop .menu-item-link {
    padding: 0;
}

.menu-item-link.active {
    color: var(--900);
}

.menu-item-link.active.footer-menu-links {
    color: white;
}

.menu-item-link.footer-menu-links {
    color: var(--infrashield-lighter);
}

.menu-item-styling {
    font-family: var(--font--family--medium);
    font-size: var(--font--font-size--sm);
    font-weight: 500;
    height: 100%;
    display: flex;
    align-items: center;
    width: 100%;
    opacity: .75;
    transition: all ease 300ms;
}
.menu-desktop .menu-item-styling {
    line-height: 14px;
    padding: 0 8px;
}

.menu-desktop .menu-item-link {
    padding: 0;
}

.menu-item-styling:hover,
.sub-menu-item-styling:hover {
    background: #f8f8f8;
    opacity: 1;
    transition: all ease 300ms;
}

.menu-desktop-cta {
    background-color: var(--900);
    border-radius: 4px;
    justify-content: center;
    align-items: center;
    width: 140px;
    padding: 10px 20px;
    text-decoration: none;
    display: flex;
    overflow: hidden;
}

.menu-cta-text {
    font-family: var(--font--family--medium);
    font-size: var(--font--font-size--sm);
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 500;
    line-height: 20px;
    text-decoration: none;
}

.hero-content {
    z-index: 2;
    max-width: var(--maxwidthcontent);
    grid-row-gap: 48px;
    flex-flow: column;
    justify-content: center;
    align-items: self-end;
    width: 100%;
    padding-top: 0;
    text-decoration: none;
    display: flex;
    position: relative;
}

.hero-headers-wrapper {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    text-decoration: none;
    display: flex;
}

.hero-header-h1 {
    font-family: var(--font--family--title);
    font-size: var(--font--font-size--lg);
    line-height: var(--font--font-size--5xl);
    width: 100%;
    font-weight: 400;
    display: flex;
}

.hero-header-h1.custom-h1 {
    font-family: var(--font--family--light);
    font-size: var(--font--font-size--xl);
    line-height: 26px;
    text-align: right;
    flex: 0 auto;
    justify-content: flex-end;
    align-items: center;
    font-weight: 700;
    position: relative;
}

.hero-header-tagline {
    font-family: var(--font--family--title);
    letter-spacing: -.06em;
    flex: none;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 68px;
    font-weight: 700;
    line-height: 66px;
    text-decoration: none;
    display: inline-block;
}

.intro-content {
    flex-flow: column;
    justify-content: flex-start;
    left: auto;
}

.intro-content.clip-container-lock-icon-top {
    z-index: 5;
    grid-row-gap: 0;
}

.header-wrapper {
    grid-column-gap: 48px;
    grid-row-gap: 16px;
    text-align: left;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding: 120px 0 0 0;
    text-decoration: none;
    display: flex;
}

.h3-styling {
    font-family: var(--font--family--title);
    font-size: var(--font--font-size--lg);
    line-height: var(--font--line-height--lg);
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    font-weight: 700;
}

.text-dark {
    color: var(--900);
}

.text-white {
    color: var(--white)
}

.text-400 {
    color: var(--400);
}

.h3-styling.text-dark {
    color: var(--900);
    line-height: var(--font--line-height--h3-line-height);
}

.h3-styling.h3-solutions-styling {
    font-size: var(--font--font-size--2xl);
    line-height: var(--font--line-height--lg);
}

.h3-styling.h3-platform-overview {
    display: flex;
}

.p-styling {
    font-family: var(--font--family--book);
    font-size: var(--font--font-size--body);
    line-height: var(--font--line-height--lg);
    text-align: left;
    width: 100%;
    font-weight: 400;
}

.p-styling.get-secured-bar-p-styling {
    font-size: 14px;
    line-height: var(--font--line-height--body);
}

.p-styling.be-secure-infrashield-text {
    max-width: 800px;
}

.h2-styling {
    font-family: var(--font--family--header-2);
    color: #fff;
    font-size: var(--font--font-size--4xl);
    line-height: var(--font--font-size--4xl);
    text-align: left;
    align-items: flex-start;
    width: 100%;
    font-weight: 700;
}

.h2-styling.text-dark {
    color: var(--900);
}

.h2-styling.text-dark.how-we-do-it-dynamic-text {
    color: var(--infrashield-darklight);
    font-size: var(--font--font-size--3xl);
    line-height: var(--font--line-height--2xl);
    text-align: center;
    justify-content: center;
    align-items: center;
    height: 80px;
    display: flex;
}

.h2-styling.h2-custom-width {
    font-size: var(--font--font-size--4xl);
    line-height: var(--font--line-height--4xl);
}

.h2-styling.h2-custom-width.text-dark {
    line-height: var(--font--line-height--2xl);
}

.animation-wrapper {
    grid-row-gap: 23px;
    flex-flow: column;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    max-width: 500px;
    height: 100%;
    width: 35vw;
    text-decoration: none;
    display: flex;
    position: relative;
}

.steps-wrapper {
    border: 1px solid var(--400);
    border-radius: 16px;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow: hidden;
}

.steps-cards-content {
    grid-row-gap: 8px;
    flex-flow: column;
    flex: none;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 500px;
    padding: 60px;
    text-decoration: none;
    display: flex;
    position: relative;
}

.platform-top-content-wrapper {
    padding: 0 var(--paddingwrappersides);
    grid-row-gap: 16px;
    background-color: var(--900);
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    text-decoration: none;
    display: flex;
    position: relative;
}

.platform-top-content-wrapper.platform-be-secure-wrapper {
    z-index: 25;
    pointer-events: none;
    background-color: #0000;
    padding: 0;
    position: sticky;
    top: 0;
    overflow: visible;
    transition: top 500ms ease;
}

.platform-top-content-header {
    grid-row-gap: 0;
    text-align: center;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    max-width: 300px;
    text-decoration: none;
    display: flex;
}

.platform-top-content-header.be-secure-header {
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 1440px;
}

.platform-top-content-header.be-secure-infrashield-logo {
    justify-content: center;
    align-items: center;
    max-width: 600px;
    height: 100%;
}

.platform-tab-title {
    font-family: var(--font--family--title);
    font-size: var(--font--font-size--body);
    line-height: var(--font--font-size--lg);
    text-align: center;
    width: 100%;
    font-weight: 700;
}

.platform-tab {
    grid-column-gap: 8px;
    color: #fff;
    text-align: center;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 16px;
    text-decoration: none;
    display: flex;
    position: relative;
}

.platform-tab.active {
    color: var(--900);
    background-color: #fff;
}

.platform-tab.platform-tab-middle {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
}

.platform-cards-list {
    flex-flow: column;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    max-width: 1440px;
    height: 100%;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow: hidden;
}

.platform-card {
    grid-column-gap: 64px;
    grid-row-gap: 32px;
    border: 1px solid #fff;
    border-radius: 4px;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding: 60px;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow: hidden;
}

.platform-card.get-secured-card {
    justify-content: flex-start;
}

.platform-card.get-secured-card.get-secured-card-even {
    color: var(--900);
    background-color: #fff;
}

.platform-card.get-secured-card.get-secured-card-even.platform-card-infrashield-solutions {
    flex-flow: column;
    width: 100%;
    height: 100%;
    position: relative;
}

.step-card-text {
    grid-column-gap: 48px;
    grid-row-gap: 16px;
    flex-flow: column;
    align-items: flex-start;
    display: flex;
}

.get-secured-text {
    font-family: var(--font--family--body);
    font-size: var(--font--font-size--body);
    line-height: var(--font--line-height--xl);
    flex-flow: row;
    font-weight: 400;
}

.get-secured-text.get-secured-text-even {
    color: var(--900);
}

.get-secured-text.p-styling.get-secured-p-styling {
    font-size: var(--font--font-size--body);
    line-height: var(--font--line-height--lg);
}

.get-secured-text.get-secured-p-styling,
.get-secured-text.get-secured-p-styling.get-secured-text-even {
    line-height: var(--font--line-height--lg);
}

.get-secured-text.get-secured-p-styling.get-secured-text-even.infrashield-list {
    width: 500px;
}

.get-secured-text.get-secured-p-styling.get-secured-peeps-list {
    width: 100%;
}

.partners-section {
    z-index: 17;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-decoration: none;
    display: block;
    position: relative;
    bottom: 0;
    overflow: hidden;
}

.partners-content-container {
    z-index: 3;
    grid-row-gap: 24px;
    border: 1px solid var(--infrashield-lightest);
    pointer-events: auto;
    background-color: #fff;
    border-radius: 16px;
    flex-direction: column;
    flex: none;
    justify-content: flex-start;
    align-items: flex-start;
    width: 900px;
    height: 400px;
    margin-top: 35vh;
    text-decoration: none;
    display: flex;
    position: relative;
}

.partners-content {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 400px;
    padding: 60px 100px 60px 80px;
    text-decoration: none;
    display: flex;
    position: relative;
}

.button-main {
    color: var(--900);
    background-color: #fff;
    border: 1px solid #fff;
    border-radius: 4px;
    flex: 0 auto;
    justify-content: space-around;
    align-items: stretch;
    text-decoration: none;
    display: flex;
    width: max-content;
    padding: 0;
    transition: all 0.3s ease;
    overflow: hidden;
}

.button-secondary {
    color: white;
    background-color: transparent;
    flex: 0 auto;
    justify-content: center;
    align-items: stretch;
    text-decoration: none;
    display: flex;
    overflow: hidden;
    width: max-content;

    .button-text {
        color: #fff;
    }
}

.button-secondary.button-secondary-dark p {
    color: var(--900);
}

.button-secondary:hover .button-text {
    color: var(--infrashield-lightblue);
}

.two-cta-system {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.hero-cta-system.hero-cta-system {
    justify-content: flex-end;
}

.button-secondary .button-text-wrapper {
    padding: 4px 4px 4px 0;
}

.button-secondary .button-text {
    padding-bottom: 4px;
    border-bottom: 1px solid #fff;
}

.button-secondary.button-secondary-dark .button-text {
    border-bottom: 1px solid var(--900);
}

.button-secondary:hover .button-text {
    border-bottom: 1px solid var(--infrashield-lightblue);
}

.button-main:hover {
    color: #fff;
    background-color: #0000;
    border: 1px solid #fff;
    transition: background-color 300ms ease;
    p {
        color: #fff;
    }
}

.button-main.button-main-dark {
    border-color: var(--900);
    background-color: var(--900);
    color: #fff;

    p {
        color: white;
    }
}

.button-main.button-main-dark:hover {
    border: 1px solid var(--900);
    color: var(--900);
    background: radial-gradient(ellipse at -50% 120%, rgba(119, 201, 255, 1) 5%, rgba(255, 255, 255, 0) 60%);

    p {
        color: var(--900);
    }
}

.button-main.button-nav-login {
    border-color: var(--900);
}

.button-main.button-nav-login:hover {
    background-color: var(--900);
}

.lock-icon-on-border {
    z-index: 6;
    grid-row-gap: 3px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 8px;
    text-decoration: none;
    display: flex;
    position: absolute;
    inset: -15px auto auto 80px;
    transform: translate(-8px, -8px);
}

.lock-icon-on-border.partners-lock-icon-on-border {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    display: flex;
    inset: auto;
}

.section-header {
    color: #fff;
    text-align: center;
    width: 100%;
    font-family: Gotham;
    font-size: 38px;
    font-weight: 500;
    line-height: 44px;
    display: inline-block;
}

.industry-sector-list {
    z-index: 9;
    grid-column-gap: 0;
    grid-row-gap: 0;
    cursor: grab;
    flex: 0 auto;
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: row;
    place-content: start;
    place-items: stretch start;
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow: visible;
}

.industry-sector-card {
    grid-column-gap: 16px;
    border-style: solid none solid solid;
    border-width: 1px;
    border-color: var(--900);
    cursor: none;
    flex: none;
    justify-content: flex-start;
    align-items: center;
    width: 350px;
    height: 100px;
    min-height: 100px;
    padding-left: 24px;
    padding-right: 24px;
    text-decoration: none;
    display: flex;
    overflow: hidden;
}

.industry-sector-card.industry-sector-card-last {
    border-right-style: solid;
}

.industry-sector-card-text {
    text-align: left;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    padding-top: 30px;
    padding-bottom: 30px;
    display: flex;
}

.industry-sector-text {
    font-family: var(--font--family--title);
    color: #fff;
    font-size: var(--font--font-size--lg);
    line-height: var(--font--line-height--body);
    font-weight: 700;
    text-decoration: none;
}

.join-newsletter-wrapper {
    z-index: 6;
    background-color: var(--infrashield-darkblueprimary);
    border-bottom: 2px solid #fff;
    flex-flow: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1440px;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow: visible;
}

.join-newsletter-wrapper.clip-on-white-background {
    border: 1px solid var(--900);
    padding-left: 0;
}

.join-newsletter-left {
    grid-row-gap: 16px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    padding: 48px;
    text-decoration: none;
    display: flex;
}

.join-newsletter-text {
    grid-row-gap: 8px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    text-decoration: none;
    display: flex;
}

.join-newsletter-right {
    background-color: #fff;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 30%;
    padding: 48px;
    display: flex;
    position: relative;
}

.blog-section-headers {
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1440px;
    height: 34px;
    display: flex;
}

.recent-news-wrapper {
    justify-content: space-between;
    align-items: center;
    width: 100%;
    text-decoration: none;
    display: flex;
}

.salesctacontent {
    z-index: 5;
    grid-column-gap: 24px;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: 1440px;
    height: 100vh;
    text-decoration: none;
    display: flex;
    position: sticky;
    bottom: 0;
}

.blog-post-card {
    grid-row-gap: 8px;
    background-color: var(--900);
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 421px;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow: hidden;
}

.blog-post-card.clip-on-dark-background {
    border: 1px #000;
    flex: none;
    width: 450px;
    height: 350px;
}

.post-date {
    font-family: var(--font--family--title);
    color: var(--400);
    font-size: var(--font--font-size--xs);
    line-height: var(--font--line-height--sm);
    font-weight: 500;
}

.contact-us-left-content {
    grid-row-gap: 24px;
    border-radius: 4px 16px 16px;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    text-decoration: none;
    display: flex;
}

.contact-us-right-content {
    grid-row-gap: 8px;
    border-radius: 4px 16px 16px;
    flex-flow: column;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    text-decoration: none;
    display: flex;
}

.footer-info-wrapper {
    grid-column-gap: 24px;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    text-decoration: none;
    display: flex;
    max-width: var(--maxwidthcontent);
}

.footer-info {
    grid-row-gap: 24px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    text-decoration: none;
    display: flex;
}

.footer-menu {
    grid-column-gap: 4px;
    grid-row-gap: 4px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;

    display: flex;
}

.footer-copyright-text {
    display: flex;
    font-family: var(--font--family--body);
    color: var(--infrashield-lighter);
    font-size: var(--font--font-size--sm);
    font-weight: 300;
}

.nav-wrapper {
    z-index: 999;
    flex-flow: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    display: flex;
    position: fixed;
    top: 0;
    padding: 10px var(--paddingwrappersides);
    padding-bottom: 20px;
    transition: transform 0.3s ease-in-out, opacity 150ms ease-in-out;
    opacity: 0;
}

.nav-wrapper.loaded {
    opacity: 1;
    transition: opacity 150ms ease-in-out;
}

.image {
    z-index: 2;
    object-fit: contain;
    width: 100%;
    position: static;
    inset: 0 auto auto 0;
}

.stay-secure-wrapper {
    z-index: 5;
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    flex-flow: row;
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    display: flex;
    position: sticky;
    top: 0;
}

.inlinebluewords {
    color: var(--infrashield-darklight);
}

.inlinebluewordslight {
    color: var(--infrashield-lightblue);
    text-align: left;
}

.hero-header {
    grid-column-gap: 48px;
    grid-row-gap: 48px;
    flex-flow: row;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    height: 100vh;
    display: flex;
}

.program-overview-tabs-container {
    z-index: 10;
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    flex-flow: row;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    display: flex;
    position: relative;
}

.footer-section {
    z-index: 12;
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    background: radial-gradient(at right bottom, rgb(0 67 111) 5%, rgb(16, 24, 40) 45%);
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    display: flex;
    position: relative;
}

.process-section {
    z-index: 13;
    background-color: #fff;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 60px 0;
    display: flex;
    position: relative;
}

.why-infrashield-section {
    padding: 60px 0;
    overflow-y: visible;

    > div {
        overflow-y: visible;
        transform: translateZ(0)!important;
    }
}

.platform-horizontal-width {
    background-color: var(--900);
    width: 100%;
    position: relative;
    overflow: visible;
}

.platform-sticky-container {
    z-index: 10;
    pointer-events: none;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100vh;
    display: flex;
    position: absolute;
    inset: auto auto 0 0;
    overflow: visible;
}

.wrapper-gradient-sticky {
    z-index: 10;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: visible;
}

.platform-cards-container-wrapper {
    z-index: 3;
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    border-bottom: 1px #fff;
    flex-flow: row;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
    overflow: visible;
}

.platform-section {
    z-index: 11;
    background-color: transparent;
    flex: 0 auto;
    width: 100%;
    height: 100%;
    padding-bottom: 120px;
    position: relative;
}

.platform-cards-container {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    max-width: 1440px;
    height: 100%;
    display: flex;
    position: relative;
    overflow: visible;
}

.solutions-right-column {
    z-index: 9;
    width: 100%;
    max-width: 1100px;
    height: 100%;
    margin-bottom: 60px;
    position: relative;
    overflow: visible;
    transition: transform 300ms ease;
}

.pt-0 {
    padding-top: 0;
}

.pt-60 {
    padding-top: 60px;
}

.py-120 {
    padding-top: 120px;
    padding-bottom: 120px;
}
.pt-120 {
    padding-top: 120px;
}

.pb-120 {
    padding-bottom: 120px;
}

.pb-100vh {
    padding-bottom: 100vh;
}

.picture-with-unlocked-icon {
    flex-flow: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1440px;
    height: 100vh;
    margin-top: -250px;
    padding-top: 0;
    padding-bottom: 0;
    text-decoration: none;
    display: flex;
    position: sticky;
    top: 0;
}

.step-cards-wrapper {
    border-bottom: 1px solid var(--400);
    flex-flow: column;
    flex: none;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
    position: relative;
    overflow: visible;
}

.steps-column-right {
    flex: 0 auto;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.protecting-icons-absolute {
    z-index: 10;
    border-radius: 16px;
    width: 100%;
    height: 70vh;
    position: absolute;
    overflow: visible;
}

.cables-wrapper {
    z-index: 10;
    pointer-events: none;
    flex-flow: column;
    justify-content: center;
    align-self: auto;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    position: absolute;
}

.protecting-your-assets-section {
    z-index: 17;
    background-color: #fff;
    height: 550vh;
    margin-bottom: 100vh;
    position: relative;
}

.contact-us-text {
    grid-column-gap: 16px;
    grid-row-gap: 24px;
    flex-flow: column;
    width: 100%;
    display: flex;
}

.spacer {
    width: 100%;
    height: 100vh;
    display: block;
    position: relative;
}

.spacer.clients-spacer {
    height: 150vh;
}

.spacer.footer-spacer {
    height: 100vh;
}

.spacer.process-spacer {
    height: 400vh;
}

#how-we-protect-it .spacer.process-spacer {
    height: 600vh;
}

.spacer.intro-spacer {
    pointer-events: none;
    height: 400vh;
    position: absolute;
}

.form-field-wrapper {
    width: 100%;
    padding-bottom: 20px;
}

.form-submit-container {
    padding-bottom: 10px;
}

.form-field-wrapper.form-field-two-inputs-wrapper {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    object-fit: fill;
    display: flex;
    position: relative;
}
button.button-text-wrapper.g-recaptcha {
    border: 1px solid white;
    border-radius: 4px;
    padding: 0;
}

button.button-text-wrapper.g-recaptcha:hover {
    background: transparent;
    color: white;
    border: 1px solid white;
    border-radius: 4px;
}

.sales-cta-spacer {
    width: 100%;
    height: 100vh;
}

.sales-cta-spacer.spacer {
    height: 150vh;
}

.blog-articles {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex: none;
    align-items: stretch;
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
    overflow: visible;
}

.post-image-wrapper {
    width: 100%;
    height: 100%;
}

.stay-secure-content {
    background-color: #fff;
    border-radius: 16px;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    max-width: 1440px;
    padding: var(--paddingBoxesContent);
    grid-column-gap: 48px;
    grid-row-gap: 48px;
    display: flex;
    position: relative;
    overflow: hidden;
}

.stay-secure-header {
    grid-column-gap: 32px;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding-left: 0;
    display: flex;
}

.stay-secure-header.defending-data-header {
    width: 100%;
    max-width: 400px;
}

.stay-secure-info {
    grid-row-gap: 8px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    display: flex;
}

.cta-line-and-icon {
    grid-column-gap: 4px;
    color: #fff;
    border: 0 solid var(--900);
    border-bottom: 1px solid #fff;
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    padding-bottom: 5px;
    font-family: Gotham Medium, Trebuchet MS, sans-serif;
    text-decoration: none;
    display: flex;
    overflow: hidden;
}

.cta-line-and-icon:hover {
    border-bottom-color: var(--infrashield-darklight);
    color: var(--infrashield-darklight);
}

.cta-line-and-icon.cta-line-blue {
    height: var(--font--line-height--lg);
    border-bottom-color: var(--infrashield-darklight);
    color: var(--900);
    justify-content: center;
    padding-top: 0;
}

.cta-line-and-icon.cta-line-dark {
    grid-column-gap: 8px;
    border-bottom-color: var(--900);
    color: var(--900);
}

.cta-line-and-icon.cta-line-dark:hover {
    border-bottom-color: var(--infrashield-darklight);
    color: var(--infrashield-darklight);
}

.keyboard-image-container {
    mix-blend-mode: normal;
    width: 60%;
    position: absolute;
    inset: auto 0 35% auto;
    overflow: visible;
}

.right-floating-image-container {
    mix-blend-mode: normal;
    width: 25%;
    position: absolute;
    inset: auto 0 35% auto;
    overflow: visible;
}

.extra-space-after-animation {
    z-index: 22;
    background-color: var(--900);
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    width: 100%;
    height: 30px;
    margin-bottom: -1px;
    display: block;
    position: relative;
}

.extra-space-after-animation.extra-space-white {
    z-index: 8;
    background-color: #fff;
}

.extra-space-after-animation.client-extra-space {
    z-index: 19;
    margin-top: 0;
}

.infrashield-icon-asset {
    width: 500px;
    position: absolute;
    inset: 15vh 0 auto auto;
    overflow: visible;
    transform: scale(1);
}

.floating-images-wrapper {
    z-index: -1;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    height: 100%;
    display: flex;
    position: absolute;
    overflow: visible;
}

.protecting-your-assets-floater {
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    height: 100%;
    display: flex;
    position: absolute;
}

.infrashield-phone-link {
    font-family: var(--font--family--medium);
    color: #fff;
    white-space: normal;
    font-weight: 600;
    text-decoration: none;
}

.logo-wrapper {
    z-index: 101;
    position: relative;
    padding: 8px 0;
    vertical-align: middle;
    display: flex;
    align-items: center;
}

.menu-desktop {
    align-items: center;
    display: flex;
}

.menu-items {
    flex-flow: row;
    display: flex;
    height: 100%;
    align-items: center;
}

.hero-video {
    width: 100%;
    height: 100%;
}

.hero-video-wrapper {
    width: 100vw;
    height: 100vh;
    display: flex;
    position: absolute;
}

.hamburger-menu {
    width: 25px;
    position: relative;
}

.menu-close.hidden {
    position: relative;
}

.menu-mobile-items {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    flex-flow: row;
    justify-content: space-between;
    display: flex;
}

.menu-icons-wrapper {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-end;
    width: 100%;
    padding: 8px;
    display: flex;
    position: absolute;
}

.logo-styling {
    width: 100%;
}

.background-video {
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
}

.blog-articles-section {
    z-index: 8;
    justify-content: center;
    width: 100%;
    display: flex;
    position: relative;
    overflow: visible;
}

.blog-articles-section.blog-articles-wrapper {
    z-index: 8;
    background-color: #fff;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    height: 600px;
    display: flex;
    position: relative;
    overflow: visible;
}

.h2-styling-custom {
    font-family: var(--font--family--body);
    color: #fff;
    font-size: var(--font--font-size--4xl);
    line-height: var(--font--line-height--4xl);
    letter-spacing: var(--letter-spacing);
    max-width: 700px;
    font-weight: 700;
    position: relative;
}

.blog-articles-wrapper {
    width: 100%;
    max-width: 1440px;
    overflow: visible;
}

.platform-top-content {
    grid-column-gap: 32px;
    grid-row-gap: 16px;
    flex-flow: row;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    max-width: 1440px;
    padding-top: 200px;
    padding-bottom: 0;
    display: flex;
    position: static;
}

.platform-top-content.platform-be-secure {
    padding: 75px var(--paddingwrappersides) 20px;
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    border-bottom: 1px solid #fff;
    justify-content: center;
    align-items: flex-start;
    max-width: 100%;
    position: relative;
}

.platform-top-content.be-secure-infrashield-section {
    grid-column-gap: 16px;
    justify-content: center;
    align-items: flex-start;
    padding-left: 80px;
    padding-right: 80px;
}

.platform-item-wrapper {
    grid-column-gap: 4px;
    grid-row-gap: 4px;
    text-align: center;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    display: flex;
}

.industry-sector-container {
    z-index: 9;
    flex: none;
    width: 100%;
    display: flex;
    position: relative;
    overflow: visible;
}

.industry-sector-container-wrapper {
    z-index: 9;
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    grid-column-gap: 0;
    grid-row-gap: 0;
    flex-flow: column;
    align-items: center;
    width: 100%;
    display: flex;
    position: relative;
    overflow: hidden;
}

.contact-us-container {
    grid-column-gap: 48px;
    border: 1px solid #a0b9dd;
    -webkit-backdrop-filter: blur(25px);
    backdrop-filter: blur(25px);
    background-color: #fffc;
    background-image: radial-gradient(ellipse at bottom left, rgba(119, 201, 255, 0.6) 0%, rgba(255, 255, 255, 0) 30%);
    border-radius: 16px;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: var(--paddingBoxesContent);
    display: flex;
    position: relative;
}

.contact-us-container.contact-us-dark {
    background-color: var(--900);
    border: 1px solid white;
    color: white;
    backdrop-filter: none;

    .form-field-label {
        color: white;
    }

    .form-field-input,
    .textarea {
        border: 1px solid #ffffff75;
    }
}

.contact-us-question {
    -webkit-text-fill-color: inherit;
    background-color: #fff;
    background-clip: padding-box;
    padding: 5px;
    display: block;
    position: absolute;
    inset: -20px auto auto -5px;
}

.solutions-wrapper {
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
    gap: 24px;
}

.solutions-wrapper.gradient-fade-top {
    flex-flow: row;
    justify-content: center;
    align-items: flex-start;
    max-width: 1440px;
}

.gradient-test {
    position: sticky;
    top: 0;
    height: 250px;
    width: 100%;
    pointer-events: none;
    z-index: 13;

    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 35%, rgba(0,0,0,0) 66%);
    mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 35%, rgba(0,0,0,0) 66%);

    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.gradient-top-white {
    z-index: 13;
    pointer-events: none;
    cursor: none;
    object-fit: cover;
    background-image: linear-gradient(#fff 10%, rgba(255, 255, 255, 0) 30%);
    width: 100%;
    height: 250px;
    position: sticky;
    top: 0;
}

.gradient-sticky-top {
    z-index: 12;
    pointer-events: none;
    flex: 0 auto;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
}

.solutions-section-wrapper {
    justify-content: center;
    width: 100%;
    max-width: 1440px;
    display: flex;
    transition: transform 300ms ease;
    z-index: 16;
    position: relative;
}

.heading {
    color: #fff;
}

.step-card-media {
    z-index: 5;
    box-sizing: border-box;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: 100% 50%;
    border-radius: 16px;
    width: 50%;
    height: 20vw;
    position: relative;
    overflow: hidden;
}

.step-card-header {
    color: var(--900);
    background-color: #fff;
    border-radius: 4px;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 16px 24px;
    display: flex;
}

.step-card-header.step-card-header-even {
    background-color: var(--900);
    color: #fff;
    position: relative;
}

.step-card-header.step-card-vtraq {
    background-color: #0000;
    padding-bottom: 0;
    padding-left: 0;
}

.clients-header-wrapper {
    z-index: 4;
    grid-column-gap: 64px;
    grid-row-gap: 64px;
    text-align: center;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    display: flex;
    top: 0;
}

.circular-gradient {
    width: 400px;
    height: 400px;
    position: absolute;
    inset: 50vh -200px auto auto;
    transform: rotate(45deg);
}

.step-number-text {
    width: 50px;
    margin-bottom: 0;
}

.side-gradient {
    aspect-ratio: auto;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 100%;
    background: radial-gradient(ellipse at bottom right, #69b2e18a 0%, rgba(255, 255, 255, 0) 30%);
    display: flex;
    position: absolute;
    overflow: hidden;
}

.simplifying-security-section {
    z-index: 11;
    padding-top: 240px;
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    background-color: #fff;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
}

.simplifying-security-wrapper {
    max-width: var(--maxwidthcontent);
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    display: flex;
    position: relative;
}

.platform-card-inner-container {
    grid-column-gap: 64px;
    grid-row-gap: 16px;
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding-bottom: 120px;
    display: flex;
    position: relative;
}

.platform-card-inner-container.platform-card-cta {
    padding-bottom: 0;
}

.platform-card-inner-container.infrashield-solutions-card {
    flex-flow: row;
    justify-content: flex-start;
    width: 100%;
}

.platform-card-inner-container.platform-card-inner-infrashield {
    padding-bottom: 0;
}

.platform-first-card.get-secured-card {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
    flex-flow: column;
    flex: none;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 100vh;
    padding: 30px 60px 30px 0;
    display: flex;
}

.svg-mask-sticky {
    z-index: 2;
    -webkit-text-fill-color: inherit;
    background-clip: border-box;
    align-items: stretch;
    width: 100%;
    height: 100%;
    display: flex;
    position: absolute;
    top: 0;
    left: -15vw;
}

.image-container {
    object-fit: cover;
    height: 200vh;
    position: absolute;
}

.sticky-image {
    object-fit: cover;
    object-position: 100% 50%;
    width: 1100px;
    height: 100vh;
    position: sticky;
    top: 0;
    bottom: auto;
    right: auto;
}

.sticky-image.masked-image {
    position: sticky;
}

.scrolling-mask {
    -webkit-text-fill-color: inherit;
    object-fit: cover;
    object-position: 0 50%;
    background-clip: border-box;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0 auto auto 0;
}

.scrolling-mask.mask {
    object-fit: fill;
    object-position: 0 0;
    height: 400vh;
}

.scrolling-mask.gradient-test {
    height: 100%;
    transform: translate(0);
}

.svg-wrapper {
    z-index: 3;
    -webkit-text-fill-color: inherit;
    background-clip: border-box;
    width: 100%;
    height: 100%;
    position: absolute;
    left: -15vw;
}

.gradient-sticky-bottom {
    z-index: 13;
    width: 100%;
    position: sticky;
    bottom: 0;
}

.gradient-test-bottom {
    z-index: 14;
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: relative;
}

.steps-cards-title {
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    max-width: 65%;
    display: flex;
}

.card-title-styling {
    font-family: var(--font--family--header-4);
    font-size: var(--font--font-size--xl);
    line-height: var(--font--line-height--lg);
    font-weight: 700;
}

.card-title-styling.text-dark {
    color: var(--900);
}

.card-title-styling.card-mobile-title-styling {
    font-family: var(--font--family--header-4);
}

.card-title-styling.grid-title-styling {
    font-size: var(--font--font-size--sm);
    line-height: var(--font--line-height--body);
    text-align: left;
    width: 100%;
    font-weight: 400;
}

.card-title-styling.industry-card-title-styling {
    color: var(--900);
    font-size: var(--font--font-size--body);
    line-height: var(--font--line-height--body);
    font-weight: 500;
}

.card-title-styling.intro-card-styling {
    color: #fff;
    font-size: var(--font--font-size--body);
    line-height: var(--font--line-height--body);
    padding-top: 30px;
    padding-bottom: 30px;
    font-weight: 500;

    a {
        color: white;
    }
}

.simplifying-security-header {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: 450px;
    padding-right: 64px;
    display: flex;
}

.simplifying-security-content {
    flex-flow: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    display: flex;
}

.card-icon {
    width: 60px;
}

.infrashield-contact-text-styling {
    color: var(--infrashield-lighter);
    margin-top: 0;
    margin-bottom: 0;
    font-family: Gotham Bold, Trebuchet MS, sans-serif;
    font-size: 16px;
    line-height: 130%;
    text-decoration: none;
}

.get-secured-text-peeps {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    display: flex;
}

.animation-side-gradient {
    object-fit: contain;
    object-position: 100% 50%;
    width: 100%;
    height: 100%;
}

.animation-sticky-gradient-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    position: absolute;
    top: 0;
    z-index: -1;
}

.cables-container {
    width: 35vw;
    position: absolute;
    inset: -20vh auto auto -15vw;
}

.keyboard-image {
    mix-blend-mode: lighten;
    width: 100%;
}

.steps-card-icon-wrapper {
    width: 100%;
    height: 100%;
    pointer-events: none;
    position: absolute;
    left: 0;
}

.steps-card-icon {
    width: 20%;
    position: absolute;
    inset: 30px 30px auto auto;
}

.animation-sticky-container {
    z-index: 20;
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
    height: 100vh;
    display: flex;
    position: sticky;
    top: 0;
}

.background-video-wrapper {
    z-index: -1;
    width: 100%;
    height: 100vh;
    display: block;
    position: absolute;
}

.partners-horizontal-width {
    flex-flow: row;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 3500px;
    display: block;
    position: relative;
}

.partners-sticky-container {
    grid-column-gap: 48px;
    grid-row-gap: 48px;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    height: 100vh;
    display: flex;
    position: sticky;
    top: 0;
}

.partners-info-container {
    z-index: 14;
    padding-left: var(--paddingwrappersides);
    grid-column-gap: 120px;
    grid-row-gap: 120px;
    flex-flow: row;
    flex: none;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 100vh;
    display: flex;
    position: relative;
}

.partners-info-wrapper {
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
    overflow: hidden;
}

.partners-container-clip-wrapper {
    width: 100%;
    max-width: 600px;
}

.intro-content-clip-wrapper {
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1440px;
    margin-top: 0;
    display: flex;
    position: sticky;
    transform: translateZ(0);
    transform: translate3d(0,0,0);
    height: 100vh;
    top: 0;
}

.lock-icon-img {
    width: 25px;
}

.lock-icon-img.lock-icon-dark {
    -webkit-text-fill-color: inherit;
    background-clip: border-box;
    width: 20px;
    position: relative;
}

.partner-header-container {
    z-index: 10;
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    max-width: 1440px;
    display: flex;
    position: relative;
    bottom: auto;
    right: auto;
}

.blur-container {
    opacity: 1;
    width: 100%;
    height: 100%;
    position: absolute;
}

.partner-header-wrapper {
    z-index: 16;
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    display: flex;
    position: absolute;
    inset: 20vh auto auto 0;
}

.protecting-assets-video-wrapper {
    border-radius: 16px;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1440px;
    height: 100%;
    display: flex;
    position: relative;
    overflow: hidden;
}

.protecting-assets-video-resize {
    z-index: 4;
    padding: 16px;
    border-radius: 16px;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    overflow: visible;
}

.protecting-content-right {
    z-index: 3;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    width: 60%;
    height: 400vh;
    display: flex;
    position: relative;
}

.protecting-content-container {
    color: #fff;
    border: 1px solid #fff;
    border-radius: 16px;
    flex-flow: column;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    padding: 0 30px 0 20px;
    display: flex;
}

.protecting-content-container.protecting-right {
    border-style: none;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    height: 150vh;
    position: relative;
}

.protecting-content-container.protecting-left {
    border-style: none;
    justify-content: center;
    align-items: flex-end;
    max-width: 600px;
    padding-right: 0;
}

.protecting-content-left {
    z-index: 4;
    justify-content: flex-end;
    align-items: center;
    width: 40%;
    display: flex;
    position: sticky;
    top: 48.5vh;
}

.protecting-content-wrapper {
    padding-top: 150vh;
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 550vh;
    display: flex;
    position: relative;
}

.protecting-content {
    flex-flow: row;
    justify-content: space-around;
    align-items: flex-start;
    width: 100%;
    max-width: 1440px;
    height: 100%;
    display: flex;
    position: relative;
    opacity: 1;
}

.client-header-container {
    z-index: 3;
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    justify-content: center;
    align-items: center;
    width: 100%;
    display: flex;
    position: relative;
}

.intro-header-wrapper {
    grid-column-gap: 48px;
    grid-row-gap: 48px;
    flex-flow: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: var(--paddingBoxesContent);
    display: flex;
    position: relative;
}

.what-comes-next {
    padding: 60px 80px;
}

.intro-header-wrapper.intro-list-content {
    grid-column-gap: 0;
    grid-row-gap: 0;
    justify-content: center;
    align-items: stretch;
    padding: 0;
    overflow: hidden;
    border-radius: 16px!important;
}

.dynamic-padding-box-content {
    padding: var(--paddingBoxesContent);
}

.border-white {
    border: 1px solid white;
}

.rounded,
.intro-content.rounded {
    border-radius: 16px!important;
}

.cornered {
    border-radius: 0;
}

.intro-header-wrapper.leading-platform-container {
    padding-top: 80px;
    padding-bottom: 80px;
}

.acronym-span {
    position: relative;
}

.homepage-hero-line {
    position: absolute;
    height: 2px!important;
    background: white;
    right: 0!important;
    width: 0;

    .hero-infrashield-icon {
        font-size: 4.5rem;
        top: 16px;
        right: 0;
        position: absolute;
    }
}

.hero-ctas-and-h1 {
    grid-column-gap: 24px;
    grid-row-gap: 16px;
    text-align: left;
    flex-flow: row;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    display: flex;
    position: relative;
    /* background-image: radial-gradient(ellipse at bottom right, rgba(119, 201, 255, 1) 0%, rgba(255, 255, 255, 1) 50%); */
    border-radius: 6px;
    padding: 1.5rem;
    max-width: max-content;
    backdrop-filter: blur(25px);

    .hero-header-h1.custom-h1 {
        color: white;
    }
}

.hero-headers {
    flex: 0 auto;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    display: flex;
}

.client-header-wrapper {
    text-align: left;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1440px;
    padding-left: 60px;
    padding-right: 60px;
    display: flex;
    position: relative;
}

.client-header-info {
    border-left: 1px solid var(--900);
    width: 100%;
    max-width: 600px;
    padding-left: 64px;
}

.cta-line-text {
    font-family: var(--font--family--medium);
    font-size: var(--font--font-size--sm);
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 500;
    line-height: 20px;
    text-decoration: none;
}

.cta-line-text.cta-line-text-light {
    font-family: var(--font--family--medium);
    color: #fff;
    position: relative;
}

.background-color-nav-wrapper {
    z-index: 100;
    background-color: #fff;
    border-radius: 4px;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0 auto auto 0;
}

.solutions-section-padding {
    padding-right: var(--paddingwrappersides);
    padding-left: var(--paddingwrappersides);
    justify-content: space-around;
    align-items: center;
    width: 100%;
    display: flex;
}

.industry-list-wrapper {
    z-index: 1;
    flex-flow: column;
    width: 100%;
    max-width: 1440px;
    display: flex;
    position: relative;
    overflow: visible;
}

.client-horizontal-width {
    width: 100%;
    height: 350vh;
    display: flex;
}

.arrow-right-icon {
    width: 12px;
    height: 100%;
}

.step-layer-final {
    z-index: 6;
    width: 45vw;
}

.clients-background-image-wrapper {
    text-align: left;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    position: absolute;
    bottom: auto;
}


.chess-piece-container {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: auto auto 0 0;
}

.chess-piece-img {
    z-index: 22;
    width: 150px;
    position: absolute;
    inset: auto auto -30px 0;
}

.vtraq-video {
    height: 100%;
}

.platform-background-video {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.vtraq-logo {
    width: 150px;
}

.become-styling {
    letter-spacing: var(--letter-spacing);
    margin-top: 0;
    margin-bottom: 0;
    font-family: Gotham Bold, Trebuchet MS, sans-serif;
    font-size: 68px;
    font-weight: 700;
    line-height: 68px;
    transform: translateX(0) !important;
    transition: opacity 300ms ease;
}

.become-styling.text-drop-shadow {
    padding-bottom: 50vh;
    position: sticky;
    top: 48.5vh;
}

.become-styling-animation {
    opacity: 1!important;
    transition: opacity 300ms ease;
    transform: translateX(0)!important;
}

.intro-solutions-right {
    width: 70%;
    display: flex;
}

.intro-solutions-left {
    z-index: 10;
    background-color: #fff;
    border-top: 1px #fff;
    border-bottom: 1px #fff;
    border-right: 1px solid #fff;
    justify-content: flex-start;
    align-items: center;
    width: 30%;
    padding-left: 80px;
    display: flex;
    position: relative;
}

.intro-card {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    border: 1px solid #fff;
    flex-flow: row;
    justify-content: flex-start;
    align-items: stretch;
    width: 300px;
    height: 120px;
    padding-left: 32px;
    padding-right: 32px;
    display: flex;
    flex: 1 1 300px;
}

.intro-list {
    border-bottom: 1px #000;
    flex-flow: row;
    flex: none;
    justify-content: flex-start;
    align-items: stretch;
    display: flex;
}

.intro-card-icon .fa-regular{
    width: 30px;
}

.intro-list.intro-first-list {
    border-bottom: 1px solid #fff;
}

.intro-list-wrapper {
    z-index: 9;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    position: relative;

    .intro-card:hover,
    .intro-card.active {
        background: white;
        color: var(--900);

        h5, a, i {
            color: var(--900);
        }

        h5 {
            display: inline-flex;
            align-items: center;

            .arrow-icon-list {
                color: var(--900);
                font-family: "Font Awesome 6 Pro";
                font-weight: 900;
                content: '\f061';
                opacity: 0;
                margin-left: 8px;
                transition: opacity 0.3s ease;
                &:before {
                    content: '\f061';
                }
            }
        }

        &:hover h5 .arrow-icon-list,
        &.active h5 .arrow-icon-list {
            opacity: 1;
            animation: arrowSlide 1s infinite ease-in-out;
        }
    }
}

@keyframes arrowSlide {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(5px);
    }
}

.intro-card-text {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
    padding-left: 0;
    padding-right: 0;
    display: flex;
    position: relative;
}

.intro-gradient-overlay {
    z-index: -1;
    pointer-events: none;
    object-position: 50% 50%;
    border-radius: 16px;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: auto 0 0 auto;
    overflow: hidden;
}

.infrashield-mask-sticky {
    z-index: 20;
    pointer-events: none;
    width: 100%;
    position: sticky;
    top: 0;
}

.infrashield-logo-icon-mask {
    z-index: 30;
    width: 100%;
    height: 100vh;
    position: relative;
}

.intro-floating-graphic-right {
    z-index: 4;
    width: 75px;
    position: absolute;
    inset: auto -50px 0 auto;
}

.floating-graphics {
    width: 100%;
}

.intro-floating-graphic-left {
    z-index: 7;
    width: 100px;
    position: absolute;
    inset: auto auto 50px -25px;
}

.id-card-floater-container {
    z-index: 8;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0 0 auto auto;
}

.id-card-graphic {
    z-index: 8;
    height: 80px;
    position: absolute;
    inset: auto 5% -50px 0;
}

.hacker-floater-container {
    z-index: -1;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0 0 auto auto;
}

.top-right-floater-container {
    z-index: -1;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: -4% 0 auto auto;
}

.bottom-left-floater-container {
    z-index: -1;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
}

.hacker-graphic,
.calendar-graphic,
.top-right-floater-icon {
    height: 250px;
    position: absolute;
    inset: -50px -20px auto auto;
}

.fa-solid.fa-arrow-right {
    width: 100%;
}

.fa-solid.fa-lightbulb-on.fa-solutions-custom-transform {
    color: #fff;
    font-size: 75px;
    position: absolute;
    inset: auto auto -10px 0;
    transform: rotate(20deg);
}

.login-button {
    border: 1px solid var(--900);
    border-radius: 4px;
    justify-content: flex-start;
    align-items: center;
    display: flex;
}

.menu-mobile-right {
    grid-column-gap: 4px;
    grid-row-gap: 4px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-end;
    width: 55%;
    max-width: 200px;
    display: flex;
}

.fa-regular.fa-lightbulb-on.fa-solutions-custom-transform {
    color: #fff;
    font-size: 75px;
    position: absolute;
    top: auto;
    bottom: -5px;
    left: 0;
}

.intro-card-icon {
    color: #fff;
    justify-content: flex-start;
    align-items: center;
    font-size: 30px;
    display: flex;
}

.be-secure-section {
    z-index: 22;
    background-color: var(--900);
    width: 100%;
    position: relative;
}

.be-secure-section-top-stroke {
    z-index: 26;
    background-color: #fff;
    width: 100%;
    height: 1px;
    position: relative;
}

.gradient-bottom-sticky {
    pointer-events: none;
    width: 100%;
    height: 350vh;
    position: absolute;
    bottom: 0;
    z-index: 20;
}

.gradient-cards-bottom {
    z-index: 13;
    pointer-events: none;
    width: 100%;
    height: 100vh;
    position: sticky;
    top: 0;
    background-image: linear-gradient(to top, #101828 3%, #10182800 6%);
}

.gradient-cards-bottom-white {
    z-index: 13;
    pointer-events: none;
    width: 100%;
    height: 100vh;
    position: sticky;
    top: 0;
    background-image: linear-gradient(to top, #fff 3%, rgba(255, 255, 255, 0) 6%);
}

.product-icon-sticky {
    position: sticky;
    top: 120px;
    padding-top: 280px;
    max-width: 20vw;
    margin-right: auto;
    transform: translateX(-10vw);
    padding-bottom: 240px;
}

.infinite-rotate {
    animation: rotate-infinite 50s linear infinite;
}

@keyframes rotate-infinite {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.get-secured-card-problem {
    border: 1px solid var(--900);
    font-family: var(--font--family--medium);
    color: var(--900);
    font-size: var(--font--font-size--body);
    line-height: var(--font--line-height--body);
    border-radius: 4px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 16px;
    font-weight: 500;
    display: flex;
    position: relative;
}

.get-secured-card-problem.get-secured-card-problem-dark {
    background-color: var(--900);
    color: #fff;
    height: 200px;
}

.get-secured-card-problem-title {
    margin-bottom: 0;
}

.get-secured-problem-text {
    font-family: var(--font--family--book);
    position: relative;
}

.platform-card-inner-content-left {
    grid-column-gap: 48px;
    width: 100%;
    max-width: 650px;
    display: flex;
}

.platform-card-inner-content-left.platform-card-peeps {
    max-width: 100%;
}

.get-secured-problem-container {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: column;
    align-items: flex-start;
    width: 100%;
    display: flex;
    position: relative;
}

.get-secured-solution-container {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 500px;
    max-width: 500px;
    display: flex;
}

.industry-list-gradient {
    z-index: 2;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
}

.h3-and-p-combo {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: column;
    display: flex;
}

.infrashield-logo-white {
    width: 100%;
    max-width: 450px;
    height: 100%;
}

.step-card-list-container {
    font-family: var(--font--family--book);
    font-size: var(--font--font-size--body);
    line-height: var(--font--line-height--lg);
}

.header-left-side {
    width: 100%;
    max-width: 500px;
}

.header-content-right-side {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: column;
    width: 100%;
    display: flex;
}

.be-secure-infrashield-content {
    grid-column-gap: 48px;
    grid-row-gap: 48px;
    width: 100%;
    max-width: 1440px;
    padding: 200px 80px;
    display: flex;
}

.who-we-are-gradient {
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
}

.how-we-do-it-headers-container {
    flex-flow: row;
    justify-content: center;
    width: 100%;
    display: flex;
}

.how-we-do-it-headers {
    text-align: center;
    justify-content: center;
    width: 100%;
    max-width: 1440px;
    display: flex;
    position: relative;
}

.sales-cta-laptop-wrapper {
    z-index: 3;
    justify-content: flex-end;
    align-items: flex-end;
    width: 100%;
    height: 100%;
    display: flex;
    position: absolute;
    top: auto;
    bottom: 0;
    left: auto;
}

.sales-cta-laptop {
    width: 600px;
    position: absolute;
    right: -200px;
    bottom: -4%;
}

.client-bottom-right-gradient {
    z-index: 10;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
}

.sales-cta-top-left-gradient {
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: absolute;
}

.solutions-header-icon-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: auto auto 0 80px;
}

.platform-tabs-wrapper {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border: 1px solid #fff;
    border-radius: 4px;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    max-width: 760px;
    display: flex;
    position: absolute;
    inset: auto 0 0 auto;
    overflow: hidden;
}

.step-card-section-icon {
    color: var(--900);
    flex-flow: column;
    width: 60px;
    font-size: 40px;
    display: flex;
}

.step-card-section-icon.step-card-section-icon-light {
    color: var(--900);
}

.step-card-subheader {
    position: relative;
}

.step-card-subheader.h3-styling {
    border-bottom: 1px solid #fff;
}

.h4-styling {
    font-family: var(--font--family--title);
    color: #fff;
    font-size: 16px;
    line-height: 16px;
    border-bottom: 2px solid var(--infrashield-darklight);
    margin-bottom: 0;
    padding-bottom: 8px;
    font-weight: 700;
    position: relative;
}

.platform-card-wrapper {
    width: 100%;
    height: 100%;
    padding-top: 200px;
}

.platform-card-inner-peeps-text {
    grid-column-gap: 64px;
    grid-row-gap: 64px;
    width: 100%;
    display: flex;
}

.process-header-wrapper {
    grid-column-gap: 32px;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: 800px;
    padding-left: 0;
    padding-right: 16px;
    text-decoration: none;
    display: flex;
}

.process-header-wrapper.defending-data-header {
    width: 100%;
    max-width: 400px;
}

.container-content-center {
    grid-row-gap: 24px;
    border-radius: 4px 16px 16px;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-right: 16px;
    text-decoration: none;
    display: flex;
}

.container-content-center .button-main,
.privacy-policy .button-main {
    max-width: 200px;
}

.privacy-policy .contact-us-text {
    max-width: 900px;
}

.privacy-policy .salesctacontent {
    position: relative;
    height: 100%;
    padding-top: 80px;
    padding-bottom: 120px;
}

.contact-us-container.contact-us-transparent {
    border: 1px solid white;
}

.privacy-policy .text-section a {
    text-decoration: none;
    color: var(--infrashield-lightblue);
}

footer a {
    text-decoration: none;
    color: var(--infrashield-lighter);
}

.salesctacontent.thank-you-redirect {
    height: 100vh;

    .contact-us-container {
        background-color: var(--900)!important;
    }

}

.privacy-policy .salesctacontent.thank-you-redirect {
    padding-top: 120px;
    padding-bottom: 120px;
}

#vTraq,
#PEEPS {
    scroll-margin-top: 30vh!important;
}

.peeps-shield-img {
    z-index: 1;
    aspect-ratio: auto;
    vertical-align: baseline;
    object-fit: contain;
    object-position: 0 0;
    flex: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    width: 40vh;
    height: 100%;
    display: inline-flex;
    position: absolute;
    top: -5vh;
    left: -10vh;
}

.blue-bordered-text-box {
    background: var(--infrashield-darkblueprimary);
    padding: 16px 24px;
    border-radius: 12px;
    color: white;
    width: auto;
}

.ul-list-styling li {
    line-height: 20px;
    padding-bottom: 8px;
}

.justify-content-start {
    justify-content: flex-start;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-space-between {
    justify-content: space-between;
}

.align-items-center {
    align-items: center;
}

.align-items-start {
    align-items: start;
}

.align-items-flex-end {
    align-items: end;
}

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

.position-relative {
    position: relative;
}

.position-absolute {
    position: absolute;
}

.pa-0 {
    padding: 0;
}

.pb-0 {
    padding-bottom: 0;
}

.pl-0 {
    padding-left: 0;
}

.py-0 {
    padding-top: 0;
    padding-bottom: 0;
}

.px-0 {
    padding-left: 0;
    padding-right: 0;
}

.mb-0 {
    margin-bottom: 0;
}

.mt-0 {
    margin-top: 0;
}

.mt-100 {
    margin-top: 100vh;
}

.mb-100 {
    margin-bottom: 100vh;
}

.mt--100 {
    margin-top: -100vh;
}

.mb--100 {
    margin-bottom: -100vh;
}

.gap-1 {
    gap: 4px;
}

.gap-4 {
    gap: 16px;
}

.gap-8 {
    gap: 32px;
}

.gap-16 {
    gap: 64px;
}

.border-radius {
    border-radius: 16px;
}

.border-top-dark {
    border-top: 1px solid var(--900);
}

.border-bottom-dark {
    border-bottom: 1px solid var(--900);
}

.opacity-100 {
    opacity: 1;
}

.opacity-50 {
    opacity: .5;
}

.flipX {
    transform: scale(-1);
}

.w-auto {
    width: auto;
}

.w-100 {
    width: 100%;
}

.w-75 {
    width: 75%;
}

.w-50-desktop {
    width: 50%;
}

.w-50 {
    width: 50%;
}

.max-width-300 {
    max-width: 300px;
}

.max-width-400 {
    max-width: 400px;
}

.max-width-800 {
    max-width: 800px;
}

.h-100 {
    height: 100%;
}

.h-150vh {
    height: 150vh;
}

.h-250vh {
    height: 250vh;
}

.h-300vh {
    height: 300vh;
}

.max-width-1440 {
    max-width: 1440px;
}

.z-25 {
    z-index: 25;
}

.z-30 {
    z-index: 30;
}

.top-0 {
    top: 0;
}

.left-0 {
    left: 0;
}

.position-sticky {
    position: sticky;
}

.overflow-hidden {
    overflow: hidden;
}

.height-100vh {
    height: 100vh;
}

.height-200vh {
    height: 200vh;
}

.height-250vh {
    height: 250vh;
}

.d-flex {
    display: flex;
}

.drop-shadow-900 {
    filter: drop-shadow(0px 0 3px var(--900)) drop-shadow(0px 0 20px var(--900));
}

.drop-shadow-white {
    filter: drop-shadow(0px 0 3px #fff) drop-shadow(0px 0 20px #fff);
}

.flex-direction-row {
    flex-direction: row;
}

.flex-direction-column {
    flex-direction: column;
}

.product-logo-size {
    max-width: 100px;
}

.industry-product-cta {
    width: 180px;
    margin-top: auto;
}

.industry-products-built-logo {
    height: 75px;
    width: auto;
    object-fit: contain;
    align-self: flex-start;
}

.core-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-row-gap: 24px;
    grid-column-gap: 32px;

    .industry-sector-card {
        display: flex;
        flex: 1 1 300px;
        grid-column-gap: 16px;
        border: 0 solid var(--900);
        align-items: flex-start;
        padding: 0;
        width: 100%;
    }

    .industry-sector-card-text {
        padding: 0;
    }
}

@media (max-width: 469px) {
    .core-features {
        grid-template-columns: repeat(1, 1fr);
    }
}
.product-icon-sticky-wrapper {
    z-index: 15;
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    pointer-events: none;
    transition: transform 300ms ease;
}

form {
    width: 100%;
}

.product-title {
    font-size: var(--font--font-size--2xl);
    line-height: var(--font--font-size--2xl);
    padding-right: 40px;
}

.grecaptcha-badge {
    opacity: 0!important;
}

.platform-bar-container {
    padding-bottom: 20px;
}

.platform-top-content-wrapper.platform-be-secure-wrapper.shift-beSecure {
    top: -60px;
    transition: top 0.3s ease;
}

.platform-bar-container.shift-beSecureTabs {
    transform: translateY(-60px);
    transition: transform 0.3s ease;
}

.animated-background {
    top: 0;
    left: 0;
    background-color: var(--900);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 1080'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23101828'%3E%3Canimate attributeName='stop-color' values='%23101828%3B%23101828%3B%231B6194%3B%23101828%3B%23101828%3B%23101828' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3Cstop offset='1' stop-color='%23101828'%3E%3Canimate attributeName='stop-color' values='%23101828%3B%231B6194%3B%23101828%3B%23101828%3B%23101828%3B%23101828' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3CanimateTransform attributeName='gradientTransform' type='rotate' from='0 .5 .5' to='360 .5 .5' dur='12s' repeatCount='indefinite' /%3E%3C/linearGradient%3E%3CradialGradient id='b' r='0.9' cx='.5' cy='0' fr='.4' fx='.5'%3E%3Cstop offset='0' stop-color='%23101828' stop-opacity='0'%3E%3Canimate attributeName='stop-color' values='%23101828%3B%23101828%3B%23101828%3B%231B6194%3B%23101828%3B%23101828' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3Cstop offset='1' stop-color='%23101828' stop-opacity='.5'%3E%3Canimate attributeName='stop-color' values='%23101828%3B%231B6194%3B%23101828%3B%23101828%3B%23101828%3B%23101828' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3CanimateTransform attributeName='gradientTransform' type='rotate' values='360 .5 .5%3B0 .5 .5' dur='12s' repeatCount='indefinite' /%3E%3C/radialGradient%3E%3CradialGradient id='c' r='1' cx='.5' cy='.5' fr='.2' fx='0'%3E%3Cstop offset='0' stop-color='%23101828' stop-opacity='.5'%3E%3Canimate attributeName='stop-color' values='%23101828%3B%23101828%3B%231B6194%3B%23101828%3B%231B6194%3B%23101828%3B%23101828%3B%23101828' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3Cstop offset='1' stop-color='%23101828' stop-opacity='0'%3E%3Canimate attributeName='stop-color' values='%23101828%3B%23101828%3B%231B6194%3B%23101828%3B%231B6194%3B%23101828%3B%23101828%3B%23101828' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3CanimateTransform attributeName='gradientTransform' type='rotate' values='360 .5 .5%3B0 .5 .5' dur='12s' repeatCount='indefinite' /%3E%3C/radialGradient%3E%3C/defs%3E%3Crect fill='url(%23a)' width='100%25' height='100%25' /%3E%3Crect fill='url(%23b)' width='100%25' height='100%25' /%3E%3Crect fill='url(%23c)' width='100%25' height='100%25' /%3E%3C/svg%3E");
    background-attachment: fixed;
    background-size: cover;
    width: 100%;
    height: 100dvh;
}

.animated-background-light {
    top: 0;
    left: 0;
    background-color: #FFFFFF;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 1080'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23C4E2FF'%3E%3Canimate attributeName='stop-color' values='%23C4E2FF%3B%23FFFFFF%3B%23FFFFFF%3B%23FFFFFF%3B%23ffffff%3B%23C4E2FF' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3Cstop offset='1' stop-color='%23FFFFFF'%3E%3Canimate attributeName='stop-color' values='%23FFFFFF%3B%23FFFFFF%3B%23FFFFFF%3B%23ffffff%3B%23C4E2FF%3B%23FFFFFF' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3CanimateTransform attributeName='gradientTransform' type='rotate' from='0 .5 .5' to='360 .5 .5' dur='12s' repeatCount='indefinite' /%3E%3C/linearGradient%3E%3CradialGradient id='b' r='0.9' cx='.5' cy='0' fr='.4' fx='.5'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='0'%3E%3Canimate attributeName='stop-color' values='%23ffffff%3B%23C4E2FF%3B%23FFFFFF%3B%23FFFFFF%3B%23FFFFFF%3B%23ffffff' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3Cstop offset='1' stop-color='%23FFFFFF' stop-opacity='.5'%3E%3Canimate attributeName='stop-color' values='%23FFFFFF%3B%23FFFFFF%3B%23FFFFFF%3B%23ffffff%3B%23C4E2FF%3B%23FFFFFF' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3CanimateTransform attributeName='gradientTransform' type='rotate' values='360 .5 .5%3B0 .5 .5' dur='12s' repeatCount='indefinite' /%3E%3C/radialGradient%3E%3CradialGradient id='c' r='1' cx='.5' cy='.5' fr='.2' fx='0'%3E%3Cstop offset='0' stop-color='%23C4E2FF' stop-opacity='.5'%3E%3Canimate attributeName='stop-color' values='%23C4E2FF%3B%23FFFFFF%3B%23FFFFFF%3B%23C4E2FF%3B%23FFFFFF%3B%23C4E2FF%3B%23ffffff%3B%23C4E2FF' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3Cstop offset='1' stop-color='%23C4E2FF' stop-opacity='0'%3E%3Canimate attributeName='stop-color' values='%23C4E2FF%3B%23FFFFFF%3B%23FFFFFF%3B%23C4E2FF%3B%23FFFFFF%3B%23C4E2FF%3B%23ffffff%3B%23C4E2FF' dur='12s' repeatCount='indefinite'%3E%3C/animate%3E%3C/stop%3E%3CanimateTransform attributeName='gradientTransform' type='rotate' values='360 .5 .5%3B0 .5 .5' dur='12s' repeatCount='indefinite' /%3E%3C/radialGradient%3E%3C/defs%3E%3Crect fill='url(%23a)' width='100%25' height='100%25' /%3E%3Crect fill='url(%23b)' width='100%25' height='100%25' /%3E%3Crect fill='url(%23c)' width='100%25' height='100%25' /%3E%3C/svg%3E");
    background-attachment: fixed;
    background-size: cover;
    width: 100%;
    height: 100dvh;
}

.animated-background-transparent {
    background-color: rgba(16, 24, 40, 0);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 1080'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%230C2C42' stop-opacity='0'%3E%3Canimate attributeName='stop-opacity' values='0;0;1;0;0;0' dur='12s' repeatCount='indefinite'/%3E%3C/stop%3E%3Cstop offset='1' stop-color='%230C2C42' stop-opacity='0'%3E%3Canimate attributeName='stop-opacity' values='0;1;0;0;0;0' dur='12s' repeatCount='indefinite'/%3E%3C/stop%3E%3CanimateTransform attributeName='gradientTransform' type='rotate' from='0 .5 .5' to='360 .5 .5' dur='12s' repeatCount='indefinite'/%3E%3C/linearGradient%3E%3CradialGradient id='b' r='0.9' cx='.5' cy='0' fr='.4' fx='.5'%3E%3Cstop offset='0' stop-color='%230C2C42' stop-opacity='0'%3E%3Canimate attributeName='stop-opacity' values='0;0;0;1;0;0' dur='12s' repeatCount='indefinite'/%3E%3C/stop%3E%3Cstop offset='1' stop-color='%230C2C42' stop-opacity='0'%3E%3Canimate attributeName='stop-opacity' values='0;1;0;0;0;0' dur='12s' repeatCount='indefinite'/%3E%3C/stop%3E%3CanimateTransform attributeName='gradientTransform' type='rotate' values='360 .5 .5;0 .5 .5' dur='12s' repeatCount='indefinite'/%3E%3C/radialGradient%3E%3CradialGradient id='c' r='1' cx='.5' cy='.5' fr='.2' fx='0'%3E%3Cstop offset='0' stop-color='%230C2C42' stop-opacity='0'%3E%3Canimate attributeName='stop-opacity' values='0;0;1;0;1;0;0;0' dur='12s' repeatCount='indefinite'/%3E%3C/stop%3E%3Cstop offset='1' stop-color='%230C2C42' stop-opacity='0'%3E%3Canimate attributeName='stop-opacity' values='0;0;1;0;1;0;0;0' dur='12s' repeatCount='indefinite'/%3E%3C/stop%3E%3CanimateTransform attributeName='gradientTransform' type='rotate' values='360 .5 .5;0 .5 .5' dur='12s' repeatCount='indefinite'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect fill='url(%23a)' width='100%25' height='100%25'/%3E%3Crect fill='url(%23b)' width='100%25' height='100%25'/%3E%3Crect fill='url(%23c)' width='100%25' height='100%25'/%3E%3C/svg%3E");
    background-attachment: fixed;
    background-size: cover;
}

.infrashield-icon-video-mask {
    object-fit: cover;
    width: 100vw!important;
    mask-image: url('../images/InfraShield-icon-mask-reverse.svg');
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;

    -webkit-mask-image: url('../images/InfraShield-icon-mask-reverse.svg');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    -webkit-mask-position: center;
}



.hero-icon-offset {
    transform: translate(40%, 10vh);
    width: 50vw;
    height: auto;
    right: 0;
    position: absolute;
    bottom: 0;
}

.solutions-card-icon {
    position: absolute;
    font-size: 10rem;
    bottom: -1rem;
    right: -2rem;
    max-width: 180px;
}

.solutions-card-icon .fa {
    color: var(--900);
}

.solutions-card-icon .text-white.fa {
    color: white;
}

.solutions-card-product-logo {
    width: 200px;
    height: 100%;
}

.core-programs .program-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    height: 65vh;
}

.program-tab {
    position: relative;
    color: #fff;
    cursor: pointer;
    overflow: hidden;
    border-radius: 8px;
    backdrop-filter: blur(25px);
    transition: transform .3s ease;
    display: flex;
    flex-direction: column-reverse;

    h3 {
        z-index: 3;
    }
    .tab-content {
        z-index: 2;
    }
}

.program-tab::after {
    z-index: 1;
    content: '';
    bottom: 0;
    left: 0;
    position: absolute;
    height: 100%;
    width: 100%;
    background: linear-gradient(35deg, rgb(7, 55, 87) 10%, rgba(7, 55, 87, 0) 60%)
}

/* HEADER styling */
.tab-header {
    font-size: 1.8rem;
    bottom: 0;
    padding: 0 0 3rem 2rem;
    backdrop-filter: none!important;
    font-weight: 600;
    z-index: 4;
    margin-bottom: -2px;
    transition: transform .3s ease;
    transform: translateX(0px);
    opacity: 1;

    .underline {
        height: 2px!important;
    }
}

/* CONTENT box, hidden off-screen at bottom by default */
.tab-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2rem;
    background: linear-gradient(15deg, rgb(7, 55, 87) 25%, rgba(7, 55, 87, 0) 70%);
    transform: translateY(120%);
    transition: transform .3s ease;
    display: flex;
    height: 100%;
    justify-content: flex-end;
    align-items: flex-end;
    flex-direction: column;

    .ul-styling {
        padding-left: 1rem;
    }
}

/* When hovered _or_ the .active class is present, slide it up */
.program-tab.active .tab-content {
    transform: translateY(0);
    transition: transform 300ms ease;
}

.program-tab.active .tab-content {
    transform: translateY(0);
    opacity: 1;
    transition: transform 300ms ease;
}

.program-tab.initializing .program-tab {
    pointer-events: none!important;
}

.why-infrashield video,
.why-infrashield h2 + div{
    background: white!important;
}

model-viewer {
    cursor: none;
}

.height-revert {
    height: revert;
}

.solutions-card.height-revert:hover {
    transform: translateY(-12px);
}

@font-face {
    font-family: 'Gotham Medium';
    src: url('../fonts/Gotham-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Book';
    src: url('../fonts/Gotham-Book.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Book Italic';
    src: url('../fonts/Gotham-BookItalic.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Light';
    src: url('../fonts/Gotham-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Medium Italic';
    src: url('../fonts/Gotham-MediumItalic.otf') format('opentype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Bold Italic';
    src: url('../fonts/Gotham-BoldItalic.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Light Italic';
    src: url('../fonts/Gotham-LightItalic.otf') format('opentype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Bold';
    src: url('../fonts/Gotham-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@media screen and (max-width: 1100px) and (min-width: 768px) {
    .sales-cta-section .h2-styling {
        font-size: 40px;
        line-height: 44px;
    }
}

@media screen and (max-width: 991px) and (min-width: 768px) {
    .mobile-margin-offset {
        margin-bottom: -100vh;
    }

    .sales-cta-section {
        height: 100%;
        padding-bottom: 60px;
        padding-top: 60px;

        .h2-styling {
            font-size: 40px;
            line-height: 44px;
        }

        .sales-cta-spacer.spacer {
            height: 100vh;
        }

        .salesctacontent {
            position: relative;
            height: 100%;
        }
    }
}

@media screen and (max-width: 1275px) {
    .nav {
        height: 45px;
    }

    .w-50-desktop {
        width: 100%;
    }

    .intro-header-wrapper {
        padding: 60px;
    }

    .h2-styling.fancy‐underline {
        font-size: 30px;
        line-height: 32px;
    }

    .tablet-flex-direction-column {
        flex-direction: column;
    }

    .menu-desktop.d-flex {
        display: none !important;
    }

    .platform-tabs-wrapper {
        max-width: 100%;
    }

    .platform-bar-container {
        top: 205px!important;
    }
}

.menu-items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sub-menu-item-styling {
    font-weight: bold;
    padding: 16px;
    background: white;
    width: 100%;
    align-items: center;
}

/* 3. Hide all submenus by default */
.menu-item-link > .menu-items {
    display: none;
    position: absolute;
    min-width: 250px;
    top: 100%;
    left: 0;
    background: #fff;
}

/* 4. Reveal on hover */
.menu-item-link:hover > .menu-items {
    display: block;
}

/* 5. Position deeper levels to the right */
.menu-item-link > .menu-items > .menu-item-link > .menu-items {
    top: 0;
    left: 100%;
}

.menu-item-styling.router-link-exact-active {
    background-color: #171717;
    color: #ffffff;
}

.video-mask-section .video-padding-match-container {
    padding: 0 16px 16px;
}

/* FORCE checkboxes and radios to be their “natural” size on iOS */
input[type="checkbox"],
input[type="radio"] {
    width: 16px;
    height: 16px;
    margin: 0;
    vertical-align: middle;
    padding: 0;
    -webkit-appearance: checkbox;
}

.product-logo-width {
    width: 250px;
}

.why-infrashield {
    justify-content: space-between;
}



.progress-vertical-container {
    display: inline-block;
    width: 6px;
    height: auto;
    background: rgba(255, 255, 255, 0.37);
    margin-right: 0;
    position: relative;
    border-radius: 0;
    overflow: hidden;
}

.progress-vertical-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: #009dff;
    transition: height 0.2s ease;
}

.scroll-indicator {
    position: fixed;
    bottom: 16px;
    right: 16px;
    display: flex;
    align-items: stretch;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 4px;
    z-index: 998;
    overflow: hidden;
    transition: background 0.3s ease, width 0.2s ease;
}

.scroll-indicator:hover {
    background: rgba(0, 0, 0, 0.75);
}

@media (hover: hover) and (pointer: fine) {

}

.scroll-btn {
    background: none;
    border: none;
    cursor: pointer;
    height: 100%;
    padding: 12px;
    color: #fff;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.scroll-next {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.extra-btns {
    display: none;
    align-items: center;
}

.scroll-prev,
.scroll-top {
    opacity: 1;
    pointer-events: auto;
}

.arrow-icon {
    width: 18px;
    height: 18px;
    color: #fff;
}

.arrow-up {
    transform: rotate(180deg);
}

.scroll-text {
    margin-left: 8px;
    font-size: 0.9rem;
    font-weight: 500;
    color: #fff;
    white-space: nowrap;
    user-select: none;
}

.scroll-btn:hover {
    background: #ffffff;
    color: black;

    .scroll-text {
        color: black;
    }

    .fa-solid {
        transform: scale(1.4);
    }
}

.scroll-top {
    flex-direction: column;
}
.scroll-top .arrow-icon {
    margin: 2px 0;
}

.extra-btns.visible {
    display: flex;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(4px); }
    60% { transform: translateY(2px); }
}
.scroll-btn:hover .fa-solid {
    animation: bounce 2s infinite;
}

.expandable {
    background: #fff;
    background: radial-gradient(ellipse at bottom right, rgb(212, 236, 255) 0%, rgba(255, 255, 255, 1) 70%);
    margin-top: 16px;
    margin-left: -16px;
    font-weight: bold;
    padding: 16px!important;
    cursor: pointer;
    overflow: hidden;
    transition: box-shadow .2s;

    .p-styling {
        padding: 8px 24px 16px 0;
        line-height: 22px;
    }

    .button-main {
        width: 150px;
    }

    .button-main.button-main-dark:hover {
        background-color: transparent;
    }
}

.expandable.h3-styling  {
    letter-spacing: -0.02em;
}

.expandable-transparent {
    background: radial-gradient(ellipse at bottom right, rgb(212, 236, 255) 0%, rgba(255, 255, 255, 0) 70%);
}

/* box-shadow on hover when closed */
.expandable:not(.active):hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* hide content by default */
.expandable .expandable-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease, padding-top .3s ease;
}

/* show on hover OR when .active is toggled */
.expandable:hover .expandable-content,
.expandable.active .expandable-content {
    max-height: 600px;     /* or whatever fits your content */
}

.solutions-card {
    opacity: 0;
    transform: scale(.95) translateY(100px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.solutions-card.in-view {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.p-styling, section .ul {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 300ms ease-out, transform 300ms ease-out;
}

.no-animation {
    opacity: 1!important;
    transform: translate(0)!important;
}

.p-styling.in-view,
section ul.in-view {
    opacity: 1;
    transform: translateY(0);
}

.underline {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 0;
    background: white;
    transition: width 1.5s ease-out;
}

.background-dark {
    background: var(--900);
}

.scroll-in .underline,
.in-view .underline {
    width: 100%;
}

.footer-copyright-text {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}
.footer-copyright-text span,
.footer-copyright-text a {
    white-space: nowrap;
}


/* --------- Features Tab ----------- */

.tabs {
    display: inline-flex;
    justify-content: end;
    overflow: hidden;
    width: 100%;
}

.tab {
    border: none;
    position: relative;
    padding: 16px 24px;
    background: #f3f3f3;
    display: flex;
    gap: 4px;
    align-items: center;
    opacity: 1;
    font-weight: bold;
    justify-content: center;
}

.tab.active .tab-background {
    background: var(--900);
}

.tab-background {
    z-index: -1;
    background: #f3f3f3;
    width: 100%;
    height: 100%;
    position: absolute;
}

.tab i {
    font-size: 1.25rem;
}

/* Hide all titles by default */
.tab .tab-title {
    display: none;
    font-size: 1rem;
}

/* Active tab: show title and underline */
.tab:first-of-type {
    clip-path: polygon(
            16px 0%,      /* start 16px right of the top-left */
            100% 0%,      /* top-right corner */
            100% 100%,    /* bottom-right corner */
            0% 100%,      /* bottom-left corner */
            0% 16px       /* 16px down from the top-left corner */
    );

}

.tab.active {
    color: white;
    opacity: 1;
    background: var(--900);
    border-bottom: 2px solid white;
}

.tab.active::after {
    content: "";
    position: absolute;
    left: -1px;
    top: -1px;
    width: 16px;
    height: 16px;
    background: #f3f3f3;
    clip-path: polygon(
            0%   0%,   /* top-left */
            100% 0%,   /* top-right of the 16×16 square */
            0%   100%  /* bottom-left of the 16×16 square */
    );
}

.features-tab-content {
    display: none;
    position: relative;
    overflow: hidden;
    padding: 2rem;

    p {
        max-font-size: 90%;
    }
}

.tab.active .tab-title {
    display: inline-block;
}

.features-tab-content.active {
    display: block;
    clip-path: polygon(
        /* 1) Move 16px right from top-left (skipping that little triangle) */
            16px 0%,
                /* 2) Go all the way to the top-right corner */
            100% 0%,
                /* 3) Drop down to 16px above the bottom-right (skipping its triangle) */
            100% calc(100% - 16px),
                /* 4) Move 16px left from bottom-right */
            calc(100% - 16px) 100%,
                /* 5) Then to bottom-left */
            0% 100%,
                /* 6) Then up to 16px below top-left */
            0% 16px
    );
}


.features-tab-content {
    position: relative;
    overflow: hidden;
    padding: 2rem 3rem;
    color: white;
    background: radial-gradient(ellipse at bottom right, rgb(15 67 102) 0%, rgb(16, 24, 40) 50%);
    border-top: none;
    min-height: 150px;
}

.content-wrapper {
    position: relative;
    background-color: #fff;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    overflow: hidden;
}

/* Feature text styling */
.feature-text {
    z-index: 1;
    position: relative;
}

/* Large, slightly cut-off background icon */
.feature-icon-bg {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 6rem;
    color: white;
    transform: translate(15%, 15%);
    pointer-events: none;
}


/* ----------- Infinite Carousel --------- */

/* constrain the overall carousel width so %-based calcs work predictably */
.carousel-container {
    max-width: 100%;
    margin: 0 auto;
    padding-bottom: 20px;
}

.infinite-carousel {
    position: relative;
    overflow: hidden;
    width: 100%;
    touch-action: pan-x;
    -ms-touch-action: pan-x;
}
/* track simply lines up cards horizontally */
.carousel-track {
    display: flex;
    gap: 1rem;
    width: max-content;  /* shrink-wrap to card widths */
    transition: transform 0.5s cubic-bezier(0.165,0.84,0.44,1);
    will-change: transform;
    height: 100%;
    overflow-y: visible;
    padding-top: 20px;
    padding-bottom: 1px;
}

/* cards take exactly 1/3 (minus two gaps) of the VISIBLE carousel width */
.carousel-item {
    position: relative;
    padding: 2rem;
    border-radius: 8px;
    min-height: 150px;
    overflow: hidden;
    transition: transform ease 300ms;
}

.carousel-video-gradient {
    width: 100%;
    height: 100%;
    position: absolute;
    background: radial-gradient(ellipse at 0% 100%, var(--900) 15%, rgba(255, 255, 255, 0) 70%);
}

.carousel-item p {
    max-width: 90%;
    z-index: 1;
}

.carousel-track .carousel-item p:not(.button-text) {
    font-weight: 600!important;
}

.carousel-track.active {
    cursor: grabbing;
}

.carousel-item.carousel-item-link  {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    p {
        padding-bottom: 8px;
    }

    .button-secondary p {
        font-size: 12px;
        padding-bottom: 2px;
    }
}

.hero-bottom-right-icon-container {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.product-trigger {
    position: relative;
    display: inline-block;
    cursor: pointer;
    transform: translateX(-2px);
    transition: transform 0.3s ease;

    a {
        color: white;
    }

    a.text-dark {
        color: var(--900);
    }
}

.product-trigger:hover {
    transform: translateX(0px);
    transition: transform 0.3s ease;
}

.product-tooltip {
    display: inline-block;
    vertical-align: middle;
    overflow: hidden;
    white-space: nowrap;
    max-width: 0;
    margin-left: 0;
    transition: max-width 0.3s ease, margin-left 0.3s ease;
}

.product-trigger:hover .product-tooltip,
.product-trigger.active .product-tooltip {
    max-width: 200px;
}

.carousel-icon-wrapper {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    border-radius: 8px;
    left: 0;
    pointer-events: none;
}

.is-animated-logo-width {
    width: 300px;
    height: auto;
}

@media (max-width: 768px) {
    .carousel-item {
        padding: 2rem 2rem;
        flex: 0 0 calc((100%) );
    }

    .carousel-logo {
        padding: 1em !important;
        min-width: 80px;
    }

    .memberships-logo {
        max-height: 50px;
    }

    .core-features {
        grid-template-columns: repeat(2, 1fr);
    }
}


.carousel-item p {
    font-size:1rem;
    line-height:1.4;
}

.carousel-icon {
    position:absolute;
    bottom: -.5rem;
    right: -.5rem;
    font-size: 4rem;
    transition: transform ease 300ms;
}

.carousel-with-video:hover .carousel-icon {
    transform: scale(1.3);
    transform-origin: bottom right;
    transition: transform ease 300ms;
}

.carousel-with-video::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(
            ellipse at 0% 100%,
            var(--900) 15%,
            rgba(255,255,255,0) 70%
    );
    pointer-events: none;
    z-index: 1;
}

.carousel-nav {
    border: none;
    background: transparent;
    padding: 0.5rem;
    color: #fff;
    cursor: pointer;
    z-index: 26;
}

.carousel-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: end;
}

.carousel-nav.prev { left: 0.25rem; }
.carousel-nav.next { right: 0.25rem; }

.carousel-nav:hover i { color: #66c0f4; }
.carousel-nav i { font-size: 1rem; }


/* -------- Inner Tabs inside a Container Tab Feature CSS ------------ */
.inner-tab-wrapper {
    display: flex;
    width: 100%;
    height: 40vh;
    border: 1px solid white;
    border-radius: 8px;
    overflow: hidden;
}
.inner-tab-titles {
    flex: 1;
    width: 30%;
}
.inner-tab-titles .title {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    padding: .5rem 1rem;
    color: white;
    cursor: pointer;
    border-right: 1px solid white;
    border-bottom: 1px solid white;
    overflow: hidden;

    .icon {
        position: absolute;
        font-size: 2rem;
        bottom: 0;
        right: -.5rem;
        max-width: 80px;
        color: white;
        width: 40px;
        text-align: center;
    }
}
.inner-tab-titles .title.active {
    background: white;
    color: var(--900);
    font-weight: bold;

    .icon {
        color: var(--900);
    }
}

.inner-tab-content-wrapper {
    overflow: hidden;
    width: 70%;
    clip-path: inset(0px 0 1px 0);
}

.inner-tab-content {
    flex: 3;
    position: relative;
    height: 100%;
    width: 100%;
    transition: transform 0.5s ease;
}
.inner-tab-card {
    position: relative;
    padding: 2rem;
    width: 100%;
    border-bottom: 1px solid white;
    overflow: hidden;
}
.inner-tab-card .icon {
    position: absolute;
    font-size: 10rem;
    bottom: -2rem;
    right: -2rem;
    max-width: 180px;
    color: white;
    width: 180px;
    text-align: center;
}

.max-width-900 {
    max-width: 900px;
}

.max-width-600 {
    max-width: 600px;
}

.left-side-border-container {
    padding: 0 2rem 0 .5rem;
    flex: 1;
}

.left-side-line {
    position: absolute;
    left: -0.5rem;
    top: 6px;
    background: white;
    width: 3px;
    height: 16px;
}

.video-overlay-dark {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 25%);
    z-index: 2;
}

.video-overlay-blue {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 8, 27, 0.25);
    z-index: 2;
}

.animation-wrapper-imgs {
    width: 100%;
    height: auto;
    align-items: center;
    display: flex;
}

.step-images-wrapper {
    width: 100%;
    height: 100%;
}

.menu-item-link.active > a {
    color: #0077cc;
    font-weight: bold;
    position: relative;
}

.menu-item-link.active > a::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #0077cc;
}

.main-nav {
    width: 100%;
    max-width: 700px;
}

.mega-menu-container {
    position: absolute;
    overflow: visible;
    border-radius: 4px;
    border: 1px solid #e3e3e3;
    left: 0;
    top: 56px;
    color: var(--900);background: #fff;
    border-top: 1px solid #ccc;
    display: flex;
    justify-content: space-between;
    padding: 2.5rem 4rem 3rem 2.5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 99;
    height: auto;

    .sub-sub-menu {
        margin-left: 1.5rem;
        display: flex;
        flex-direction: column;
        margin-top: 0.25rem;
    }

}

.menu-link,
.mobile-menu-toggle {
    font-family: var(--font--family--medium);
    font-size: 1rem;
    line-height: 1.3rem;
    list-style-type: none;
    padding: 12px 12px 4px 0;
    margin-bottom: 8px;
    transform: translateX(0px);
    transition: all 300ms ease;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    width: 100%;
    text-align: left;
    display: flex;
    gap: 8px;
}

.sub-sub-menu .menu-link,
.mobile-submenu {
    font-size: .9rem;
    font-weight: 400;
    line-height: 1rem;
}

.has-submenu:not(.mobile-menu-toggle).open {
    border-bottom: 2px solid var(--900);
}

.carousel-info-container {
    padding: 24px;
    z-index: 2;
}

.carousel-video-container {
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
    z-index: -1;
}

.carousel-with-video {
    padding: 0;
    justify-content: flex-end!important;
    height: 50vh;
}

.robot-arm-wrapper {
    object-fit: contain;
    width: 100%;
    height: auto;
    max-width: 30vw;
    transform: rotate(10deg) translate(-18vw, -15vw);
}

@media (hover: hover) and (pointer: fine) {
    .menu-link:hover {
        transform: translateX(6px);
        transition: all 300ms ease;
        border-bottom: 2px solid var(--900);
    }

    .menu-link.mobile-menu-toggle:hover {
        border: none;
    }

    .carousel-item:hover {
        transform: translateY(-16px);
        transition: transform ease 300ms;
    }

    .scroll-indicator:hover .extra-btns {
        display: flex;
    }
}

.mega-menu-container:not(.hide-megamenu) {
    opacity: 1;
    pointer-events: auto;
}

.mega-menu-content {
    flex: 1;
    min-width: 450px;
    height: 100%;
}

.mega-menu-icon {
    z-index: -1;
    width: 100px;
    position: absolute;
    text-align: right;
    font-size: 8rem;
    bottom: -1rem;
    right: -1rem;
    color: white;
}

.menu-grid-3col {
    display: flex;
    gap: 2rem;
    max-width: 900px;
}

.menu-grid-2col {
    display: flex;
    gap: 2rem;
    max-width: 700px;
}

.menu-column {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
    padding-right: 20px;
    border-right: 1px solid #d6dfed;
}

.menu-column:last-of-type {
    padding-right: 0;
    border-right: none;
}

.sub-sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.visible-sub-menu {
    overflow: visible;
    max-height: 500px;
}

.menu-subgroup:hover .sub-sub-menu {
    max-height: 500px;
    transition: max-height 0.4s ease;
}

.menu-link.has-submenu::after {
    content: "❯";
    display: inline-block;
    transform: rotate(90deg);
    margin-left: .75rem;
    font-size: 1em;
    color: var(--900);
    transition: transform 0.2s ease;
}

.menu-link.open.has-submenu::after {
    transform: rotate(-90deg);
    transition: transform 0.2s ease;
}

.menu-link.with-icon {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.menu-link.with-icon i::before {
    vertical-align: 0.1rem;
}

.menu-underline {
    position: absolute;
    display: inline-block;
    background-color: #f3f3f3;
    width: 100%;
    left: 0;
    bottom: 0;
    height: 2px;
}

.menu-underline::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;
    height: 2px;
    background-color: var(--900);
    transition: width 450ms ease;
}

.mobile-menu-toggle:hover .menu-underline::after,
.mobile-menu-toggle.open .menu-underline::after,
.menu-item-link:hover .menu-underline::after,
.menu-link:hover .menu-underline::after,
.menu-item-link.active-underline .menu-underline::after{
    width: 100%;
}

.submenu-fa-icon {
    font-size: 1rem;
    width: 20px;
    text-align: center;
    flex-shrink: 0;
}

.submenu-logo {
    width: 80px;
    height: auto;
    flex-shrink: 0;
}

.hamburger-icon,
.mobile-menu-overlay {
    display: none;
}

.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: white;
    color: var(--900);
    padding: 10px 60px 0 60px;
    overflow-y: auto;
    z-index: 999;
    overflow-x: hidden;
    box-sizing: border-box;
    max-width: 100%;
    opacity: 1;
    pointer-events: revert;
    transition: all 300ms ease;
}

.mobile-menu-overlay.hidden {
    pointer-events: none;
    opacity: 0;
    transition: all 300ms ease;
}

/* Header bar */
.mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 4px;
    border-bottom: 2px solid var(--900);
    margin: 0 16px;
}

#mobile-menu .sub-sub-menu {
    padding-left: 1.5rem;
}


.menu-open {
    .hamburger-icon {
        display: none;
    }

    .mobile-menu-tabs {
        transform: translateX(0vw);
        transition: transform 600ms ease;
    }
}

.mobile-menu-item {
    opacity: 0;
    transform: translateX(-40vw);
}

.menu-close {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    text-align: left;
}

.menu-section {
    height: 100%;
}

/* Toggle sections */
.mobile-submenu {
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding-left: 1.5rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height 300ms ease;
}

.mobile-submenu a {
    color: var(--900);
    text-decoration: none;
}

.mobile-menu-sections {
    z-index: 1001;
    padding-right: 8px;
    width: 100%;
}

.mobile-menu-tabs {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    scrollbar-width: none;
    overflow-y: auto;
    padding: 16px 16px 60px 16px;
    transform: translateX(-10vw);
    transition: transform 300ms ease;

    .footer-info-login-container {
        padding-bottom: 60px;
    }
}

.mobile-menu-toggle {
    background: none;
    border: none;
    padding: 12px 6px 12px 0;
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0;
    transition: all 300ms ease;
}

.mobile-menu-icon-indicator {
    position: absolute;
    bottom: -2rem;
    right: -2rem;
    font-size: 12rem;
    color: white;
    opacity: 1;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 1000;
}

.topic-title {
    font-size: 14px;
    font-family: Gotham, sans-serif;
}
.topic-checkbox-group {
    display: flex;
    gap: 4px;
    justify-content: space-evenly;
    justify-items: stretch;
}

.input-field.checkbox-container {
    align-items: stretch;
}

.checkbox-label {
    position: relative;
    font-family: Gotham, sans-serif;
    display: inline-block;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid #afafaf;
    background: transparent;
    cursor: pointer;
    width: 100%;
    transition: all 0.2s ease;
    text-align: center;
}

.checkbox-label:hover {
    border: 1px solid var(--infrashield-lightblue);
    box-shadow: 0 0 1px 1px var(--infrashield-lightblue);
}

.contact-us-dark {
    .form-field-input:hover,
    .textarea:hover {
        border-color: var(--infrashield-lightblue);
    }

    .checkbox-label.checked {
        color: var(--900);
        background: white;
    }

    textarea::placeholder,
    input::placeholder {
        color: #c3c3c3;
    }
}

.checkbox-label input[type="checkbox"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.checkbox-label.checked {
    background: var(--900);
    color: white;
    border: 1px solid transparent;
    box-shadow: 0 0 10px 1px rgba(161, 161, 161, 0.3);
}

.animation-step-info,
.steps-column-right,
.step-cards-wrapper,
.step-cards-content {
    height: calc(var(--vh) * 80);
}

.wrapper-fix {
    width: 100%;
    height: 100%;
    position: relative;
    will-change: transform;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* optional fallback */
@supports not (--vh: 1vh) {
    .animation-step-info,
    .steps-column-right,
    .step-cards-wrapper,
    .step-cards-content {
        height: 80vh;
    }
}

.contact-us-form  {
    .letter-spacing {
        letter-spacing: -.01em;
    }

    .v-application {
        background: transparent;
        font-family: Gotham Book, Trebuchet MS, sans-serif;
    }

    .v-application__wrap {
        justify-content: center;
        min-height: initial;
    }

    .v-field {
        border-radius: 6px;
        font-family: Gotham Book, Trebuchet MS, sans-serif;
        input {
            height: 40px;
            min-height: initial;
            padding: 4px 16px;
        }

        .v-label {
            font-size: 14px;
        }

        .v-field-label--floating {
            font-size: 10px;
        }
    }

    textarea.v-field__input {
        height: 60px;
    }

    .form-field-padding {
        padding: 0 12px;
    }

    .v-btn-group {
        gap: 6px;
        height: 32px!important;
    }

    .v-btn-group .v-btn {
        font-size: 12px;
        letter-spacing: -.01em!important;
        height: 32px!important;
        padding: 8px 12px;
        border-radius: 6px;
        border: 1px solid var(--400);
        border-inline-end: var(--400)!important;
        border-inline-start: var(--400)!important;
    }

    .v-btn-group .v-btn:first-child,
    .v-btn-group .v-btn:last-child,
    .v-btn-group .v-btn {
        border-inline-start: 1px solid var(--400)!important;
        border-inline-end: 1px solid var(--400)!important;
        border-end-end-radius: 6px!important;
        border-start-end-radius: 6px!important;
        border-end-start-radius: 6px!important;
        border-start-start-radius: 6px!important;
    }

    .v-btn__overlay {
        background: transparent;
    }

    .v-btn {
        i {
            font-size: 12px;
        }
    }

    .submit-wrapper {
        .v-btn__content {
            font-size: 12px;
            padding: 12px 16px;
            border-right: 1px solid white;
        }

        .v-btn {
            display: flex;
            height: min-content;
            padding: 0;
            font-weight: 600;
        }

        .v-btn__append {
            margin: 0;
            padding: 12px 16px;
        }
    }

    .v-text-field .v-input__details {
        padding: 4px 0 8px;
    }

    .v-btn-toggle.wrap-toggle {
        display: flex !important;
        flex-wrap: wrap !important;
        white-space: normal !important;
        overflow: visible;
        height: fit-content !important;
    }
}

.contact-us-form-dark {
    .select-topics {
      color: white;
    }

    .v-btn-group .v-btn--variant-flat {
        background: transparent!important;
        color: white!important;
    }

    .v-btn-group .v-btn--active {
        background: white!important;
        color: var(--900)!important;
    }

    .v-field--error:not(.v-field--disabled) .v-field__outline,
    .v-field--error:not(.v-field--disabled) .v-label.v-field-label,
    .v-input--error:not(.v-input--disabled) .v-input__details .v-messages {
        color: rgb(255 143 132)!important;
    }

    .submit-wrapper {
        .bg-dark {
            background: white!important;
            color: var(--900)!important;
        }
        .v-btn__content {
            border-right: 1px solid var(--900) !important;
        }

    }

    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    textarea:-webkit-autofill,
    textarea:-webkit-autofill:hover,
    textarea:-webkit-autofill:focus,
    select:-webkit-autofill {
        -webkit-box-shadow: 0 0 0 1000px #101828 inset;
        box-shadow: 0 0 0 1000px #101828 inset;
        -webkit-text-fill-color: #ffffff;
        caret-color: white;
        transition: background-color 9999s ease-in-out 0s;
    }
}


.memberships-container {
    padding-top: 40px
}

.memberships-logo {
    max-height: 70px;
    height: auto;
    width: auto;
    max-width: 100%;
}

.logo-carousel-container {
    opacity: 0;
    transition: opacity 200ms ease-out;
}

.logo-carousel-container.carousel-ready {
    opacity: 1;
}

@media screen and (max-width: 1275px), (max-height: 500px) and (orientation: landscape) {
    .hamburger-icon {
        display: flex;
        top: 1rem;
        right: 1rem;
        font-size: 1.5rem;
        z-index: 1000;
        cursor: pointer;
        align-items: center;
    }

    .mobile-menu-overlay {
        display: flex;
        flex-direction: column;
        padding-bottom: 0!important;
    }
}

@media screen and (min-width: 992px) {
    .hide-carousel-nav-wrapper {
        display: none;
    }

    .contact-us-right-content {
        max-width: 450px;
    }

    .mobile-margin-offset {
        margin-bottom: 0;
    }
}

.locktobox-cut-wrapper {
    position: absolute;
}

@media screen and (max-width: 991px) {

    .tablet-max-width-100 {
        max-width: 100%;
    }
    
    .locktobox-cut-wrapper {
        position: relative;

        .locktobox-left-cut {
            top: 0;
            left: 0;
            position: relative;
        }
    }

    .tablet-100h {
        height: 100%;
    }

    .spacer.footer-spacer {
        height: 120vh;
    }
    .intro-card-icon {
        width: 40px;
    }

    .hero-icon-offset.hero-icon-tall {
        width: 40vw;
    }

    .mobile-no-margin-bottom {
        margin-bottom: 0;
    }

    .carousel-with-video {
        height: 50vh;
    }

    .h2-sales-cta {
        font-size: var(--font--font-size--2xl);
        line-height: var(--font--line-height--xl);
    }

    .contact-us-container {
        flex-flow: column;
        grid-row-gap: 32px;
    }
    .mobile-menu-overlay {
        padding: 10px 16px 16px;
    }

    .mobile-menu-tabs {
        padding: 16px 16px 0px;
    }

    .carousel-item {
        flex: 0 0 calc((100% - 1.5rem) / 2);
    }

    .left-side-line {
        top: 4px;
    }

    .inner-tab-titles .title {
        font-size: 12px;
    }

    .solutions-card-icon {
        font-size: 8rem;
        bottom: -2rem;
        right: -1rem;
    }

    .protecting-assets-video-resize {
        padding: 16px;
    }

    .video-mask-section .video-padding-match-container {
        padding: 0 16px 16px;
    }

    .mobile-flex-direction-column {
        flex-direction: column;
    }

    .mobile-flex-direction-row {
        flex-direction: row;
    }

    body {
        --font--family--medium: "Gotham Medium", "Trebuchet MS", sans-serif;
        --font--font-size--sm: 12px;
        --infrashield-lightblue: #69b2e1;
        --infrashield-lightest: #f2f8fd;
        --font--family--title: "Gotham Bold", "Trebuchet MS", sans-serif;
        --font--font-size--3xl: 38px;
        --font--line-height--2xl: 40px;
        --900: #101828;
        --font--font-size--body: 16px;
        --space--300: 12px;
        --space--400: 16px;
        --radius--medium: 8px;
        --font--family--body: "Gotham Book", "Trebuchet MS", sans-serif;
        --paddingwrappersides: 16px;
        --font--line-height--xs: 14px;
        --400: #a4a7ae;
        --300: #d7d7d7;
        --800: #252b37;
        --font--line-height--3xl: 44px;
        --font--font-size--xl: 24px;
        --maxwidthcontent: 1440px;
        --font--line-height--body: 22px;
        --infrashield-lighter: #c4dff3;
        --font--font-size--lg: 20px;
        --font--line-height--lg: 28px;
        --font--line-height--sm: 16px;
        --space--200: 8px;
        --font--font-size--5xl: 68px;
        --font--family--light: "Gotham Light", "Trebuchet MS", sans-serif;
        --font--font-size--2xl: 30px;
        --font--line-height--xl: 32px;
        --font--line-height--h3-line-height: 24px;
        --font--family--book: "Gotham Book", "Trebuchet MS", sans-serif;
        --font--family--header-2: "Gotham Bold", "Trebuchet MS", sans-serif;
        --font--font-size--4xl: 50px;
        --infrashield-darklight: #308bc7;
        --font--line-height--4xl: 46px;
        --font--font-size--xs: 10px;
        --infrashield-darkblueprimary: #1E6196;
        --body--size-medium: 16px;
        --font--family--header-4: "Gotham Medium", "Trebuchet MS", sans-serif;
        --radius--small: 4px;
        --radius--large: 16px;
        --radius--xlarge: 24px;
        --600: #535862;
        --white: white;
        --font--family--header-3: "Gotham Bold", "Trebuchet MS", sans-serif;
        --font--family--bold: "Gotham Bold", "Trebuchet MS", sans-serif;
        --stroke--border: 1px;
        --paddingBoxesContent: 80px 30px;
    }

    .solutions-column-wrapper {
        flex-flow: wrap;
        justify-content: flex-start;
        align-items: center;
        display: flex;
    }

    .solutions-card-list {
        flex-flow: column;
    }

    .contact-us-form {
        height: 100%;
    }

    .platform-tab-title {
        font-size: var(--font--font-size--sm);
        line-height: var(--font--line-height--xs);
    }

    .industry-sector-list {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .industry-sector-card-text {
        overflow: visible;
    }

    .stay-secure-header {
        max-width: 100%;
    }

    .platform-item-wrapper {
        flex-flow: column;
        align-items: flex-start;
    }

    .become-styling.text-drop-shadow {
        font-size: 30px;
        line-height: 32px;
    }

    .process-header-wrapper {
        max-width: 100%;
    }

    .peeps-shield-img {
        width: 35vh;
        top: -5vh;
        left: -5vh;
        bottom: auto;
        right: auto;
    }

    .intro-header-wrapper {
        grid-column-gap: 16px;
        grid-row-gap: 16px;
        flex-flow: column;
    }

    .what-comes-next {
        padding: 30px var(--paddingwrappersides);
    }

    .stay-secure-content {
        grid-row-gap: 8px;
        flex-flow: column;
    }

    .mobile-mt-0 {
        margin-top: 0;
    }

    .clients-section.mobile-mt-0 {
        margin-top: 0;
    }

    .why-infrashield {
        justify-content: start;
    }

    .core-capabilities-list .solutions-card {
        padding-right: 80px;
    }
}

@media screen and (min-width: 768px) {
    .hero-content {
        padding-top: 60px;
    }
    .solutions-left-column {
        max-width: 20vw;
    }

    .core-capabilities-container {
        padding-bottom: 240px;
    }

    .hero-icon-offset.hero-icon-tall {
        transform: scale(.6) translate(40%, 10vh);
        transform-origin: bottom;
    }

    section:first-of-type > .intro-content-clip-wrapper > .intro-content > .intro-header-wrapper  {
        padding-right: 20%;
    }
}

@media screen and (min-width: 700px) {
    .tablet-flex-direction-row {
        flex-direction: row;
    }
}

@media screen and (max-width: 767px) {

    .h4-styling {
        font-size: 12px;
        line-height: 14px;
    }

    .arrow-icon-list {
        color: white;
        font-family: "Font Awesome 6 Pro";
        font-weight: 900;
        content: '\f061';
        opacity: .5;
        margin-left: 8px;
        transition: opacity 0.3s ease;
        &:before {
            content: '\f061';
        }
    }

    .sales-cta-spacer.spacer {
        display: none;
    }

    .mobile-pt-0 {
        padding-top: 0;
    }

    .carousel-with-video {
        height: 60vh;
    }

    .hacker-graphic, .calendar-graphic, .top-right-floater-icon {
        height: 250px;
        position: absolute;
        inset: -50px -20px auto auto;
    }

    .hero-infrashield-icon {
        font-size: 4rem;
    }

    .video-mask-section.intro-section {
        padding: 0 0 60px;
    }
    .robot-arm-wrapper {
        max-width: 35vw;
        transform: rotate(15deg) translate(-20vw, -10vw);
    }

    .carousel-item {
        flex: 0 0 calc(100%);
    }

    .mobile-menu-overlay {
        padding: 10px 16px 0 16px;
    }

    .protecting-the-world {
        padding: 3rem 0 4rem 1rem;
        transform: translateX(-1rem);
    }

    .core-capabilities-list .solutions-card {
        padding: 80px 80px 80px 30px;
    }

    .mobile-100w {
        width: 100%;
    }

    section:first-of-type .intro-content-clip-wrapper {
        padding-top: 80px;
    }

    .intro-header-wrapper {
        padding: 60px 30px;
    }

    .right-floating-image-container {
        width: 60%;
    }

    .mobile-no-margin {
        .cables-container {
            top: -18vh;
            width: 25vh;
            left: -10vh;
        }

        .right-floating-image-container {
            inset: auto -10% -5% auto;
        }
    }

    .inner-tab-card .icon {
        font-size: 8rem;
        bottom: -1rem;
        right: -4rem;
    }

    .inner-tab-titles {
       width: 35%;
    }

    .inner-tab-wrapper {
        height: 85vh;
    }

    .inner-tab-card {
        padding: 1.5rem;
        padding-top: 2rem;

        .h3-styling {
            padding-bottom: 4px;
        }
    }

    .product-title-max-width {
        max-width: 30vw;
    }

    .nav-scrolling-offset-active {
        transform: translateY(-60px);
        transition: transform 300ms ease;
    }

    .scroll-text {
        display: none;
    }

    .solutions-card-icon {
        font-size: 5rem;
        bottom: -1rem;
        right: -1rem;
    }

    .p-styling {
        font-size: 14px;
        line-height: 20px;
    }

    .solutions-section-padding.pt-120 {
        padding-top: 60px;
    }
    .solutions-card-product-logo {
        width: 100px;
    }

    .mobile-px {
        padding-left: 30px;
        padding-right: 30px;
    }
    .core-programs .program-tabs {
        grid-template-columns: 1fr;
        height: 250vh;

        .h3-styling {
            font-size: 2rem;
        }
    }

    .animated-background {
        height: 120vh!important;
    }

    .infrashield-icon-video-mask.hero-icon-offset {
        transform: translate(35%, -70vh);
    }

    .hero-icon-offset:not(.infrashield-icon-video-mask) {
        transform: translate(35%, -80vh);
        max-height: 140px;
    }

    .steps-container {
        max-width: 200px;
    }

    .mobile-150vh {
        height: 150vh;
    }

    .mobile-margin-top {
        margin-top: -100%;
    }

    .solutions-section-padding {
        padding: 0 0;
    }

    .gradient-test {
        background-image: linear-gradient(#101828 60%, #10182800 80%);
        height: 300px;
    }

    .gradient-top-white {
        background-image: linear-gradient(#fff 60%, rgba(255, 255, 255, 0) 80%);
        height: 300px;
    }

    .nav-scrolling-offset-active
    + .gradient-sticky-top
    .gradient-test {
        background-image: linear-gradient(#101828 40%, #10182800 70%);
    }

    .nav-scrolling-offset-active
    + .gradient-sticky-top
    .gradient-top-white {
        background-image: linear-gradient(#fff 40%, rgba(255, 255, 255, 0) 70%);
    }


    body {
        --paddingwrappersides: 16px;
    }

    .solutions-column-wrapper {
        flex-flow: wrap;
        justify-content: flex-end;
        align-items: center;
        width: 100%;
        position: relative;
    }

    .solutions-card-list {
        flex-flow: column;
        justify-content: flex-start;
        align-items: flex-start;
        width: 100%;
    }

    .solutions-card {
        justify-content: center;
        align-items: flex-start;
        width: 100%;
        height: 100%;
        padding: 60px 24px;
    }

    .company-logo {
        width: 150px;
    }

    .hero-ctas {
        order: 2;
        justify-content: flex-start;
        align-items: center;
    }

    .step-layers,
    .step-layer-final {
        width: 100%;
    }

    .step-layer-final {
        transform: translateY(-6%);
    }

    .four-securities-section {
        padding-top: 0;
    }

    .product-icon-sticky-wrapper {
        z-index: 16;
    }

    .animation-container {
        grid-row-gap: 16px;
        flex-flow: column;
    }

    .step-number {
        display: flex;
    }

    .clients-section {
        margin-top: -100vh;
    }

    .clients-background-image {
        width: 25vh;
        top: -10vh;
        bottom: auto;
        right: auto;
    }

    .newsletter-cta-section {
        margin-top: -50px;
        overflow: visible;
        margin-bottom: 25vh;
    }

    .join-newsletter-right-content {
        justify-content: center;
    }

    .get-thefix {
        font-size: var(--font--font-size--xl);
    }

    .footer {
        padding-bottom: 40px;
    }

    .footer-info-login-container {
        grid-row-gap: 16px;
        flex-flow: column;
        justify-content: space-between;
        align-items: flex-start;
    }

    .footer-attack-content.footer-client-portal {
        justify-content: flex-start;
        align-items: flex-start;
    }

    .footer-contact {
        grid-column-gap: 32px;
        grid-row-gap: 32px;
        flex-flow: column;
        justify-content: space-between;
        align-items: flex-start;
        padding-top: 20px;
    }

    .contact-icons {
        grid-row-gap: 32px;
        flex-flow: column;
        justify-content: flex-end;
        align-items: flex-start;
    }

    .hero-content {
        flex-flow: column;
        justify-content: center;
        align-items: flex-start;
    }

    .hero-header-h1.custom-h1 {
        font-size: var(--font--font-size--xl);
        text-align: left;
        justify-content: flex-start;
    }

    .hero-header-tagline {
        font-size: var(--font--font-size--2xl);
        line-height: var(--font--font-size--2xl);
    }

    .header-wrapper {
        padding: 80px 0 0 0;
    }

    .h3-styling {
        font-size: var(--font--font-size--body);
        line-height: var(--font--line-height--body);
    }

    .h3-styling.text-dark {
        font-size: var(--font--font-size--body);
        line-height: var(--font--line-height--body);
    }

    .h3-styling.h3-custom-platform {
        font-size: 14px;
        line-height: var(--font--font-size--lg);
    }

    .p-styling {
        font-size: 14px;
        line-height: var(--font--font-size--lg);
        position: static;
    }

    .p-styling.p-dark {
        justify-content: flex-start;
    }

    .p-styling.p-dark.p-styling-mobile {
        font-size: 12px;
        line-height: 18px;
    }

    .p-styling.get-secured-bar-p-styling {
        font-size: var(--font--font-size--sm);
        line-height: var(--font--font-size--body);
    }

    .p-styling.contact-us-mobile-p-styling {
        font-size: 14px;
        line-height: var(--font--line-height--body);
    }

    .p-styling.card-mobile-p-styling {
        font-size: 14px;
        line-height: 20px;
    }

    .p-styling.malware-p {
        font-size: 14px;
        line-height: var(--font--font-size--lg);
    }

    .h2-styling {
        font-size: var(--font--font-size--2xl);
        line-height: var(--font--line-height--xl);
    }

    .h2-styling.text-dark.how-we-do-it-dynamic-text {
        color: var(--infrashield-darklight)!important;
        font-size: var(--font--font-size--lg);
        line-height: var(--font--line-height--body);
        justify-content: center;
        align-items: center;
        display: flex;
    }

    .h2-styling.h2-custom-width {
        font-size: var(--font--font-size--xl);
        line-height: var(--font--line-height--body);
    }

    .h2-styling.h2-custom-width.text-dark {
        font-size: var(--font--font-size--xl);
        line-height: var(--font--line-height--lg);
    }

    .h2-styling.tactical-mobile {
        font-size: var(--font--font-size--2xl);
        line-height: var(--font--line-height--xl);
    }

    .animation-wrapper {
        justify-content: flex-end;
        width: 60vw;
        height: 100%;
    }

    .steps-cards-content {
        justify-content: center;
        align-items: flex-start;
        padding: 0 16px 0;
    }

    .platform-top-content-wrapper {
        padding-top: 60px;
        padding-right: var(--paddingwrappersides);
        padding-left: var(--paddingwrappersides);
    }

    .platform-tab-title {
        font-size: var(--font--font-size--sm);
        line-height: var(--font--line-height--sm);
        text-align: left;
    }

    .platform-tab.active {
        text-align: left;
    }

    .platform-card {
        padding-left: 30px;
        padding-right: 30px;
    }

    .platform-card.get-secured-card {
        width: 100%;
    }

    .get-secured-text {
        max-width: 90vw;
    }

    .get-secured-text.p-styling {
        max-width: 350px;
    }

    .get-secured-text.p-styling.get-secured-p-styling,
    .get-secured-text.get-secured-p-styling,
    .get-secured-text.get-secured-p-styling.get-secured-text-even {
        font-size: 14px;
        line-height: var(--font--line-height--body);
        max-width: 85vw;
    }

    .partners-content-container {
        width: 100%;
    }

    .partners-content {
        grid-column-gap: 16px;
        grid-row-gap: 16px;
        height: 100%;
        padding-left: 30px;
        padding-right: 30px;
    }

    .industry-sector-list {
        grid-template-columns: 1fr 1fr;
    }

    .industry-sector-card {
        width: 250px;
    }

    .join-newsletter-wrapper {
        height: 50vh;
    }

    .join-newsletter-wrapper.clip-on-white-background {
        flex-flow: column;
    }

    .join-newsletter-left {
        border-right-width: 0;
        align-items: flex-start;
        width: 100%;
        padding-left: 30px;
        padding-right: 30px;
        position: relative;
    }

    .join-newsletter-right {
        border-top: 1px solid #000;
        border-left-style: none;
        width: 100%;
        height: 120px;
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .salesctacontent {
        flex-flow: column;
        justify-content: center;
        align-items: flex-start;
        padding-top: 30px;
        padding-bottom: 15px;
    }

    .contact-us-left-content {
        grid-row-gap: 16px;
        justify-content: flex-start;
    }

    .footer-info-wrapper {
        grid-column-gap: 48px;
        grid-row-gap: 48px;
        flex-flow: column;
    }

    .hero-header {
        flex-flow: column;
        justify-content: center;
        align-items: flex-start;
    }

    .solutions-right-column {
        justify-content: flex-end;
        align-items: center;
        display: flex;
    }

    .spacer {
        height: 150vh;
    }

    .blog-articles {
        overflow: visible;
    }

    .stay-secure-header {
        justify-content: flex-start;
        align-items: center;
        padding-top: 0;
        padding-bottom: 0;
    }

    .stay-secure-header.defending-data-header {
        grid-column-gap: 16px;
    }

    .stay-secure-header.stay-secure-header-border-white {
        max-width: 100%;
    }

    .stay-secure-info {
        border-left-width: 0;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 0;
    }

    .extra-space-after-animation.client-extra-space {
        border-style: none;
        margin-top: -50vh;
    }

    .infrashield-icon-asset {
        justify-content: flex-end;
        align-items: flex-start;
        width: 200px;
        display: flex;
    }

    .blog-articles-section {
        width: 100%;
        overflow: visible;
    }

    .platform-top-content {
        flex-flow: column;
    }

    .platform-item-wrapper {
        text-align: left;
        flex-flow: column;
        justify-content: flex-start;
        align-items: center;
    }

    .contact-us-container {
        grid-column-gap: 32px;
        grid-row-gap: 32px;
        flex-flow: column;
        justify-content: center;
        align-items: flex-start;
        height: 100%;
    }

    .privacy-policy .contact-us-container {
        padding: 60px 30px;
    }

    .solutions-wrapper {
        grid-column-gap: 16px;
    }

    .gradient-sticky-top {
        height: 450vh;
    }

    .step-card-media {
        width: 100%;
        height: 250px;
    }

    .simplifying-security-section {
        margin-top: 0;
        padding-top: 120px;
    }

    .platform-card-inner-container,
    .platform-card-inner-container.infrashield-solutions-card {
        flex-flow: column;
    }

    .platform-first-card.get-secured-card {
        padding-top: 30px;
        padding-left: 0;
        padding-right: 30px;
    }

    .steps-cards-title {
        display: flex;
    }

    .card-title-styling {
        font-size: var(--font--font-size--lg);
        line-height: var(--font--font-size--xl);
    }

    .card-title-styling.card-mobile-title-styling {
        font-size: var(--font--font-size--lg);
        line-height: var(--font--line-height--body);
    }

    .card-title-styling.intro-card-styling {
        font-size: 1em;
        line-height: 1.3em;
    }

    .simplifying-security-header {
        padding-right: 16px;
    }

    .simplifying-security-content {
        grid-row-gap: 8px;
        flex-flow: column;
        padding-left: 0;
        padding-right: 0;
        display: flex;
    }

    .card-icon {
        width: 35px;
    }

    .animation-sticky-gradient-wrapper {
        pointer-events: none;
        cursor: none;
    }

    .cables-container {
        width: 25vh;
        top: 5vh;
        left: -10vh;
    }

    .animation-sticky-container {
        justify-content: center;
        padding: 0 16px;
    }

    .partners-info-container {
        padding-right: 30px;
    }

    .intro-content-clip-wrapper.malware-content-wrapper {
        margin-top: 0;
        top: 5vh;
    }

    .lock-icon-img.lock-icon-dark {
        width: 15px;
    }

    .protecting-content-right {
        justify-content: flex-end;
        align-items: center;
    }

    .protecting-content-container {
        padding-left: 30px;
        padding-right: 30px;
    }

    .protecting-content-container.protecting-right {
        padding-right: 0;
    }

    .protecting-content-container.protecting-left {
        padding-left: 0;
    }

    .protecting-content-left,
    .client-header-container {
        justify-content: flex-start;
        align-items: center;
    }

    .intro-header-wrapper.leading-platform-container {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .hero-ctas-and-h1 {
        flex-direction: column;
        justify-content: space-around;
        align-items: flex-start;
        width: 100%;
        padding: 10vh 0 0;
        background: transparent;
        backdrop-filter: blur(0px);

        .hero-header-h1.custom-h1 {
            color: white;
        }
    }

    p.hero-header-tagline {
        font-size: 30px;
        padding: 0;
    }

    .client-header-wrapper {
        grid-row-gap: 16px;
        flex-flow: column;
        padding-left: 0;
        padding-right: 0;
    }

    .client-header-info {
        border-left-width: 0;
        max-width: 100%;
        padding-left: 0;
    }

    .chess-piece-img {
        width: 75px;
    }

    .become-styling {
        font-size: var(--font--font-size--2xl);
        line-height: var(--font--line-height--xl);
    }

    .become-styling.text-drop-shadow {
        font-size: var(--font--font-size--xl);
        line-height: var(--font--line-height--lg);
    }

    .intro-solutions-right {
        border-top: 1px solid #fff;
        width: 100%;
    }

    .intro-solutions-left {
        border-right-width: 0;
        padding-top: 8px;
        padding-bottom: 8px;
        padding-left: 30px;
    }

    .intro-card {
        height: 70px;
    }

    .intro-card-text {
        width: 100%;
    }

    .intro-card-icon {
        font-size: 25px;
    }

    .gradient-bottom-sticky {
        height: 550vh;
    }

    .get-secured-problem-container,
    .get-secured-solution-container {
        width: 100%;
    }

    .step-card-list-container {
        font-size: var(--font--font-size--sm);
        line-height: 18px;
    }

    .header-content-right-side {
        grid-column-gap: 16px;
        grid-row-gap: 16px;
        flex-flow: column;
        display: flex;
    }

    .be-secure-infrashield-content {
        flex-flow: column;
        padding-left: 0;
        padding-right: 0;
    }

    .solutions-header-icon-wrapper {
        opacity: 0;
    }

    .step-card-section-icon {
        font-size: 25px;
    }

    .platform-card-inner-peeps-text {
        flex-flow: column;
    }

    .process-header-wrapper {
        justify-content: flex-start;
        align-items: center;
        padding-top: 0;
        padding-bottom: 0;
    }

    .process-header-wrapper.defending-data-header {
        grid-column-gap: 16px;
    }

    .process-header-wrapper.stay-secure-header-border-white {
        max-width: 100%;
    }

    #how-we-protect-it .spacer.process-spacer {
        height: 600vh;
    }

    .salesctacontent {
        padding: 120px 0;
        position: relative;
        height: 100%;
    }

    .hero-cta-system.hero-cta-system {
        justify-content: flex-start;
    }

    .mobile-no-sticky {
        position: relative;
        top: auto;
        height: 100%!important;
    }

    .mobile-no-margin {
        margin: 0;
    }

    .mobile-100 {
        height: 100%!important;
    }

    .mobile-100vh {
        height: 100vh!important;
    }

    .platform-cards-container-wrapper {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .product-logo-size {
        width: 100px;
    }

    .solutions-wrapper {
        flex-direction: column;
    }

    .solutions-left-column,
    .solutions-right-column{
        padding-left: 30px;
        padding-right: 16px;
    }

    .solutions-left-column {
        padding-bottom: 16px;
        border-bottom: 1px solid white;
    }

    .background-white {
        .solutions-left-column {
            background: white;
            border-bottom: 1px solid var(--900);
        }

        .animated-background-light {
            display: none;
        }
    }

    .four-securities-section:not(.background-white) {
        .solutions-left-column {
            background: var(--900);
            border-bottom: 1px solid white;
        }

        .animated-background {
            display: none;
        }
    }

    .product-icon-sticky {
        top: 30px;
        right: 0;
        padding-top: 0;
        transform: translateX(25px);
        margin-left: auto;
        margin-right: revert;
        width: 30%;
    }

    .product-title-max-width {
        max-width: 65vw;
    }

    .feature-icon-bg {
        font-size: 4rem;
    }

    .tab .tab-title {
        font-size: .75rem!important;
    }

    .tab {
        padding: 16px 12px;
        width: 100%;
    }

    .tabs {
        justify-content: space-between;
    }

    .features-tab-content.active {
        clip-path: polygon(
                0     0,                         /* top-left */
                100%  0,                         /* top-right */
                100%  calc(100% - 16px),        /* 16px above bottom-right */
                calc(100% - 16px)  100%,        /* 16px left of bottom-right */
                0     100%                      /* bottom-left */
        );
    }

    .step-number .h3-styling {
        font-size: 12px;
    }

    .step-number {
        padding: 12px;
    }

    .step-animation li {
        width: 90%;
        padding-bottom: 0;
        font-size: 12px;
        line-height: 16px;
    }

    .inner-ul {
        padding-top: 0;
    }

    .steps-card-icon {
        width: 25%;
        inset: 16px 16px auto auto;
    }

    .locktobox-peeps-icon {
        width: 60vw;
        top: 20vh;
        left: -20vw;
    }

    .locktobox-product {
        .product-info-wrapper {
            padding-top: 30px;
            padding-left: 30px;
        }
    }
}
@media screen and (max-width: 550px) {
    .topic-checkbox-group {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .checkbox-label {
        width: revert;
    }
}

@media screen and (max-width: 479px) {

    .step-number .h3-styling {
        display: none;
    }

    .steps-container {
        max-width: 100px;
    }

    .solutions-column-wrapper {
        flex-flow: wrap;
    }

    .contact-us-form {
        height: 100%;
    }

    .clients-background-image {
        top: -20vh;
    }

    .hero-header-h1.custom-h1 {
        font-size: var(--font--font-size--lg);
        justify-content: flex-start;
        align-items: center;
    }

    .hero-header-tagline {
        font-size: var(--font--font-size--2xl);
        line-height: var(--font--line-height--xl);
    }

    .p-styling,
    .p-styling.p-dark.p-styling-mobile {
        font-size: 14px;
        line-height: var(--font--line-height--body);
    }

    .h2-styling.h2-solutions {
        font-size: var(--font--font-size--lg);
        line-height: var(--font--line-height--body);
    }

    .platform-tab-title {
        font-size: var(--font--font-size--xs);
        line-height: var(--font--font-size--sm);
    }

    .contact-us-left-content {
        padding-right: 0;
    }

    .form-field-wrapper {
        max-width: 100%;
        overflow: visible;
    }

    .contact-us-container {
        justify-content: center;
        align-items: center;
    }

    .privacy-policy .contact-us-container {
        padding-bottom: 60px;
    }

    .become-styling {
        font-size: var(--font--font-size--xl);
        line-height: var(--font--line-height--lg);
        text-align: left;
    }

    .intro-solutions-left {
        width: 100%;
        padding-top: 4px;
        padding-bottom: 4px;
    }

    .step-card-list-container {
        font-size: 12px;
        line-height: 18px;
    }
}



@media screen and (orientation:landscape)
and (max-device-width: 1275px) {

    .hero-content {
        padding-top: 0px;
    }

    .mobile-landscape-py-0 {
        padding-top: 0;
        padding-bottom: 0;
    }

    section:first-of-type > .intro-content-clip-wrapper > .intro-content > .intro-header-wrapper {
        padding-right: 20%;
    }

    .hero-icon-offset:not(.infrashield-icon-video-mask).hero-icon-tall {
        transform: translate(35%, -40vh);
    }

    .hero-icon-offset.hero-icon-tall {
        width: 40vw;
    }

    .intro-section.py-0.px-0.mb--100.mobile-no-margin.height-250vh.mobile-100.mobile-landscape-100.z-30 {
        margin: 0;
        height: 250vh;

        .intro-content-clip-wrapper.padding-sections.top-0.height-100vh.mobile-100.mobile-no-sticky.py-120 {
            height: 100%;

            .align-items-start.flex-direction-column.gap-4 {
                width: 100%;
            }
        }
    }

    .core-programs .program-tabs {
        height: 80vh;

        .tab-content {
            padding: 1rem;
        }

        .tab-header {
            padding: 0 0 2rem 1rem;
        }
    }

    .why-infrashield .stay-secure-info.max-width-900 {
        max-width: 100%;
    }

    .solutions-right-column.mobile-pt-0 {
        padding-top: 60px;
    }

    .carousel-with-video {
        height: 80vh;
    }

    .vtraq-step-container {
        .simplifying-security-wrapper {
            align-items: flex-start;
            width: max-content;
        }

        .h2-styling {
            font-size: 16px;
        }
    }
    .hero-icon-offset:not(.infrashield-icon-video-mask) {
        transform: translate(35%, -45vh);
    }

    .four-securities-section {
        .solutions-left-column {
            background: transparent!important;
            border-bottom: none!important;
        }
    }

    .sales-cta-laptop {
        bottom: -8%;
    }

    .carousel-item {
        flex: 0 0 calc((100% - 1.5rem) / 2);
    }

    .newsletter-cta-section {
        margin-bottom: -100vh;
    }

    .footer-info-login-container {
        flex-flow: row;
    }

    .footer-attack-content.footer-client-portal {
        align-items: flex-end;
    }

    .spacer.footer-spacer {
        height: 200vh;
    }

    .hero-header-h1.custom-h1 {
        justify-content: flex-end;
        font-size: 18px!important;
        line-height: 22px;
    }

    .nav-scrolling-offset-active {
        transform: translateY(-60px);
        transition: transform 300ms ease;
    }

    .protecting-the-world {
        padding: 4rem 0 0 4rem;
        border-radius: 16px;
        backdrop-filter: none;
        background: radial-gradient(ellipse at top left, rgb(6, 78, 124) 10%, rgba(255, 255, 255, 0) 60%);
    }

    .h2-styling.text-dark.how-we-do-it-dynamic-text {
        height: 60px;
    }

    .animation-container {
        grid-row-gap: 16px;
        grid-column-gap: 8px;
        flex-flow: row;
    }

    .step-number .h3-styling {
        font-size: 12px;
    }

    .step-number {
        padding: 12px;
        p:first-of-type {
            display: none;
        }
    }

    .steps-card-icon {
        width: 15%;
        inset: 16px 16px auto auto;
    }

    .steps-cards-content li {
        font-size: 12px;
        padding-bottom: 4px;
    }

    .animation-wrapper {
        justify-content: center;
        width: 35vw;
    }

    .simplifying-security-section {
        padding-top: 80px;
    }

    .robot-arm-wrapper {
        max-width: 30vw;
    }

    #how-we-protect-it {
        padding-top: 0;
    }

    section:first-of-type .intro-content-clip-wrapper {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .inner-tab-wrapper {
        height: 85vh;
    }

    .inner-tab-card {
        padding-right: 4rem;
    }

    .inner-tab-card .icon {
        font-size: 8rem;
        right: -2rem;
        bottom: -2rem;
    }

    .product-title {
        padding-right: 0;
    }

    .product-icon-sticky {
        position: sticky;
        padding-top: 280px;
        max-width: 20vw;
        margin-right: auto;
        transform: translateX(-40vw);
        padding-bottom: 240px;
        width: 55%;
        top: -80px;
    }

    .product-icon-sticky-wrapper {
        z-index: 14;
    }

    .solutions-left-column {
        backdrop-filter: none;
        padding-bottom: 16px;
        border-bottom: 0 solid white;
        max-width: 200px;
        padding-right: 0;
    }

    .solutions-right-column {
        padding-left: 0;
    }

    .solutions-card {
        padding-right: 90px;
    }

    .solutions-wrapper {
        flex-direction: row;
    }

    .header-wrapper {
        padding: 80px 0 0 0;
        align-items: flex-start;
    }

    .form-field-label {
        font-size: 12px;
    }

    .infrashield-icon-video-mask.hero-icon-offset {
        width: 80%!important;
        transform: translate(40%, -5vh);
    }

    .hero-icon-offset {
        width: 25% !important;
        transform: translate(35%, -60vh);
    }

    .sales-cta-section {
        padding: 60px 16px;
    }

    .landscape-max-width-250 {
        max-width: 250px;
    }

    .mobile-landscape-100 {
        height: 100%!important;
    }

    .mobile-landscape-no-margin {
        margin: 0!important;
    }

    .mobile-landscape-row {
        flex-direction: row;
    }

    .mobile-landscape-column {
        flex-direction: column;
    }

    .hero-header-tagline {
        font-size: 4vw;
        line-height: 4vw;
    }

    .mobile-landscape-no-sticky {
        position: relative;
    }

    .mobile-landscape-no-margin .cables-container {
        width: 25vw;
        left: 0;
        inset: -15vh auto auto -12vw;
    }

    .mobile-landscape-100.mobile-landscape-no-sticky .intro-content-clip-wrapper {
        padding-top: 40px;
    }

    .cables-container {
        width: 25vw;
        inset: -25vh auto auto -10vw;
    }

    .mobile-no-margin .right-floating-image-container {
        inset: auto 0 -10% auto;
        width: 40%;
    }

    .right-floating-image-container {
        inset: auto 0 35% auto;
        width: 40%;
    }

    .h2-styling,
    .h2-styling.h2-custom-width {
        font-size: 3vw;
        line-height: 3vw;
    }

    .hero-content {
        flex-flow: row;
        align-items: center;
    }

    .hero-ctas-and-h1 {
        padding-bottom: 0;
        max-width: 300px;
        flex-direction: column;
        backdrop-filter: none;
        align-items: flex-end;
        padding: 0;
    }

    .malware-intro-content .intro-header-wrapper:nth-child(1) {
        flex-direction: column;
        grid-row-gap: 16px;
    }

    .intro-card {
        height: 80px;
    }

    .h3-styling,
    .h3-styling.text-dark,
    .card-title-styling {
        font-size: 2vw;
        line-height: 2vw;
    }

    .h2-styling.text-dark.how-we-do-it-dynamic-text {
        font-size: 2vw;
        line-height: 2vw;
    }

    .intro-header-wrapper,
    .intro-header-wrapper.leading-platform-container {
        padding: 40px;
    }

    .intro-solutions-left {
        padding-left: 40px;
    }

    .card-title-styling.intro-card-styling {
        font-size: 1em;
        line-height: 1.5em;
    }

    .stay-secure-content {
        padding: 30px;
    }

    .simplifying-security-content .stay-secure-info {
        padding: 16px 0 40px 0;
        max-width: 100%;
    }

    .stay-secure-header {
        width: 100%;
    }

    #what-we-protect .intro-content-clip-wrapper {
        top: 5px;
    }

    #be-secure .intro-content-clip-wrapper {
        top: 150px;
    }

    .infrashield-icon-asset {
        width: 250px;
    }

    .p-styling {
        font-size: 14px;
        line-height: 20px;
    }

    .step-card-list-container li,
    .step-card-list-container ul {
        font-size: 12px;
        line-height: 18px;
    }

    .steps-cards-content,
    .steps-column-right .step-cards-wrapper {
        height: 100%;
    }

    #how-we-protect-it .spacer.process-spacer {
        height: 700vh;
    }

    .steps-cards-content {
        padding: 16px;
    }

    .clients-section {
        padding-top: 120px;
    }

    .client-header-wrapper {
        z-index: 4;
        grid-column-gap: 64px;
        grid-row-gap: 32px;
        padding-left: 40px;
        padding-right: 40px;
    }

    .protecting-content-left,
    .become-styling.text-drop-shadow {
        top: 47vh;
    }

    .platform-tab {
        padding: 8px 16px;
    }

    .platform-tabs-wrapper {
        max-width: 60%;
    }

    .platform-bar-container {
        top: 120px !important;
    }

    .salesctacontent {
        padding: 0;
        position: relative;
        height: 100%;
    }

    .sales-cta-spacer.spacer {
        height: 100vh;
    }

    .footer,
    .footer-section {
        height: 100%;
    }

    .join-newsletter-wrapper {
        height: 60vh;
    }

    .core-capabilities-container,
    .solutions-section-padding.py-120 {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .video-mask-section.intro-section {
        padding-bottom: 60px;
    }
}

@media screen and (orientation:landscape)
and (max-device-width: 991px) {
    .core-programs .program-tabs {
        height: 100%;

        .program-tab {
            height: 100vh;
        }

        .tab-content {
            padding: 2rem;
        }

        .tab-header {
            padding: 0 0 3rem 2rem;
        }
    }
}


@media (orientation: portrait) and (min-width: 1000px) {
    #what-we-protect {
        height: 100%!important;
    }

    .intro-section .hero-icon-offset.infrashield-icon-video-mask{
        transform: translate(40%, 15vh) !important;
        width: 200vw !important;
    }

    .cursor-wrapper,
    .custom-cursor {
        display: none !important;
    }
}

@media screen and (min-width: 767px) {
    #contact {
        scroll-margin-top: calc(-1 * 100vh);
    }
}