/* =========================================================
   DIVI NAVIGATION & MAIN CONTENT
   ========================================================= */

#main-content {
    padding-top: 96px;
    min-height: 500px;
}
#page-container .et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu {
	background: #06080f!important;
}
.et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before, .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__search-button, .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__close-search-button, .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__cart-button {
	color: #fff!important;
}
.et-menu-nav li ul.sub-menu{
	background:#0c1424;
	border:1px solid rgba(21,101,255,.15);
	border-radius:.75rem;
	box-shadow:0 20px 40px rgba(0,0,0,.35);
	padding:0;
	width:280px;
	left:auto;
	right:0;
	overflow:hidden;
	transform:translateY(-6px);
	transition:opacity .25s ease, transform .25s ease;
}
.et-menu-nav li:hover > ul.sub-menu,
.et-menu-nav li.et-hover > ul.sub-menu{
	transform:translateY(0);
}

.et-menu-nav li ul.sub-menu li{
	margin:0;
}
.et-menu-nav li ul.sub-menu a{
	display:block;
	padding:.75rem 1rem;
	color:#94a8c8;
	font-size:.85rem;
	font-weight:400;
	white-space:normal;
	line-height:1.4;
	transition:background-color .2s ease, color .2s ease, padding-left .2s ease;
}
.et-menu-nav li ul.sub-menu a:hover{
	background:rgba(21,101,255,.12);
	color:#fff;
	padding-left:1.25rem;
}
.et-menu-nav li ul.sub-menu li.current-menu-item > a{
	color:#1565FF;
}
.et-menu-nav li ul.sub-menu li ul.sub-menu{
	background:#111d33;
}
body.ogis-light .et-menu-nav li ul.sub-menu{
	background:#ffffff;
	border-color:#E2E8F0;
	box-shadow:0 20px 40px rgba(17,24,39,.12);
}
body.ogis-light .et-menu-nav li ul.sub-menu li ul.sub-menu{
	background:#F8FAFC;
}
body.ogis-light .et-menu-nav li ul.sub-menu a{
	color:#334155;
}
body.ogis-light .et-menu-nav li ul.sub-menu a:hover{
	background:rgba(21,101,255,.08);
	color:#0A2D62;
}
body.ogis-light .et-menu-nav li ul.sub-menu li.current-menu-item > a{
	color:#1565FF;
}

/* Glass/blur dropdown hover treatment. */
.et_dropdown_animation_fade.et_pb_menu ul li:hover>ul{
	padding:10px;
	background-color:rgba(255, 255, 255, 0.3);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
}
.et-menu-nav li ul.sub-menu li{
	width:100%;
	padding:0;
}
.et_pb_menu_0_tb_header.et_pb_menu ul li a{
	width:100%;
	padding:10px;
}
/* =========================================================
   TYPOGRAPHY & BADGES
   ========================================================= */

.ogis-cta-ctas {
    display: flex;
    flex-wrap: wrap;
}

.ogis-cta-ctas.text-center {
    justify-content: center;
    gap: 15px;
}

.ogis-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 1rem 2rem;
    border-radius: 0.75rem;
    background: linear-gradient(135deg, #1565FF, #7C3AED);
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    transition: all 0.25s ease;
}

.ogis-btn-primary:hover {
    color: #fff;
    opacity: 0.9;
    box-shadow: 0 0 30px rgba(21, 101, 255, 0.45);
}

.ogis-cta-ctas .ogis-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0.75rem;
    background: transparent;
    color: var(--ogis-text-nav);
    font-size: 0.875rem;
}

.ogis-cta-ctas .ogis-btn-secondary:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.5);
}

.ogis-coming-soon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 500px;
    padding: 60px 20px;
    text-align: center;
    color: #94a8c8;
}

.sub-h1 {
    display: inline-block;
    margin-bottom: 15px;
    padding: 8px 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    text-transform: uppercase;
}

