/*!
Theme Name: Sublux
Version: 1.0
Author: SAMSA
Author URI: http://samsa.com


*/ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
body {
    margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}
audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
[hidden],
template {
    display: none;
}
a {
    background-color: transparent;
}
a:active,
a:hover {
    outline: 0;
}
abbr[title] {
    border-bottom: 1px dotted;
}
b,
strong {
    font-weight: bold;
}
dfn {
    font-style: italic;
}
small {
    font-size: 80%;
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -0.5em;
}
sub {
    bottom: -0.25em;
}
img {
    border: 0;
}
svg:not(:root) {
    overflow: hidden;
}
figure {
    margin: 1em 40px;
}
hr {
    box-sizing: content-box;
    height: 0;
}
pre {
    overflow: auto;
}
code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}
button {
    overflow: visible;
}
button,
select {
    text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}
button[disabled],
html input[disabled] {
    cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}
input {
    line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}
input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}
legend {
    border: 0;
    padding: 0;
}
textarea {
    overflow: auto;
}
optgroup {
    font-weight: bold;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
td,
th {
    padding: 0;
}
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}
.hide-visually {
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
}
:root {
    font-size: 16px;
}
@media (min-width: 1000px) {
    :root {
        font-size: 18px;
    }
}
:focus:not(:focus-visible) {
    outline: none;
}
html {
    box-sizing: border-box;
    overflow-x: hidden;
    max-width: 100vw;
    scroll-behavior: smooth;
}
*,
*:before,
*:after {
    box-sizing: inherit;
}
body {
    font-family: "Barlow", sans-serif;
    line-height: 1.2;
    font-weight: 400;
    margin: 0;
    background: #fff url(images/bg-body-1.png) center top repeat;
    color: #000;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    max-width: 100vw;
}
body.admin-bar {
    min-height: calc(100vh - 32px);
}
#page {
    min-height: 100vh;
    transition: 0.25s;
    overflow: hidden;
    max-width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
}
.admin-bar #page {
    min-height: calc(100vh - 32px);
}
#page .site-header,
#page .consultants {
    flex-grow: 0;
}
#page .page-content {
    flex-grow: 1;
    height: 100%;
    min-height: 100%;
    position: relative;
    background: url(images/bg-toppage.png) center 5px repeat-x;
}
@media (max-width: 768px) {
    .mobile-nav-active #page {
        margin-left: -60vw;
    }
}
.contain {
    max-width: calc(1170px + 6%);
    width: 100%;
    padding-left: 3%;
    padding-right: 3%;
    margin-left: auto;
    margin-right: auto;
}
.container {
    margin: auto;
}
.content {
    padding-top: 2em;
    padding-bottom: 2em;
}
.post-edit-link {
    display: none;
}
iframe {
    display: block;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Barlow", sans-serif;
    font-weight: inherit;
    margin: 0;
    color: #333;
    max-width: 100%;
}
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong {
    font-weight: 900;
}
h1 {
    font-size: 3em;
    margin-top: 0;
    font-family: "Barlow", sans-serif;
    font-weight: 600;
}
@media (max-width: 680px) {
    h1 {
        font-size: calc(0.5em + 2.25vw);
    }
}
h2 {
    font-size: 2em;
    line-height: 1.1;
}
@media (max-width: 520px) {
    h2 {
        font-size: calc(1.25em + 2.5vw);
    }
}
h3 {
    font-size: 2.18em;
    line-height: 1.2;
    letter-spacing: -1px;
    font-family: "Barlow", sans-serif;
    margin-bottom: 0.5rem;
}
@media (max-width: 420px) {
    h3 {
        font-size: calc(1em + 3vw);
    }
}
h4 {
    font-size: 1.2em;
}
h5 {
    font-size: 1.1em;
}
h6 {
    font-size: 1em;
}
p,
.sec {
    margin: 0 0 1.5em 0;
}
p:last-child,
.sec:last-child {
    margin-bottom: 0;
}
p {
    max-width: 100%;
}
ul:last-child {
    margin-bottom: 0;
}
a {
    text-decoration: none;
}
p a,
ul a,
ol a,
a.fl-post-feed-more,
.fl-post-grid a {
    transition: 0.15s;
}
p a:hover,
ul a:hover,
ol a:hover,
a.fl-post-feed-more:hover,
.fl-post-grid a:hover {
    text-decoration: none;
}
img {
    max-width: 100%;
    height: auto;
}
strong,
b {
    font-weight: 600;
}
.embed-container {
    position: relative;
    padding-right: 2em;
    padding-left: 2em;
    padding-bottom: 48%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}