.sub-h1-gradient {
    background: linear-gradient(
        135deg,
        #1565ff 0%,
        #7c3aed 60%,
        #e53935 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.sub-h2 {
    display: inline-block;
    margin-bottom: 15px;
    color: #1565ff;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.align-center {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.badge {
    position: absolute;
    top: auto;
    right: 15px;
    padding: 0 15px;
    border-radius: 50px;
    background: rgba(229, 57, 53, 0.094);
    color: #e53935;
    font-size: 11px;
}

.badge.yellow,
ul li .icons.yellow {
    background: rgba(245, 158, 11, 0.07);
    color: #f59e0b;
}

.badge.purple,
ul li .icons.purple {
    background: rgba(124, 58, 237, 0.07);
    color: #7c3aed;
}

.badge.blue,
ul li .icons.blue {
    background: rgba(21, 101, 255, 0.07);
    color: #1565ff;
}

/* Color-box hover: each variant only sets its accent color + glow
   strength; add a new color by adding one line here. */
:is(.blue-box, .red-box, .purple-box, .yellow-box, .green-box) {
	transition: all .3s ease;
}

.blue-box   { --box-accent: 21, 101, 255;  --box-glow: .12; }
.red-box    { --box-accent: 229, 57, 53;   --box-glow: .12; }
.purple-box { --box-accent: 124, 58, 237;  --box-glow: .07; }
.yellow-box { --box-accent: 245, 158, 11;  --box-glow: .07; }
.green-box  { --box-accent: 16, 185, 129;  --box-glow: .07; }

:is(.blue-box, .red-box, .purple-box, .yellow-box, .green-box):hover {
	border-color: rgba(var(--box-accent), .5);
	box-shadow: 0 0 24px rgba(var(--box-accent), var(--box-glow));
}

/* Lift-on-hover utility, stackable with any box color class
   (e.g. class="red-box grow"). */
.grow {
	transition: all .3s ease;
}

.grow:hover {
	transform: translateY(-2px);
}



/* =========================================================
   CHECKLIST
   ========================================================= */

ul.checklist {
    margin: 15px 0;
    padding-left: 0;
    list-style: none;
}

ul.checklist li {
    position: relative;
    margin-bottom: 13px;
    padding-left: 30px;
}

ul.checklist li:last-child {
    margin-bottom: 0;
}

ul.checklist li::before {
    position: absolute;
    top: 3px;
    left: 0;
    padding: 4px 5px;
    border-radius: 50px;
    background: #1565ff;
    color: #fff;
    content: "\2713";
    font-size: 14px;
    line-height: 100%;
}


/* =========================================================
   CF7 FORM TWO COLUMNS
   ========================================================= */

.two-column-form {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: baseline;
}

.two-column-form br {
    display: none;
}

.two-column-form :is(.one_half, .second_half) {
    width: 48%;
}

.two-column-form .full_width {
    width: 100%;
}

.two-column-form .full_width label {
    display: flex;
    flex-flow: column wrap;
    gap: 10px;
}

.two-column-form label {
    display: block;
    margin-bottom: 15px;
    color: #364153;
    font-size: 15px;
}

.two-column-form :is(input[type="text"], select) {
    width: 100%;
    height: 40px;
}

.two-column-form .required {
    color: #e71f22;
}

.two-column-form :is(input, select, textarea) {
    width: 100%;
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 8px;
    resize: none;
}

.two-column-form .wpcf7-form-control-wrap .wpcf7-checkbox {
    display: flex;
    flex-direction: column;
}

.two-column-form .wpcf7-form-control-wrap :is(
    .wpcf7-checkbox span.wpcf7-list-item label,
    .wpcf7-radio span.wpcf7-list-item label
) {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.two-column-form .wpcf7-form-control-wrap .wpcf7-acceptance span.wpcf7-list-item label {
    display: flex;
    flex-flow: row wrap;
    align-items: baseline;
    gap: 10px;
}

.two-column-form .wpcf7-form-control-wrap .wpcf7-acceptance span.wpcf7-list-item label input {
    width: 15px;
    height: auto;
}

.two-column-form .wpcf7-form-control-wrap .wpcf7-acceptance span.wpcf7-list-item label span {
    width: calc(100% - 46px);
    font-size: 14px;
    line-height: 22px;
}

@media only screen and (max-width: 768px) {

    .two-column-form .uacf7-form-wrapper-container .one_half {
        width: 100%;
    }

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

    .two-column-form :is(.one_half, .second_half) {
        width: 100%;
    }

    .two-cols :is(.col1, .col2) {
        width: 48%;
    }

}


/* =========================================================
   RESPONSIVE LIST CARDS
   ========================================================= */

ul.one-col-lists,
ul.two-col-lists,
ul.three-col-lists,
ul.four-col-lists {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.one-col-lists li,
ul.two-col-lists li,
ul.three-col-lists li,
ul.four-col-lists li {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 15px;
    width: 100%;
    padding: 15px;
    border: 1px solid rgba(21, 101, 255, 0.1);
    border-radius: 15px;
    background: rgb(12, 20, 36);
    box-sizing: border-box;
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

ul.one-col-lists li br,
ul.two-col-lists li br,
ul.three-col-lists li br,
ul.four-col-lists li br {
    display: none;
}

ul.one-col-lists li h3,
ul.two-col-lists li h3,
ul.three-col-lists li h3,
ul.four-col-lists li h3 {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 15px;
    font-weight: 400;
}

ul.one-col-lists li h3 span,
ul.two-col-lists li h3 span,
ul.three-col-lists li h3 span,
ul.four-col-lists li h3 span {
    color: #6b80a3;
    font-size: 13px;
}

ul.one-col-lists li .icons,
ul.two-col-lists li .icons,
ul.three-col-lists li .icons,
ul.four-col-lists li .icons {
    padding: 10px;
    border-radius: 10px;
    background: rgba(229, 57, 53, 0.094);
    color: #e53935;
}


/* =========================================================
   LIST COLUMN WIDTHS
   ========================================================= */

/* 2 columns */

ul.two-col-lists li {
    width: calc(50% - 7.5px);
}

/* 3 columns */

ul.three-col-lists li {
    width: calc(33.333% - 10px);
}

/* 4 columns */

ul.four-col-lists li {
    width: calc(25% - 11.25px);
}


/* =========================================================
   FLEX GROW CARDS
   ========================================================= */

.flex-grow-cards {
    display: flex;
    align-items: stretch;
}

.flex-grow-cards .et_pb_column {
    display: flex;
    flex-direction: column;
}

.flex-grow-cards .et_pb_blurb,
.flex-grow-cards .et_pb_text {
    display: flex;
    flex: 1;
    flex-direction: column;
    width: 100%;
}

.flex-grow-cards .et_pb_blurb_content,
.flex-grow-cards .et_pb_blurb_container,
.flex-grow-cards .et_pb_blurb_description,
.flex-grow-cards .et_pb_text_inner {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.flex-grow-cards .et_pb_blurb_description p:last-child,
.flex-grow-cards .et_pb_text_inner p:last-child {
    margin-top: auto;
}


/* =========================================================
   OTHER UTILITIES
   ========================================================= */

.inline-block {
    display: block;
}

.two-cols :is(.col1, .col2) {
    width: 48%;
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media only screen and (min-width: 981px) {

    .counter-section::before {
        position: absolute;
        top: 65px;
        right: 0;
        left: 0;
        border: 1px solid var(--primary-background);
        content: "";
    }

}


/* =========================================================
   TABLET & UP
   ========================================================= */

@media only screen and (min-width: 768px) {

    ul.backup-list.two-cols li {
        width: 48%;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media only screen and (max-width: 1024px) {

    .flex-grow-cards {
        flex-direction: column;
        justify-content: center;
        padding: 0;
    }

    .flex-grow-cards .et_pb_column {
        width: 100% !important;
        max-width: 600px;
        margin: 0 auto 30px !important;
        float: none;
    }

    .et_pb_row.flex-grow-cards .et_pb_column.et-last-child {
        margin-right: auto !important;
    }

}

@media only screen and (max-width: 980px) {

    ul.three-col-lists li,
    ul.four-col-lists li {
        width: calc(50% - 7.5px);
    }

	#page-container .et_pb_menu_0_tb_header.et_pb_menu ul li a {
		border-bottom:1px solid rgba(255,255,255,.1);
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media only screen and (max-width: 767px) {

	ul.one-col-lists li,
    ul.two-col-lists li,
    ul.three-col-lists li,
    ul.four-col-lists li {
        width: 100%;
		flex-direction: column;
    }

}

@media only screen and (max-width: 600px) {
	.ogis-btn-primary, .ogis-btn-secondary {
		width: 100%;
	}

	.ogis-stats-grid,.ogis-industries-grid {
		grid-template-columns: 1fr;
	}
}