@media (max-width: 560px) {
    .embed-container {
        padding-bottom: 80% !important;
    }
}
.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.mfp-iframe {
    border: none;
}
iframe {
    width: 100%;
}
.site-header {
    background: url(images/bg-header.png) center top;
    padding-top: 0.5em;
}
.site-header .contain {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    z-index: 2;
    position: relative;
}
.site-header .logo-wrapper {
    width: 405px;
    margin-bottom: -1.5em;
}
.site-header .logo-wrapper img {
    display: block;
}
.site-header .menu {
    margin-top: 1.5em;
}
.site-header .welcome-video-link {
    width: 148px;
    max-width: 100%;
    display: block;
    margin-top: -0.8em;
}
.site-header .welcome-video-link img {
    width: 100%;
    height: auto;
    display: block;
}
.sub-header {
	background-image: url(/wp-content/uploads/2024/11/SO-NUHS-Seminary-Flyer-Background.jpg);
    color: #fff;
    padding: 1.75em 0;
    mix-blend-mode: multiply;
}
.sub-header .contain{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.sub-header .contain .header-text{
    /*background: #1c3558;*/
    font-size: 2em;
    font-weight:bold;
    text-transform: uppercase;
    line-height: 1.1;
    padding: 20px;
}
.sub-header .contain strong {
    font-weight: 800;
}
.sub-header-right .page_link span{
    font-weight: 600;
    padding: 1em;
    text-transform: uppercase;
    font-size: 0.8em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    position: relative;
    border: 1px solid #fff;
    margin: 0px 5px;
}
.header-text{
    text-align:center;
}
.page_link a{
    color:#ffffff;
}
    .menu-main-style {
    list-style: none;
    padding: 0 0 0 0;
    margin: 0;
    margin-top: 1.2em;
    display: flex;
    justify-content: flex-start; 
}
.header-movie{ 
    margin: 0px auto 10px auto;
    max-width:60%;
}
.page_link{
    margin: 0 auto;
}
.page_link, .header-movie{
    max-width:60%;

}
@media (max-width: 768px) {
    .menu-main-style {
        display: none;
    }
}
    .menu-main-style > li {
    margin: 0 0.5em;
    display: flex;
    align-items: center;
    min-height: 75px;
    background: url(images/button-bone-15.png) center center/auto 75px no-repeat;
    position: relative;
}
    .menu-main-style > li a {
    font-weight: 600;
    padding: 0.25em 0.5em;
    /*background: transparent;*/
    /*color: #000;*/
    text-transform: uppercase;
    font-size: 0.8em;
    border: solid 1px #1c3558;
    /*background-color: rgba(255, 255, 255, 0.25);*/
    transition: 0.15s;
    min-width: 11em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 3.2em;
    line-height: 1;
    position: relative;
}
    .menu-main-style > li a:hover {
    background-color: rgba(1, 138, 206, 0.25);
}
    .menu-main-style > li > a {
    background: #1c3558;
    color: #fff;
    background: #1c3558 url(images/button-bone-50.png) center center/auto 75px no-repeat;
    background-blend-mode: overlay;
}
    .menu-main-style > li > .sub-menu {
    overflow: hidden;
    max-height: 0;
    position: absolute;
    top: calc(100% - 15px);
    left: 0;
    min-width: 100%;
    transition: 0.25s;
    list-style: none;
    padding: 0;
    margin: 0;
    color: #fff;
    z-index:9999;
}
    .menu-main-style > li > .sub-menu > li .sub-menu{
        overflow: hidden;
        top: calc(100% - 15px);
        left: 0px;
        min-width: 100%;
        transition: 0.25s;
        list-style: none;
        padding: 0;
        margin: 0;
        color: #fff;
        position:relative;
        z-index:9999;
    }
    .menu-main-style > li > .sub-menu > li.grey-button:nth-of-type(1) > a, .menu-main-style > li > .sub-menu > li.grey-button:nth-of-type(2) > a{
        background: #29A0EC;    
        color:#fff;
        text-shadow:none;
    }
    .menu-main-style > li > .sub-menu a {
        color: #000;
        background: #104e7a;
        border-top: 0;
        white-space: nowrap;
        justify-content: flex-start;
        text-align: left;
        font-size: 0.7em;
        min-width: 100%;
    }
    .menu-main-style > li .sub-menu > li > a {
        background: #FFF;
    }
    .menu-main-style > li .sub-menu > li > a:hover {
        background: #79C648;
    }
/*
    .menu-main-style > li .sub-menu > li:nth-of-type(2) > a {
        background: #ff7f27;
    }
    .menu-main-style > li .sub-menu > li:nth-of-type(3) > a {
        background: #8bc541;
    }
    .menu-main-style > li .sub-menu > li:nth-of-type(4) > a {
        background: #8080c0;
    }
    .menu-main-style > li .sub-menu > li:nth-of-type(5) > a {
        background: #fff200;
    }
    .menu-main-style > li .sub-menu > li:nth-of-type(6) > a {
        background: #ed1c24;
    }*/
    .menu-main-style > li:hover .sub-menu {
        /*max-height: 21em;*/
        max-height: fit-content;
    }
.mobile-nav {
    display: none;
    border: none;
    align-items: center;
    background: rgba(255, 255, 255, 0.9);
    margin: 0;
    margin-top: 0.5em;
}
.mobile-nav:hover {
    background: #fff;
}
.mobile-nav:before {
    font-family: "Fontello";
    content: "\f0c9";
    display: block;
    margin-right: 0.5em;
    cursor: pointer;
    font-weight: 600;
}
@media (max-width: 768px) {
    .mobile-nav {
        display: flex;
    }
}
.mobile_menu_container .mobile_menu {
    display: none;
    z-index: 100;
    position: fixed;
    right: -60vw;
    top: 0;
    bottom: 0;
    width: 60vw;
    transition: 0.25s;
    list-style: none;
    flex-direction: column;
    align-items: center;
    font-size: 1em;
    line-height: 1.2;
    transition: 0.25s;
    text-transform: uppercase;
    margin: 0;
    padding: 2.5em 0;
    display: block;
}
.mobile_menu_container .mobile_menu .container {
    position: relative;
}
.mobile_menu_container .mobile_menu ul {
    list-style: none;
    padding: 0;
    position: static;
}
.mobile_menu_container .mobile_menu a {
    color: #fff;
    padding: 0.5em 1em;
    display: block;
    transition: 0.15s;
}
.mobile_menu_container .mobile_menu a:hover {
    color: #fff;
}
.mobile_menu_container .mobile_menu li {
    border-bottom: solid 1px rgba(255, 255, 255, 0.2);
}
.mobile-nav-active .mobile_menu_container .mobile_menu {
    right: 0;
}
.mobile_menu_container .mobile_menu .close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: transparent;
    border: none;
    color: #fff;
    z-index: 3;
    border: solid 1px rgba(255, 255, 255, 0.2);
    font-size: 1.25em;
    width: 1.5em;
    height: 1.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.mobile_menu_container .mobile_menu .sub-menu {
    transition: 0.25s;
    max-height: 0;
    overflow: hidden;
}
.mobile_menu_container .mobile_menu .sub-menu li:last-of-type {
    border-bottom: none;
}
.mobile_menu_container .mobile_menu .sub-menu .subnav-title {
    display: none;
}
.mobile_menu_container .mobile_menu .sub-menu li {
    margin-left: 1em;
}
.mobile_menu_container .mobile_menu > li.menu_active .sub-menu {
    max-height: 500px;
}
.pre-group {
    margin-top: 2em;
}
.pre-group .consultant-logo {
    margin-bottom: -1.5em;
    z-index: 1;
    position: relative;
    max-width: 100%;
}
.consultants {
    padding: 2em 0;
}
.consultants .profile{
    padding-right:15px;
}
.consultants .row{    
    justify-content: center;
}
.consultants .info-row{    
    padding:15px;
}
.consultants .consultant-column {
    background-image: url(/wp-content/uploads/2024/11/SO-NUHS-Seminary-Flyer-Background.jpg);
    /*background: #033153;*/
    display: flex;
    flex-direction: column;
}
.consultant-column.no_profile img{
    max-width:50%;
    margin:0 auto;
}
.consultants .button-container {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    font-weight: 900;
    font-size:16px;
}
.designers  .button-container {
    height: 225px;
}
.consultants .button-container img{
    margin-bottom: 1em;    
}

.consultant-column .title-row{
    background: #29A0EC;
    padding:15px;
}
.consultants .contact-info,.consultants .contact-info a {
    font-size: .90em;
    color: #ffffff;
    text-align: center;
}
.consultants .info-container{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height:265px;
}
.consultants .profile img{
    width:100%
}
.designers .profile img{
    width:100%;
    height: 225px;
}

.consultants  .section-title {
    color: #fff;
    display: block;
    padding: 0.75rem 0.25rem 0.75rem 1rem;
    margin-bottom: 0px;
    border: none;
    outline: none;
    transition: 0.15s;
    text-transform: uppercase;
    text-align: center;
    font-size:1.4em;
    font-weight:bold;
}
.consultants .name-block{
    color:#ffffff;
    text-align:center;
    margin-bottom:2px;
    font-size:.75em;
}
.consultants .name{
    color:#8bc541;
    font-weight:600;
}
.consultants .list{
    color: #ffffff;
    font-size: 1.25em;
    text-transform: uppercase;
    font-weight: bold; 
}
.consultants .list ul{
    list-style-type: none;
}
.consultants ul > li:before{
    content: "-";
    margin: 0 5px;
}
.consultants .profile-text{
    margin-bottom:.5em;
}
.consultants .more_info{
    background: #bf0c44;
    color: #ffffff;
    text-align: center;
    padding: 5px;
    border-radius: 5px;
}
.consultants .price_circle{
    text-align: center;
    border: 5px solid #fff;
    width: 85%;
    padding:20px;
    margin: 0 auto;
    color:#8bc541;
    text-transform: uppercase;
    font-size:1.25em;
    font-weight:600;
    min-height:100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.new_chiro_flag{
    padding:5px;
    background:red;
    color:#ffffff;
}
.hero-area {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    position: relative;
}
.hero-area .computer{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.hero-area .mac-with-logo {
    margin-top: 5%;
    width: 100%;
    text-align: center;
}
.hero-area .mac-with-logo img{
    width:80%;
}
.hero-area .homepage-slider {
    max-width: 100%;
    position: relative;
}
.hero-area .hero-buttons {    
    margin-bottom: 25px;
    display: flex;
}
.hero-area .hero-buttons a {
    background: #1c3558;
    color: #fff;
    padding: 0.25em 2em;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 1.75em;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: 0.15s;
    min-height: 95px;
}
.hero-area .hero-buttons a:hover {
    background-color: #145c90;
}
.hero-area .hero-buttons a span {
    display: block;
    font-weight: 400;
    font-size: 1.2rem;
}
.hero-area .owl-carousel .owl-item {
    text-align: center;
}
.day-row {
    margin: 3em 0;
    display: flex;
    justify-content: center;
}
.day {
    display: flex;
    flex-direction: column;
    margin: 5px;
    width: 50%;
}
.day-row .day-banner {
    margin-bottom: 0.5em;
    color: #fff;
    background: #1c3558;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.day-row .day-banner .day-title {
    padding: 0.75rem 0 0.75em 2rem;
    display: inline-block;
    font-weight: 900;
    font-size: 1.5em;
    background: #29A0EC;
    position: relative;
    min-width: 5em;
}
.day-row .day-banner .day-title span {
    z-index: 1;
    position: relative;
}
.day-row .day-banner .day-title::after {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 360px 140px 0 0;
    border-color: #29A0EC transparent transparent transparent;
    top: 0;
    left: calc(100% - 100px);
    z-index: 0;
}
.day-row .day-banner .day-subtitle {
    margin-left: 3rem;
    font-weight: 900;
    font-size: 1.5em;
}
.day-row .day-content-wrapper {
    margin-right: 0.25em;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #29A0EC;
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height:350px;
}
.day-row .day-content-wrapper .day-content {
    /*background: #1c3558;*/
		    background-image: url(/wp-content/uploads/2024/11/SO-NUHS-Seminary-Flyer-Background.jpg);
    color: #fff;
    width: 100%;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px;
}
.day-row .day-content-wrapper .day-content .text-block{
    padding: 1em 2em;
    width: 75%;
}
.img-block {
    position: absolute;
    bottom: 0;
    left: 73%;
}
.day-row .day-banner .day-title {
    background: #29A0EC;
}
.day-row .day-banner .day-title::after {
    border-top-color: #29A0EC;
}
.home-bottom-two-col {
    display: flex;
}
.home-bottom-two-col .testimonials-sidecol {
    width: 25%;
    flex-shrink: 0;
    margin-right: 1em;
}
.home-bottom-two-col .box-downloads {
    background: #f2f2f2;
    width: 100%;
    display: block;
    margin-bottom: 1em;
    border: solid 1px rgba(17, 78, 122, 0.5);
    padding: 2em 1em;
    text-align: center;
    color: inherit;
}
.home-bottom-two-col .box-downloads .text {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.25em;
}
.home-bottom-two-col .box-training-promo {
    background: url(images/bg-calendar.jpg) center center/cover no-repeat;
    width: 100%;
    color: #fff;
    text-align: center;
    padding: 2em 1em;
    text-transform: uppercase;
}
.home-bottom-two-col .box-training-promo .strong {
    font-weight: 800;
    font-size: 1.75em;
}
.home-bottom-two-col .box-training-promo .subtext {
    font-size: 1.4em;
}
.home-bottom-two-col .box-training-promo .dollars {
    font-weight: 800;
    font-size: 2.25em;
    margin-top: 1rem;
    margin-bottom: 0.75rem;
}
.home-bottom-two-col .box-training-promo .view-details {
    color: #fff;
    padding: 1rem 2rem;
    background: #29A0EC;
    display: inline-block;
    font-weight: 800;
    transition: 0.15s;
}
.home-bottom-two-col .box-training-promo .view-details:hover {
    background-color: #0179b5;
}
.testimonials {
    font-weight: 700;
    position: relative;
    margin-bottom: 5em;
    width: 70%;
    margin: auto;
    overflow: -moz-scrollbars-vertical;
    overflow-y: auto;
    height:400px;
}
.testimonials .testimonials-pretitle {
    text-transform: uppercase;
    font-weight: 400;
}
.testimonials .testimonials-title {
    text-transform: uppercase;
    font-weight: 800;
    font-size: 1.75em;
    margin-bottom: 1rem;
    line-height: 1;
}
.testimonials .testimonial {
    margin-bottom: 1.5em;
    padding-bottom: 1.5em;
    border-bottom: solid 1px rgba(0, 0, 0, 0.4);
}
.testimonials .person {
    color: #1c3558;
}
.testimonials .name {
    color: #29A0EC;
}
.testimonials .readmore {
    background: #29A0EC;
    color: #fff;
    text-transform: uppercase;
    padding: 1.25em 1.5em;
    transition: 0.15s;
    float: right;
    margin-top: -3.5em;
}
.testimonials .readmore:hover {
    background-color: #01689b;
}
/*.products-top-row .banners,
.products-top-row .block-content {
    display: flex;
    width: calc(100% + 1em);
    margin-left: -0.5em;
}*/
.products-top-row .content-block{
    width:100%;
    display: flex;
    text-align: center;
    justify-content: center;
    background: #1c3558;
}
.products-top-row .block-banner {
    width:100%;
    display: flex;
    text-align: center;
    justify-content: center;
    color: #fff;
    background: #1c3558;
    overflow: hidden;
    align-items: stretch;
    padding:15px;
}
.products-top-row .block-banner .title {
    padding: 0.75rem 1rem 0.75rem 1rem;
    font-weight: 900;
    position: relative;
    text-transform: uppercase;
    font-size: 1.1em;
    display: flex;
    align-items: center;
}
.products-top-row .block-banner .title span {
    z-index: 1;
    position: relative;
}
.products-top-row .block-banner.software-banner {
    font-size: 1.15em;
    background: #29A0EC;
}
.products-top-row .block-banner.software-banner .title {
    padding: 0.75rem 0.25rem 0.75rem 1rem;
    font-size: 1.4em;
    background: #29A0EC;
}

.products-top-row .blue-block-bg::before {
    background: rgba(1, 138, 206, 0) !important;
}
.products-top-row .blue-block-bg:hover::before {
    background-color: rgba(1, 138, 206, 0.3) !important;
}
.blue-block-bg {
    background-color: #29A0EC;
    color: #fff;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
}
.blue-block-bg::before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(1, 138, 206, 0.8);
    transition: 0.15s;
}
.blue-block-bg:hover::before {
    background-color: rgba(1, 138, 206, 0.9);
}
.blue-block-bg::after {
    content: "";
    position: absolute;
    display: block;
    width: 70px;
    height: 70px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    top: calc(50% - 35px);
    left: calc(50% - 35px);
}
.blue-block-bg.box-video::after {
    background-image: url(images/play-button-01.png);
}
.blue-block-bg.box-download::after {
    background-image: url(images/download-button-01.png);
}
.products-row {
    margin-top: 1em;
}
.products-row .banners,
.products-row .block-content {
    display: flex;
}
.products-row .block-banner {
    width:100%;
    display: flex;
    justify-content: flex-start;
    background: #1c3558;
    overflow: hidden;
    align-items: stretch;
    color: #fff;
}
.products-row .block-banner .product-sub-title,
.products-row .block-banner .product-title {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0rem 0.25rem 0.5rem;
    text-transform: uppercase;
    text-align: left;
    justify-content: center;
}
.products-row .block-banner .product-title {
    min-height: 60px;
}
.products-row .block-banner.poster .product-sub-title,
.products-row .block-banner.model .product-sub-title {
    font-size: 1.4em;
    margin-left: 1.5rem;
    font-weight: 900;
    text-align: center;
    width: 100%;
    flex-grow: 1;
    justify-content: center;
}
.products-row .block-banner.model .product-sub-title .letter {
    font-size: 2em;
    margin-right: 0.5rem;
}
.products-row .block-banner.model .product-sub-title .letter-title {
    flex-shrink: 1;
}
.products-row .block-banner .product-title {
    background: #29A0EC;
    padding-right: 0.25rem;
    position: relative;
    /*-webkit-text-stroke-width: 1.5px;
    -webkit-text-stroke-color: black;*/
}
.products-row .block-banner .product-title.orange {
    background: #ff7f27;
}
.products-row .block-banner .product-title.orange::after {
    border-top-color: #ff7f27;
}
.products-row .block-banner .product-title.green {
    background: #8bc541;
}
.products-row .block-banner .product-title.green::after {
    border-top-color: #8bc541;
}
.products-row .block-banner .product-title.purple {
    background: #8080c0;
}
.products-row .block-banner .product-title.purple::after {
    border-top-color: #8080c0;
}
.products-row .block-banner .product-title.yellow {
    background: #fff200;
}
.products-row .block-banner .product-title.yellow::after {
    border-top-color: #fff200;
}
.products-row .block-banner .product-title.red {
    background: #ed1c24;
}
.products-row .block-banner .product-title.red::after {
    border-top-color: #ed1c24;
}
.products-row .block-banner .product-title.blue {
    background: #00a2e8;
}
.products-row .block-banner .product-title.blue::after {
    border-top-color: #00a2e8;
}
.products-row .block-banner .product-title span {
    position: relative;
    z-index: 1;
    font-size: 1.15em;
    font-weight: 900;
    text-align: center;
}
.products-row .block-banner .product-sub-title ol {
    font-weight: 700;
    padding: 0px;
}
.products-row .product-contents {
    display: flex;    
    justify-content: center;
    /*width: calc(100% + 1em);
    margin-left: -0.5em;*/
}
.products-row .product-contents .product {
    display: flex;
    margin: 0;
    flex-direction: column;
    margin: 0.5em;
}
.products-row .product-contents .product .image-and-buy .image,
.products-row .product-contents .product .blue-block-bg .image {
    /*background: #1c3558;*/
}
.products-row .product-contents .product .image-and-buy .image img,
.products-row .product-contents .product .blue-block-bg .image img {
    display: block;
    margin: auto;
}
.products-row .buy {
    margin-top: 0.5rem;
    text-transform: uppercase;
    text-align: center;
    color:#ffffff;
    font-weight: bold;
}
.products-row .buy input {
    width: 3em;
    margin-right: 0.5rem;
}
.products-row .buy select {
    padding: 0.5em 1em;
}
.products-row .buy label {
    margin-right: 0.25rem;
    font-weight: 900;
}
.products-row .add-to-cart {
    display: block;
    text-align: center;
    background: #1c3558;
    color: #fff;
    font-weight: 900;
    padding: 0.5em 1.5em;
    transition: 0.15s;
    flex-grow: 1;
    margin-top: 0.5em;
}
.products-row .add-to-cart:hover {
    background-color: #0e4064;
}
.ea-bootstrap {
    max-width: 100% !important;
    display: block;
}
.ea-bootstrap .time.well .time-disabled {
    display: none;
}
.appointment-modal {
    background: #fff;
    display: block;
}
.appointment-modal form {
    display: block;
    padding-top: 2em;
    padding-bottom: 4em;
    padding-left: 4em;
    padding-right: 4em;
}
.appointment-modal form:after {
    content: "";
    display: table;
    clear: both;
}
.appointment-modal form .row-location,
.appointment-modal form .row-service {
    display: none;
}
/*.software-banner .title span {
    text-shadow: 2px 2px #000000;
}
.day-banner .day-title span {
    text-shadow: 2px 2px #000000;
}
.text_shadow{
    text-shadow: 2px 2px #000000;  
}*/
/* Kiel changes */
.product-title{    
    min-height: 55px;
}
.products-top-row {
    display:flex;
    justify-content: center;
}

.products-top-row .content-block img {
    max-height: 400px;
}

.products-row .block-banner .product-sub-title ol li,
.products-row .block-banner.poster .product-sub-title, 
.products-row .block-banner.model .product-sub-title{
    font-size: .9em;	
    margin-left: 0rem;
    /*text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
    -webkit-text-stroke-width: 3px;
    -webkit-text-stroke-color: black;*/

}
.products-row .block-banner{	
    flex-direction: column;
}
.products-top-row .block-banner{	
    min-height: 75px;    
}
.products-row .product-contents .product .image-and-buy .image,
.products-row .product-contents .product .blue-block-bg .image {
    width:100%;
    max-height: fit-content;
}

.products-row .product-contents .product {
    flex-direction: column;
    width:100%;
}

.products-row .product-block {
    display: flex;
    flex-direction: column;
    width: 50%;
    justify-content: space-between;
    background: #1c3558;
}
.products-top-row .product-block {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.products-top-row .product-block {
    margin: 0.25em;
    padding: 0;
}
.products-row .product-block{
    flex-direction: column;
    width: 25%;
    border: 1px solid black;
    margin: 0.25em;
    /*background: #1c3558;*/
}
.product-block-inner{
    border:5px solid white;
    /*background: #1c3558;*/
		    background-image: url(/wp-content/uploads/2024/11/SO-NUHS-Seminary-Flyer-Background.jpg);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.products-row .product-contents .product .image-and-buy,
.products-row .product-contents .product .blue-block-bg {
    width:100%;
    display: flex;
    flex-direction: row;
    min-height:250px;
    align-items: center;
    justify-content: center;
}
.products-row .product-contents .product .image-and-buy .image img,
.products-row .product-contents .product .blue-block-bg .image img {
    display: block;
    margin: auto;
    max-height:250px;
    /*padding:10px;*/
    width:100%;
    object-fit: contain;
}
.products-row {
    margin-top: 1em;
    display: flex;
}

/*.product-title, #menu-main-menu ul li a, .text_shadow, .day-banner .day-title span, .software-banner .title span{
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}*/

.text_shadow, .day-banner .day-title span, .software-banner .title span{
    /*text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; 
    -webkit-text-stroke-width: 1.5px;
    -webkit-text-stroke-color: black;*/

}
.products-row .buy {
    display: flex;
    flex-direction: column;
    min-height: 45px;
    justify-content: center;
}
.products-row .buy label{
    color:white;
    /*text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
    -webkit-text-stroke-width: 3px;
    -webkit-text-stroke-color: black;*/

}
.product-sub-title{
    min-height:150px;
}
.products-row .block-banner .product-sub-title ol li{    
    font-size: .75em;
}

h2.section_title {
    font-weight: bold;
    padding: 15px 0px 15px 0px;
    margin: 0.25em;
    text-decoration:underline;
    clear:both;
}

footer{
	background-image: url(/wp-content/uploads/2024/11/SO-NUHS-Seminary-Flyer-Background.jpg);
    color:#FFFFFF;
    /*background: #033153;*/
    margin-top: 1em;
}
footer .contain{    
    display: flex;
    align-items: center;
    justify-content: space-around;
}
footer .footer-widget-area{
    text-align:center;
}
footer .footer-widget-area .widget-title h2, footer .footer-widget-area .phone_number,footer .footer-widget-area .phone_number a{
    color: #5fbb31;
    text-decoration: underline;
    font-weight: 600;
}
footer .footer-widget-area .widget-body .hours td{
    color:#ffffff;
    padding: 0px 3px;    
    font-weight: 600;
}
footer .footer-widget-area .hours{    
    display: flex;
    justify-content: center;
}
.order-block {
    text-align: center;
    padding: 10px 5px;
    background: white;
    color: #1c3558 !important;
    font-weight: bold;
    margin: 10px 0px 0px 0px;
}
.order-block a{
    color: #1c3558 !important;    
} 
.free_row {
    padding: 25px 0px 25px 0px;
    margin: 0.25em;
    text-align: center;
    align-items: center;
}
.free_img {
    display: flex;
    justify-content: flex-end;
}
.free_text {
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    font-weight:bold;
} 
.free_text h2{
    text-decoration: underline;    
    padding:5px 0px;
}
.free_text .red_text{
    color:red;
    text-decoration: underline; 
    text-decoration-color: red !important;
    cursor:pointer;
}

.post-436 .variations,.post-694 .variations, .post-694 .variations_form .quantity, .post-436 .variations_form .quantity{
    display:none;
}
.custom_variations_form .wpcvt-variation-info {
    display: flex;
}
.custom_variations_form .wpcvt-variation-info div{
    padding-right:10px;
    padding-bottom:5px;
}
.related.products {
    display: none;
}

/* Seminars */
.seminars_sidebar {
    text-align:center;    
}
.seminars_sidebar .register_link{
    background: #79C648;
    padding:10px;
}
.seminars_sidebar .register_link a{ 
    color: #ffffff;
    text-transform: uppercase;
    font-weight: bold;
}
.seminars_sidebar .address_block{
    color:#ffffff;
    background: #29A0EC;
}

#home_slider .owl-item img{
    max-height:500px;
}

/* tablet*/
@media (max-width: 1230px){	
    .sub-header .contain .header-text{
        font-size: 2em;
    }
    .mob-menu-header-holder{
        background-color:#1c3558;
    }
    .products-row{
        display: inline-block; 
        width: 100%;
        clear:both;
        margin-top: 0px;
    }
    .products-row .product-block{
        width: 48%;
        display: inline-block;
        flex-direction: row;
        float: left;
        padding: .5em;
        margin:1%;
    }
    .products-row .banners, .products-row .block-content, .products-row .product-contents,
    .products-top-row .banners, .products-top-row .block-content, .products-top-row .product-contents{
        width:100%;
        margin:0px;
    }
    .products-row .block-banner,
    .products-top-row .block-banner{
        margin:0px;        
    }
    .products-row .product-contents .product,
    .products-top-row .product-contents .product{
        width:100%;
        margin:0px;
    }
    .products-row .product-contents .product .image-and-buy, .products-row .product-contents .product .blue-block-bg,
    .products-top-row .product-contents .product .image-and-buy, .products-top-row .product-contents .product .blue-block-bg{
        margin-top:.5em;
        min-height: 150px;
        max-height: 150px;
    }
    .products-row .product-contents .product .image-and-buy .image img, .products-row .product-contents .product .blue-block-bg .image img{
        max-height:150px
    }
    .mob-standard-logo{
        padding-top:5px;
        padding-bottom:5px;
    }    
}
/* tablet*/
@media (max-width: 1056px){

    .day{
        width:100%
    }
    .day-row {
        flex-direction: column;
    }
    .day-row .day-content-wrapper .day-content .text-block{
        padding: .75em 1em;
    }
    .img-block {
        left: 80%;
    }
    .consultants .consultant-column {
        width: 100%;
    }    
    .flex-direction-nav{
        display:none;
    }
    .hero-area .homepage-slider{
        margin-top:15px;
    }
    .hero-area .hero-buttons a {
        margin-bottom: 1em;
        padding: 0.25em 1.5em;
        font-weight: 900;
        text-transform: uppercase;
        font-size: 1.5em;
    }
}
@media (max-width: 956px){
    .hero-area {
        flex-direction: column;
    }
}
/*cell */

@media (max-width: 756px){
    .testimonials{
        width: 95%;

    }
    .consultants .consultant-column {
        width: 95%;
        justify-content: center;
    }
    .consultants .button-container {
        flex-grow: 1;
    }
    .products-row .product-block{
        width: 50%;
        display: block;
        flex-direction: row;
        float: left;
        padding: 0em;
        margin:0px;
        background:none;
        margin-bottom:5px;
    }
    .products-row .buy select {
        padding: 0.5em 1em;
        width: 100%;
        margin-top: 0.2em;
    }
    .products-row .block-banner .product-title span {
        font-size: 1.25em;
    }
    .products-row .product-contents .product .image-and-buy, .products-row .product-contents .product .blue-block-bg{
        margin-top:.5em;
        min-height: 150px;
        max-height: 150px;
    }
    .products-row .product-contents .product .image-and-buy .image img, .products-row .product-contents .product .blue-block-bg .image img{
        max-height:150px
    }
    .products-row .block-banner .product-sub-title ol li, .products-row .block-banner.poster .product-sub-title, .products-row .block-banner.model .product-sub-title {
        font-size: 1em;
    }
}

/* # WooCommerce Cart Icon CSS with FontAwesome 5
---------------------------------------------------------------------------------------------------- */

.cart-contents {
    position: relative;
    display: flex !important;
    flex-flow: column nowrap;
    justify-content: center;
}

.cart-contents:before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;	
    content: "\f07a" !important;
    font-size: 30px;
    color: #1c3558;
}

.cart-contents:hover {
    text-decoration: none;
}

.cart-contents-count {
    position: absolute;
    top: 15px;
    right: -5px;
    transform: translateY(-105%) translateX(25%);
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
    font-size: 12px;
    line-height: 22px;
    height: 24px;
    width: 24px;
    vertical-align: middle;
    text-align: center;
    color: #fff;
    background: #1c3558;
    border-radius: 50%;
    border: 1px solid black;
}
.ginput_container_creditcard .gform-field-label{
    color:#FFF !important;
}

/* Contact Form 7 – Custom Site Styles */
.wpcf7 {
    max-width: 600px;
    margin: 2em auto;
}
.wpcf7 form.wpcf7-form {
    display: flex;
    flex-direction: column;
}
.wpcf7 p {
    margin-bottom: 1.5em;
}
.wpcf7 label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.5em;
    color: #ffffff;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    width: 100%;
    padding: 0.75em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
    box-sizing: border-box;
    color: #000; /* Ensure input text is visible */
    background-color: #fff;
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: #29A0EC;
    box-shadow: 0 0 0 2px rgba(41,160,236,0.2);
}
.wpcf7 .wpcf7-submit {
    align-self: flex-start;
    background: #1c3558;
    color: #fff;
    padding: 0.75em 2em;
    border: none;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background 0.3s ease;
}
.wpcf7 .wpcf7-submit:hover {
    background: #29A0EC;
}
.wpcf7 .wpcf7-response-output {
    order: -1; /* Move message above form fields */
    display: block;
    background: #e6f9e6;
    border: 1px solid #29A0EC;
    padding: 0.75em;
    margin: 0 0 1.5em;
    color: #1c3558;
    border-radius: 4px;
}
@media (max-width: 480px) {
    .wpcf7 {
        padding: 0 1em;
    }
    .wpcf7 .wpcf7-submit {
        width: 100%;
        text-align: center;
    }
}

/* End Contact Form 7 – Custom Site Styles */

/* Enhance CF7 error tips */
.wpcf7-form .wpcf7-not-valid-tip {
    display: block;
    background: #ffe6e6;
    border: 1px solid #d03838;
    color: #d03838;
    padding: 0.5em 0.75em;
    margin: 0.5em 0 1em;
    border-radius: 4px;
    font-size: 0.9em;
    line-height: 1.2;
}

/* CF7 grouped validation notice */
.wpcf7-response-output.wpcf7-validation-errors {
    background: #fff4e5;
    border: 1px solid #f1c40f;
    color: #b97f06;
    padding: 0.75em 1em;
    margin-bottom: 1.5em;
    border-radius: 4px;
    font-weight: 600;
}

/* CF7 Validation Error – Red Theme */
.wpcf7-response-output.wpcf7-validation-errors {
    background: #fdecea !important;
    border: 1px solid #f5c2c7 !important;
    color: #b71c1c !important;
    order: -1;
}

.wpcf7-form.invalid input.wpcf7-not-valid,
.wpcf7-form.invalid textarea.wpcf7-not-valid {
    border: 1px solid #d03838 !important;
    background-color: #fff5f5 !important;
}

.wpcf7-form.invalid .wpcf7-not-valid-tip {
    background: #fdecea !important;
    border: 1px solid #d03838 !important;
    color: #d03838 !important;
    display: block;
    margin: 0.5em 0 1em;
    padding: 0.5em;
    border-radius: 4px;
    font-size: 0.9em;
}

/* Show and style the CF7 top error summary */
.wpcf7 .screen-reader-response {
    display: block !important;
    order: -1;
    background: #fdecea;
    border: 1px solid #f5c2c7;
    color: #b71c1c;
    padding: 0.75em 1em;
    margin-bottom: 1.5em;
    border-radius: 4px;
}

/* Tidy up the list inside the error summary */
.wpcf7 .screen-reader-response ul {
    list-style: none;
    margin: 0.5em 0 0 0;
    padding: 0;
}
.wpcf7 .screen-reader-response li {
    margin: 0.25em 0;
}

/* Style the inline response-output for validation errors */
.wpcf7-form.invalid .wpcf7-response-output {
    background: #fdecea !important;
    border: 1px solid #f5c2c7 !important;
    color: #b71c1c !important;
    order: -1;
}

/* Highlight invalid inputs and textareas */
.wpcf7-form.invalid input.wpcf7-not-valid,
.wpcf7-form.invalid textarea.wpcf7-not-valid {
    border: 1px solid #d03838 !important;
    background-color: #fff5f5 !important;
}
.wpcf7 select {
    width: 100%;
    padding: 0.75em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
    box-sizing: border-box;
    background-color: #fff;
    color: #000;
}
.wpcf7 select:focus {
    outline: none;
    border-color: #29A0EC;
    box-shadow: 0 0 0 2px rgba(41,160,236,0.2);
}

.wpcf7 input[type="date"] {
    width: 100%;
    padding: 0.75em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
    box-sizing: border-box;
}
.wpcf7 input[type="date"]:focus {
    outline: none;
    border-color: #29A0EC;
    box-shadow: 0 0 0 2px rgba(41,160,236,0.2);
}

.wpcf7-form {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
/* Text color fix */
.wpcf7-form {
  color: #ffffff; /* Adjust this to the color you want */
}

/* Submit button styling */
.wpcf7 input[type="submit"] {
  background-color: #ffffff; /* Button background color */
  color: #002855; /* Button text color */
  border: none;
  width: 100%;
  padding: 15px;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
  display: block;
  margin-top: 20px;
}

.wpcf7 input[type="submit"]:hover {
  background-color: #e6e6e6; /* Slightly darker on hover */
  color: #001e40;
}
/* Mobile Menu Toggle */
.mobile-menu-toggle {
    margin-left: auto;
    margin-right: 15px;
    align-self: center;
    background: transparent;
    border: none;
    padding: 10px;
    cursor: pointer;
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    z-index: 2000;
}
.mobile-menu-toggle .bar {
    width: 22px;
    height: 2px;
    background: #1c3558;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
}
.mobile-menu-toggle.active .bar:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
.mobile-menu-toggle.active .bar:nth-child(2) {
    opacity: 0;
}
.mobile-menu-toggle.active .bar:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

@media (max-width: 768px) {
    .menu-main-style {
        top: 70px;
        padding: 8px;
        background: #e7edf3;
    }
    .menu-main-style > li {
        margin: 6px 0;
        border: none;
        background: #1c3558; /* solid color, no background image */
        border-radius: 6px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.2);
        min-height: 40px; /* shorter buttons */
    }
    .menu-main-style > li > a {
        padding: 6px 0;
        display: block;
        text-align: center;
        color: #fff;
        font-size: 0.85em;
        font-weight: 600;
        text-transform: uppercase;
        text-shadow: none;
    }
    .menu-main-style > li > a:hover {
        background: linear-gradient(to bottom, #145c90 0%, #0d355f 100%);
        border-radius: 8px;
    }
    .mobile-menu-toggle {
        display: flex;
    }
}
a.full-download {
  color: red !important;
}

/* Gravity Forms Styling to Match Sublux Theme */
body .gform_wrapper {
    margin: 2em auto;
    padding: 2em;
    border-radius: 8px;
    color: #fff;
}

body .gform_wrapper h2.gform_title {
    text-align: center;
    font-size: 1.75em;
    color: #fff;
    font-weight: 700;
    margin-bottom: 1em;
    text-transform: uppercase;
    border-bottom: 2px solid #29A0EC;
    padding-bottom: 0.5em;
}

body .gform_wrapper .gform_description {
    text-align: center;
    font-size: 1em;
    margin-bottom: 1.5em;
    color: #ddd;
}

/* Make all Gravity Forms labels bold */
/* Match label size to the "10 Students Will Be Selected" text */
body .gform_wrapper .gfield_label {
    color: #ffffff !important;
    font-weight: 700;
    font-size: 1em; /* Similar to top text size */
    margin-bottom: 0.3em;
    display: block;
}

body .gform_wrapper input[type="text"],
body .gform_wrapper input[type="email"],
body .gform_wrapper input[type="tel"],
body .gform_wrapper input[type="number"],
body .gform_wrapper textarea,
body .gform_wrapper select {
    width: 100%;
    padding: 0.75em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
    color: #000;
    background-color: #fff;
    box-sizing: border-box;
}

body .gform_wrapper input:focus,
body .gform_wrapper select:focus,
body .gform_wrapper textarea:focus {
    outline: none;
    border-color: #29A0EC;
    box-shadow: 0 0 0 2px rgba(41,160,236,0.2);
}

/* Gravity Forms Styling to Match Sublux Theme */
body .gform_wrapper {
    margin: 2em auto;
    padding: 2em;
    border-radius: 8px;
    color: #fff;
}

body .gform_wrapper h2.gform_title {
    text-align: center;
    font-size: 1.75em;
    color: #fff;
    font-weight: 700;
    margin-bottom: 1em;
    text-transform: uppercase;
    border-bottom: 2px solid #29A0EC;
    padding-bottom: 0.5em;
}

body .gform_wrapper .gform_description {
    text-align: center;
    font-size: 1em;
    margin-bottom: 1.5em;
    color: #ddd;
}

/* Make all Gravity Forms labels bold */
/* Match label size to the "10 Students Will Be Selected" text */
body .gform_wrapper label {
    color: #ffffff !important;
    font-weight: 700;
    font-size: 1em; /* Similar to top text size */
    margin-bottom: 0.3em;
    display: block;
}

body .gform_wrapper input[type="text"],
body .gform_wrapper input[type="email"],
body .gform_wrapper input[type="tel"],
body .gform_wrapper input[type="number"],
body .gform_wrapper textarea,
body .gform_wrapper select {
    width: 100%;
    padding: 0.75em !important;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
    color: #000;
    background-color: #fff;
    box-sizing: border-box;
}

body .gform_wrapper input:focus,
body .gform_wrapper select:focus,
body .gform_wrapper textarea:focus {
    outline: none;
    border-color: #29A0EC;
    box-shadow: 0 0 0 2px rgba(41,160,236,0.2);
}

/* Style and center the Gravity Forms submit button */
body .gform_wrapper .gform_footer {
    display: flex;
    justify-content: center;
    margin-top: 1.5em;
}

body .gform_wrapper .gform_footer .gform_button,
body .gform_wrapper .gform_footer input[type="submit"] {
    background: #29A0EC !important;
    color: #fff !important;
    padding: 0.75em 2em;
    border: none;
    border-radius: 4px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.1em;
    cursor: pointer;
    transition: background 0.3s ease;
    opacity: 1 !important; /* Ensure it's visible */
    display: block;
    margin: 0 auto;
}
body .gform_wrapper .gform_footer .gform_button:hover,
body .gform_wrapper .gform_footer input[type="submit"]:hover {
    background: #0179b5 !important;
}

body .gform_wrapper .validation_message {
    background: #fdecea;
    border: 1px solid #f5c2c7;
    color: #b71c1c;
    padding: 0.5em;
    border-radius: 4px;
    margin-top: 0.5em;
}

/* Style required indicator for better contrast on blue background */
body .gform_wrapper .gfield_required {
    background: #ff4d4d;
    color: #fff !important;
    font-weight: 600;
    padding: 0.1em 0.4em;
    border-radius: 3px;
    font-size: 0.75em;
    margin-left: 0.3em;
    display: inline-block;
}
/* Ensure email confirmation fields match spacing & layout */
body .gform_wrapper .ginput_container_email input {
    width: 100%;
    padding: 0.75em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
    background-color: #fff;
    color: #000;
    box-sizing: border-box;
}

body .gform_wrapper .ginput_container_email {
    display: flex;
    gap: 0.5em;
    flex-wrap: wrap;
}

/* Style radio and checkbox labels to match the form */

/* Improve radio buttons spacing and alignment */
body .gform_wrapper .gfield_radio li {
    margin-bottom: 0.5em; /* Add spacing between radio options */
}

body .gform_wrapper .gfield_radio li label {
    color: #ffffff !important;
    font-size: 1em;
    font-weight: 500;
    margin-left: 0.3em;
}

body .gform_wrapper .gfield_checkbox li label {
    color: #ffffff !important;
    font-weight: 500;
    margin-left: 0.25em;
}


/* Align Gravity Forms datepicker field appearance */
body .gform_wrapper input[type="date"],
body .gform_wrapper .ginput_container_date input {
    padding: 0.75em;
    font-size: 1em;
    border: none;
    border-radius: 2px;
    background: #fff;
    color: #000;
    box-sizing: border-box;
    width: 100%;
}

/* Match padding style of Stripe credit card fields */
body .gform_wrapper .ginput_container input[type="text"],
body .gform_wrapper .ginput_container input[type="tel"],
body .gform_wrapper .ginput_container input[type="email"],
body .gform_wrapper .ginput_container select {
    padding: 0.75em;
    border-radius: 2px;
    font-size: 1em;
    width: 100%;
    border: none;
    background: #fff;
    color: #000;
    box-sizing: border-box;
}
/* Stripe embedded field label styling to match other form labels */
body .p-FieldLabel.Label,
body .p-FieldLabel.Label--empty {
    font-family: 'Barlow', sans-serif;
    font-weight: 700;
    color: #fff;
    font-size: 14px;
    margin-bottom: 0.25em;
    text-transform: none;
}

/* Fix icons inside date picker buttons */
body .gform_wrapper .ginput_container_date .gform-datepicker {
    background: #fff url('data:image/svg+xml;utf8,<svg fill="black" height="18" viewBox="0 0 24 24" width="18" xmlns="http://www.w3.org/2000/svg"><path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z"/></svg>') no-repeat right 0.75em center;
    background-size: 18px 18px;
    background-position: right 1em center;
    background-repeat: no-repeat;
    padding-right: 2.5em !important;
}

.gform_confirmation_message {
  background-color: #113A61; /* match blue header */
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  text-align: center;
  padding: 1.5rem 2rem;
  margin: 0 auto;
  border-radius: 4px;
  max-width: 100%;
  width: 100%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
/* Ensure the parent container is not limiting the width */
.gform_confirmation_wrapper {
  width: 100%;
  padding: 0;
  margin: 0;
}

  /* Basic modal background */
  .modal {
    display: none;
    position: fixed;
    z-index: 999;
    padding-top: 50px;
    left: 0; top: 0;
    width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.8);
  }
  /* Modal content */
  .modal-content {
    position: relative;
    margin: auto;
    width: 80%;
    max-width: 800px;
  }
  /* Close button */
  .close {
    position: absolute;
    top: -30px; right: 0;
    color: white;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
  }
  .modal iframe {
    width: 100%;
    height: 450px;
    border: none;
  }
/* === Full-width About button under header image === */
.sub-header-right{
  display:flex;
  flex-direction:column;
  align-items:stretch; /* allow children to take full width */
}

/* ensure the media above doesn't add extra gap */
.header-movie{ margin-bottom:8px; }
.header-movie img{ display:block; }

/* let the link container and the clickable element fill available width */
.page_link{ width:100%; max-width:60%; margin:0 auto; }
.page_link a,
.page_link span{ display:block; width:100%; box-sizing:border-box; }

/* kill side margin that was shrinking the span */
.sub-header-right .page_link span{ margin:0; }