/**
* Site
* ----------------------------------------------------------------------------
*/
.site-inner {
    clear: both;
    margin: 0 auto;
    padding: 0;
}

.site-search-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background-color: #fff;
    z-index: -1;
    transition: opacity .4s ease;
    opacity: 0;
    visibility: hidden;
}

body.search-bar-open .site-search-bar {
    z-index: 102;
    opacity: 1;
    visibility: visible;    
}

.site-search-bar .wrap {
    height: 100%;
    align-items: center;
}

.site-search-bar .wrap > form {
    flex-grow: 1;
    margin-right: 20px;
}

.site-search-bar .wrap > a {
    -webkit-box-flex: 0;
    -ms-flex: 0 25px;
    flex: 0 0 25px;
    width: 25px;
}

.site-search-bar .search-action {
}

.site-search-open {
    margin-bottom: 12px;
}


/**
* Header
* ----------------------------------------------------------------------------
*/
.site-header .wrap .title-area {
    -webkit-box-flex: 1;
    -ms-flex: 1 auto;
    flex: 1 auto;
    padding-right: 0rem;
    width: auto;
    text-align: left;
}

.site-header .wrap .header-widget-area {
    -webkit-box-flex: 0;
    -ms-flex: 0 auto;
    flex: 0 auto;
    width: auto;
    text-align: right;
    margin-top: 0;
}

.site-header .title-area {
    float: none;
    padding: 0;
}

.site-header .site-title a {
    display: block;
}

.site-header .widget {
    margin-bottom: 0;
}

img.logo-header {
    width: 175px;
    height: auto;
    max-width: 100%;
}

@media (min-width: 768px) {
    img.logo-header {
        width: 175px;
    }
}

.site-header {
    position: relative;
    background-color: #fff;
    box-shadow: none;
    padding: 0;
    z-index: 90;
}

body.header-hero .site-header {
    position: absolute;
    top: 0;
    width: 100%;
    background: none;
    box-shadow: none;
}

@media only screen and (min-width: 960px) {
    .admin-bar .site-header {
        top: 0;
    }
}

/**
* Flex
* ----------------------------------------------------------------------------
*/
.site-search-bar .wrap, 
.site-header .wrap, 
.content-sidebar-wrap,
.footer-widgets .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
} 

.site-header .wrap {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.site-search-bar .wrap, 
.site-header .wrap, 
.nav-secondary .wrap, 
.site-inner,
.footer-widgets .wrap {
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .site-search-bar .wrap, 
    .site-header .wrap, 
    .nav-secondary .wrap, 
    .footer-widgets .wrap {
        max-width: 750px;
    }

    .site-inner {
        max-width: 750px;
    }
}

@media (min-width: 992px) {
    .site-search-bar .wrap, 
    .site-header .wrap, 
    .nav-secondary .wrap, 
    .footer-widgets .wrap {
        max-width: 970px;
    }

    .site-inner {
        max-width: 970px;
    }   
}

@media (min-width: 1200px) {
    .site-search-bar .wrap, 
    .site-header .wrap, 
    .nav-secondary .wrap, 
    .footer-widgets .wrap {
        max-width: 1170px;
    }

    .site-inner {
        max-width: 1170px;
    }  
}

/* We tell all items to be 100% width, via flex-basis */
.site-header .wrap > *,
.nav-secondary .wrap > *,
.content-sidebar-wrap > *,
.footer-widgets .wrap > * {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  min-height: 1px;
}

.flex-base {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

.flex-no-wrap {
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
}  

.flex-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
} 

.flex-justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center; 
  justify-content: center;
}

.flex-justify-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;  
  justify-content: flex-end;
}

@media (max-width: 767px) {  
  .flex-order-1 {
    order: 1;
  }
}

/**
* Footer widgets
* ----------------------------------------------------------------------------
*/
.footer-widgets {
    color: rgba(255, 255, 255, 0.8);
    background: #082E6F;
    border: none;
    padding: 60px 0 40px 0;
}

.site-footer {
    background: #082E6F;
    border: none;
    font-size: 15px;
    line-height: 1.5;
    padding: 30px;
    text-align: left;
}

.footer-widget-area {
    font-size: 16px;
    float: none;
    margin-bottom: 20px;
}

.footer-widget-area a {
    text-decoration: none;
}

.footer-widget-area a:hover {
    color: #fff;
}

.site-footer a:hover {
    text-decoration: underline;
}

.footer-widgets .logo-footer { 
    width: 150px;
    height: auto;
    max-width: 100%;
}

.footer-widget-area h3 {
    position: relative;
    font-size: 24px;
    color: #fff;
    margin-bottom: 30px;
}

.footer-widget-area .menu li {
    margin-bottom: 4px;
} 

.footer-widget-area .contact-text {
    margin-bottom: 35px;
}

.footer-widget-area .contact-text .tel {
    font-size: 24px;
}

.footer-widget-area .contact-text .email {
    font-size: 14px;
}

.footer-widget-area .footer-logos {
    gap: 11px;
}

.footer-widget-area .footer-logos img {
    width: auto;
    height: 39px;
    height: 46px;
}

.footer-widgets .wrap .footer-widget-area {
  padding: 0;
  margin: 0;
}

.footer-widgets .wrap .footer-widget-area > section {
    margin-bottom: 30px;
}

.footer-widgets .wrap .footer-widget-area:last-of-type > section {
    margin-bottom: 0;
} 

.footer-widgets .wrap .footer-widget-area {
  padding: 0;
  margin: 0 0 30px 0;
}

.footer-widgets .wrap .footer-widgets-1 {
  text-align: left; 
} 

@media (min-width: 768px) {
  .footer-widgets .wrap .footer-widget-area {
    width: 50%;
  }   
  
  
  .footer-widgets .wrap .footer-widgets-1 {
    width: 100%;  
  }   
  
  .footer-widgets .wrap .footer-widgets-2,
  .footer-widgets .wrap .footer-widgets-3 {
  } 
}

@media (min-width: 992px) {  
    .footer-widget-area .footer-logos {
        justify-content: flex-end;
    }

  .footer-widgets .wrap .footer-widget-area {
    width: auto;
    margin: 0;
  }

  .footer-widgets .wrap .footer-widgets-1 {
    width: 50%;  
  } 
  
  .footer-widgets .wrap .footer-widgets-2 {
    width: 20%;  
  } 
  
  .footer-widgets .wrap .footer-widgets-3 {
    width: 30%;  
  }       

  .footer-widgets .wrap .footer-widget-area > section {
    padding-right: 30px;
  }  

  .footer-widgets .wrap .footer-widget-area:last-of-type > section {
    padding-right: 0;
  }  
}

@media (min-width: 1200px) {  
}


.footer-widgets a[href^="mailto"]:hover {
}

/**
* Site Footer
* ----------------------------------------------------------------------------
*/
.site-footer {
    font-size: 10px;
    line-height: 1.3;
    color: #fff;
    background: #082E6F;
    border: none;
    padding: 0px 0 40px 0;
    text-align: left;
}

.site-footer > .wrap {
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .site-footer > .wrap {
        max-width: 750px;
    }
}

@media (min-width: 992px) {
    .site-footer > .wrap {
        max-width: 970px;
    }
}

@media (min-width: 1200px) {
    .site-footer > .wrap {
        max-width: 1170px;
    }
}

.site-footer a {
    text-decoration: none;
}

.site-footer a:hover {
    text-decoration: underline;
}

.site-footer .wrap-copyright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap; 
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between; 
  justify-content: space-between;
  gap: 10px;
}

@media (max-width: 767px) {
    .site-footer .wrap-copyright > div {
        width: 100%;
    }
}

.site-footer .item-1 {
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  gap: 10px 4px;
}

.site-footer .item-2 {
    font-size: 10px;
    font-weight: 500;
    line-height: 1.3;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap; 
    gap: 15px 
}

.site-footer .item-3 .social-icons {
  display: flex;
  gap: 15px;
}

.site-footer .item-3 .social-icons .icon {
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  border: 1px solid #fff;
  border-radius: 50%;
  text-decoration: none;
  color: #fff;
  transition: all 0.3s ease;
}

.site-footer .item-3 .social-icons .icon:hover {
  background-color: #fff;
  color: #082E6F;
}

@media (max-width: 479px) {
    .site-footer .wrap-copyright > div {
        width: 100%;
    }

    .site-footer .wrap-copyright .item-1 > div {
        width: 100%;
    }
}

/**
* Gravity Forms
* ----------------------------------------------------------------------------
*/
body .gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: 4%;
    grid-row-gap: 20px;
}

body .gform_wrapper .gform_validation_errors {
    display: none !important;
}

body .gform_wrapper .gfield_error input,
body .gform_wrapper .gfield_error textarea {
    border-color: #c02b0a !important;
}

body .gform_wrapper div.gfield_error div.validation_message {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.1;
    border: none !important;
    background: none !important;
    padding: 0 0 8px 0 !important;
}

body .gform_wrapper.gravity-theme .gfield_validation_message, 
body .gform_wrapper.gravity-theme .validation_message {
    background: none;
    border: none;
    font-size: 14px;
    margin-top: 8px;
    padding: 0;
}

body .gform_wrapper div.gfield.form-privacy-policy {
    font-size: 12px;
    font-weight: 400;
    color: #999;
    padding-top: 0px;
    padding-bottom: 0;
}

@media (min-width: 768px) {
    body .gform_wrapper div.gfield.form-privacy-policy {
        padding-top: 6px;
    }
}

body .gform_wrapper h3.gform_title {
    font-weight: 400;
    font-size: 2.2rem;
    margin: 10px 0 6px;
} 

body .gform_wrapper span.gform_description {
    font-weight: 400;
    font-size: 1.6rem;
    width: 100%;
    margin-bottom: 16px;
}

body .gform_wrapper.gravity-theme .gfield_label {
    font-size: 14px;
    font-weight: 500;
    color: #082B66;
    margin-bottom: 4px;
}

body .gform_wrapper.gravity-theme .gfield_checkbox label,
body .gform_wrapper.gravity-theme .gfield_radio label {
    font-size: 13px;
    font-weight: 400;
}

body .gform_wrapper .gfield_required {
    display: none !important;
    color: inherit;
}

body .gform_wrapper ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
font-size: 13px;
font-weight: 400;
line-height: 1;
color: #888888; 
}
body .gform_wrapper :-moz-placeholder { /* Firefox 19+ */ 
font-size: 13px;
font-weight: 400;
line-height: 1;
color: #888888; 
}
body .gform_wrapper ::-moz-placeholder { /* Firefox 18- */
font-size: 13px;
font-weight: 400;
line-height: 1;
color: #888888; 
}
body .gform_wrapper :-ms-input-placeholder { /* IE 10+ */
font-size: 13px;
font-weight: 400;
line-height: 1;
color: #888888; 
}

body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
body .gform_wrapper textarea {
    font-size: 14px;
    font-weight: 400;
    color: #3C3C3B;
    border: 1px solid rgba(182, 173, 163, .11);
    background-color: rgba(182, 173, 163, .11);
    padding: 11px 10px 11px 10px !important;
    border-radius: 3px !important;
} 

body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
    line-height: 1 !important;
}

body .gform_wrapper textarea {
    height: 130px !important;
}

body .gform_wrapper input:focus:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
body .gform_wrapper textarea:focus {
    border: 1px solid rgba(182, 173, 163, .8);
}

@media (max-width: 767px) { 
    body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
    body .gform_wrapper textarea {
        font-size: 16px;
    }
}

.gform_wrapper textarea.large {
    height: 180px;
    width: 100%;
}

body .gform_wrapper.gravity-theme .gfield.half {
    grid-column: auto/span 6;
}

body .gform_wrapper.gravity-theme .gfield.half.full {
    grid-column: auto/span 12;
}

@media (min-width: 540px) {
    body .gform_wrapper.gravity-theme .gfield.tel {
        grid-column: auto/span 6;
    }
}

@media (max-width: 640px) {
}

@media (min-width: 1200px) {
    body .gform_wrapper.gravity-theme .gfield.half.full.short {
        grid-column: auto/span 5;
    }

    body .gform_wrapper.gravity-theme .gfield.half.full.long {
        grid-column: auto/span 7;
    }
}

body .gform_wrapper .gform_footer button,
body .gform_wrapper .gform_footer input[type=submit] {
    font-size: 15px;
    font-weight: 400;
    line-height: 1 !important;
    color: #fff; 
    border: 1px solid #082B66;
    background-color: #082B66;  
    padding: 13px 31px 13px 30px !important;
    border-radius: 3px !important;
}

body .gform_wrapper .gform_footer button {
    margin-left: auto !important;
}

body .gform_wrapper .gform_footer button,
body .gform_wrapper .gform_footer input[type=submit] {
    min-width: 100px;
    text-align: center;
    margin-top: 19px;
}

body .gform_wrapper .gform_footer button:hover, 
body .gform_wrapper .gform_footer button:focus,
body .gform_wrapper .gform_footer button:active,
body .gform_wrapper .gform_footer input[type=submit]:hover, 
body .gform_wrapper .gform_footer input[type=submit]:focus,
body .gform_wrapper .gform_footer input[type=submit]:active {
    color: #fff;
    border-color: #0a93d2;
    background-color: #0a93d2;
}

@media only screen and (max-width: 641px) {
    body .gform_wrapper .gform_footer button,
    body .gform_wrapper .gform_footer input[type=submit] {
        margin-top: 15px;
    }
}

body .gform_wrapper li.hidden_label input {
    margin-top: 0;
    margin-bottom: 0px;
}

html body .gform_wrapper .top_label div.ginput_container_textarea {
    margin-bottom: 1px;
}

body .gform_wrapper.gravity-theme .gform_footer {
    margin: 0;
    padding: 0;
}

body .gform_wrapper.gravity-theme .gform_footer input {
    margin-top: 19px !important;
    margin-left: auto !important
}

body .gform_wrapper li.gfield.gfield_error, body .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
    background-color: transparent;
}

body .gform_wrapper div.validation_error {
    display: none;
} 

body .gform_wrapper li.gfield.gfield_error, 
body .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

body .gform_wrapper .gfield_description {
    font-size: 13px;
    padding-bottom: 9px;
}

.gform_wrapper .validation_message,
.gform_wrapper .gfield_error .gfield_label {
    color: #ca4841 !important;    
}

.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper li.gfield_error textarea {
    border: 1px solid #ca4841 !important;
}

body .gform_wrapper li.gfield.gfield_error, 
body .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
    margin-bottom: 20px !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

body .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container, 
body .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {
    margin-top: 0 !important;
}

body .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.gfield_description {
    font-size: 12px;
    font-weight: 400;
    padding-top: 0 !important;
    padding-bottom: 8px !important;  
}

.gform_confirmation_message {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
    color: #111;
}

body .gform_wrapper select {
    text-transform: none;
    border: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-radius: 0;
    padding: 4px;  
}

body .gform_wrapper.gravity-theme select {
    position: relative;
    display: block;
    vertical-align: middle;
    padding: 11px 10px 11px 10px;
    overflow: hidden;
    font-size: 14px;
    font-weight: 400; 
    line-height: 1.4;
    color: #888;
    border: 1px solid rgba(182, 173, 163, .11);
    background-color: rgba(182, 173, 163, .11);
    border-radius: 3px !important;
}

@media only screen and (min-width: 767px) { 
    body .gform_wrapper.gravity-theme select {
        font-size: 13px;
    }
}

body .gform_wrapper.gravity-theme select option {
    font-size: 16px;
    line-height: 2;
}

body .gform_wrapper.gravity-theme select option.gf_placeholder {
    display: none !important;
}

body .gform_wrapper .ginput_container_select {
    position: relative;
}

body .gform_wrapper .ginput_container_select:before {
    content: "\f107";
    position: absolute;
    right: 10px;
    font: normal normal normal 14px/1 fontawesome6;
    color: #9BA77D;
    pointer-events: none;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}

body .gform_wrapper .gfield_description.gform_fileupload_rules {
    font-size: 12px;
    font-weight: 400;
    color: #727681;
    padding: 0;
    padding-top: 4px;
    margin: 0;
}

html body .gform_wrapper .top_label div.ginput_container.ginput_container_fileupload {
} 

body .gform_wrapper .top_label .gfield_error {
    width: 100%;
}

body .gform_wrapper .gfield_validation_message,
body .gform_wrapper .validation_message {
    background: none;
    border: none;
    font-size: 15px;
    font-weight: 400;
    margin-top: 8px;
    padding: 10px 10px 10px 0;
}

@media only screen and (min-width: 641px) {
    body .gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
        max-width: 100% !important; 
        padding-right: 16px;
    }  
}

body .gform_wrapper div.gfield.form-privacy-policy {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
}

body .gform_wrapper div.gfield.form-privacy-policy a {
    text-decoration: underline;
} 

body .gform_wrapper div.gfield.form-privacy-policy a:hover {
    color: #000;
}

body .gform_wrapper.gravity-theme .gfield-choice-input {
    vertical-align: middle;
}

body .gform_wrapper.gravity-theme .gfield-choice-input+label {
    vertical-align: top;
}

.gform_required_legend {
    display: none !important;
}

#gform_wrapper_2 input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
#gform_wrapper_2 textarea {
    background: #fff;
    border-color: #fff;
} 

#gform_wrapper_2 input:focus:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
#gform_wrapper_2 textarea:focus {
    border-color: #fff;
}

#gform_submit_button_2 {
    color: #fff;
    border-color: #FE7A36;
    background-color: #FE7A36;
}

#gform_submit_button_2:hover, 
#gform_submit_button_2:focus,
#gform_submit_button_2:active {
    color: #fff;
    border-color: #0a93d2;
    background-color: #0a93d2;
}

body #gform_wrapper_2 .gfield_error input {
    border-color: #fff !important;
}

@media (min-width: 420px) {

    #gform_2 {
        display: flex;
        width: 420px;
        max-width: 100%;
    }

    #gform_2 .gform-body {
        -webkit-box-flex: 1;
        -ms-flex: 1 auto;
        flex: 1 auto;
        padding-right: 0rem;
        width: auto;
    }

    #gform_2 .gform_footer {
        -webkit-box-flex: 0;
        -ms-flex: 0 auto;
        flex: 0 0 auto;
        height: 42px; 
    }

    #gform_wrapper_2 input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
        height: 42px;
        border-top-right-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    }

    #gform_submit_button_2 {
        height: 42px;
        border-top-left-radius: 0 !important;
        border-bottom-left-radius: 0 !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

#gform_confirmation_message_2 {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
}

/* Hide the default spinner image */
.gform_ajax_spinner {
  margin-left: 6px;
  width: 14px;
  height: 14px;
  background: none !important;
  border: 3px solid rgba(242, 242, 242, 0.5);
  border-top: 3px solid #0a93d2;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  vertical-align: middle;
  opacity: 1;
}

/* Spinner Animation */
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.gform_wrapper.gravity-theme .gform_footer {
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}


/**
* wpBakery Custom Element
* ----------------------------------------------------------------------------
*/
body .wpb_content_element {
    margin-bottom: 30px;
}

body .vc_tta-tabs .vc_tta-panel {
    margin-bottom: 2px;
}

body .vc_col-has-fill>.vc_column-inner, 
body .vc_row-has-fill+.vc_row-full-width+.vc_row>.vc_column_container>.vc_column-inner, 
body .vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner, 
body .vc_row-has-fill>.vc_column_container>.vc_column-inner {
    padding-top: 30px;
}

/* Strech */ 
@media (min-width: 768px) {
  .vc_row.vc_row-flex > .vc_column_container.bg-strech-50-left > .vc_column-inner {
    margin-left: calc( (100vw - 750px)/2 * -1 );
  }
}

@media (min-width: 992px) {
  .vc_row.vc_row-flex > .vc_column_container.bg-strech-50-left > .vc_column-inner {
    margin-left: calc( (100vw - 970px)/2 * -1 );
  }
}

@media (min-width: 1200px) {
  .vc_row.vc_row-flex > .vc_column_container.bg-strech-50-left > .vc_column-inner {
    margin-left: calc( (100vw - 1170px)/2 * -1 );
  }
}

@media (min-width: 768px) {
  .vc_row.vc_row-flex > .vc_column_container.bg-strech-50-right > .vc_column-inner {
    margin-right: calc( (100vw - 750px)/2 * -1 );
  }
}

@media (min-width: 992px) {
  .vc_row.vc_row-flex > .vc_column_container.bg-strech-50-right > .vc_column-inner {
    margin-right: calc( (100vw - 970px)/2 * -1 );
  }
}

@media (min-width: 1200px) {
  .vc_row.vc_row-flex > .vc_column_container.bg-strech-50-right > .vc_column-inner {
    margin-right: calc( (100vw - 1170px)/2 * -1 );
  }
}

body .lvca-accordion.lvca-style2 .lvca-panel {
    margin: 0;
    color: #666;
    -webkit-transition: color .3s;
    transition: color .3s;
    position: relative;
    background: #fff;
}

nody .lvca-accordion.lvca-style2 .lvca-panel .lvca-panel-title {
    position: relative;
    display: block;
    border-radius: 5px;
    border: 1px solid #dcdcdc;
    overflow: hidden;
    padding: 20px 50px 20px 30px;
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 0;
    font-weight: bold;
    color: #666;
    margin: 0;
    -webkit-transition: all .3s ease-in-out 0s;
    transition: all .3s ease-in-out 0s;
    z-index: 1;
}

body .lvca-accordion.lvca-style2 .lvca-panel.lvca-active .lvca-panel-title {
    color: #666;
    border-radius: 5px 5px 0 0;
    border-color: #dcdcdc;
    background: #f3f8ff;
}

.lvca-accordion.lvca-style2 .lvca-panel:hover .lvca-panel-title, 
.lvca-accordion.lvca-style2 .lvca-panel:hover .lvca-panel-title:after {
    color: #666;
    border-color: #dcdcdc;
}

.lvca-accordion.lvca-style2 .lvca-panel .lvca-panel-title:after {
    color: #666;
}

.lvca-accordion.lvca-style2 .lvca-panel.lvca-active .lvca-panel-title::after {
    color: #666;
}

body .lvca-accordion.lvca-style2 .lvca-panel .lvca-panel-title:before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    height: 0;
    width: 100%;
    -webkit-transition: height 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    transition: height 0.3s cubic-bezier(0.77, 0, 0.175, 1);
    z-index: -1;
    background: #f3f8ff;
}

body .lvca-accordion.lvca-style2 .lvca-panel .lvca-panel-content {
    padding: 20px 30px;
    border-color: #dcdcdc;
    border-style: solid;
    border-width: 0 1px 1px 1px;
    border-radius: 0 0 5px 5px;
}

section.single-services {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-column-gap: 25px;
    column-gap: 25px;
    grid-row-gap: 25px;
    row-gap: 25px;    
}

@media (min-width: 768px) {
    section.single-services {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    section.single-services {
        grid-template-columns: repeat(3, 1fr);
    }
}

section.single-services .item-single-service {
    padding: 20px;
    border-radius: 25px;
    background: #F4F4F4;
}

section.single-services .item-single-service .flex-base {
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    align-items: flex-start;
    gap: 10px;   
    margin-left: -3px; 
}

section.single-services .item-single-service .icon {
    -webkit-box-flex: 0;
    -ms-flex: 0 53px;
    flex: 0 0 53px;
    width: 53px;
}

section.single-services .item-single-service .icon img {
    width: 53px;
    height: auto;
}

section.single-services .item-single-service .title {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.12;
    color: #1F2544;
}

section.single-services .item-single-service .desc {
    font-size: 18px;
    color: #082E6F;   
    margin-top: 7px;
}

@media (min-width: 768px) {
    #sec-tabs {
        margin-top: -90px;
        padding-bottom: 90px;
    }

    #sec-tabs .vc_tta-tabs-container {
        margin: 0;
    }

    #sec-tabs ul.vc_tta-tabs-list {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        grid-column-gap: 0;
        column-gap: 0;
        grid-row-gap: 0;
        row-gap: 0;  
        margin: 0;
    }

    #sec-tabs ul.vc_tta-tabs-list li {
        margin: 0;
    }

    #sec-tabs ul.vc_tta-tabs-list li a {
        overflow: hidden;
        height: 90px;
        border: none;
        border-radius: 0;
        font-size: 16px;
        font-weight: 300;
        line-height: 1.2;
        color: #F9FAFF;
        background: rgba(0, 0, 0, 0.55);
    }

    #sec-tabs ul.vc_tta-tabs-list li a:hover,
    #sec-tabs ul.vc_tta-tabs-list li.vc_active a {
        background: rgba(0, 0, 0, 0.25);
    }

    #sec-tabs > .wpb_column > .vc_column-inner {
        padding-top: 0;
    }
}

@media (min-width: 992px) {
    #sec-tabs ul.vc_tta-tabs-list li a {
        font-size: 18px;
    }
}

#sec-tabs .vc_tta-panels {
    background: #fff;
    border: none;
}

#sec-tabs h3 {
    margin-top: 30px;
    margin-bottom: 35px;
}

@media (max-width: 767px) {
    #sec-tabs h3 {
        font-size: 24px;
        margin-top: 0;
        margin-bottom: 15px;
    }
}

body.product #sec-product-tabs > .vc_column_container >.vc_column-inner  {
    padding-top: 0 !important;
}

@media (max-width: 767px) {
    body.product #sec-product-tabs  {
        padding-top: 40px;
    }
}

body.product-1 #sec-tabs .wpb_content_element.product-1 {
    display: none;
}
body.product-2 #sec-tabs .wpb_content_element.product-2 {
    display: none;
}
body.product-3 #sec-tabs .wpb_content_element.product-3 {
    display: none;
}
body.product-4 #sec-tabs .wpb_content_element.product-4 {
    display: none;
}
body.product-5 #sec-tabs .wpb_content_element.product-5 {
    display: none;
}


/**
* Theme Elements
* ----------------------------------------------------------------------------
*/
a.theme-button {
    position: relative;
    display: inline-block;
    padding: 0.7em 2em;
    background: #082E6F;
    color: white;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    overflow: hidden;
    transition: color 0.3s ease;
}

a.theme-button:before {
    content: "";
    position: absolute;
    left: -100%;
    top: 0;
    width: 100%;
    height: 100%;
    background: #0a93d2;
    z-index: 0;
    transition: left 0.4s ease;
}

a.theme-button:hover:before {
    left: 0;
}

a.download-button:before {
    left: 0;
    top: -100%;
    transition: top 0.4s ease;
}

a.download-button:hover:before {
    top: 0;
}

a.theme-button span {
    position: relative;
    z-index: 1;
}

a.theme-button .flex-base {
    position: relative;
    z-index: 2;
}


/**
* Sections
* ----------------------------------------------------------------------------
*/
#sec-nav-anchor {
    height: 1px;
    overflow: hidden;
}

body.header-hero:not(.product) #sec-nav-anchor + div {
    margin-top: 50px;
}

@media (min-width: 768px) {
    body.header-hero:not(.product) #sec-nav-anchor + div {
        margin-top: 80px;
    }
}

body.header-hero:not(.product) #sec-nav-anchor + div > .wpb_column > .vc_column-inner {
    padding-top: 0 !important;
}

#sec-newsletter {
    background: #082E6F;
    padding-bottom: 30px;
    margin-top: 20px;
    margin-bottom: 20px;
}

#sec-newsletter .col-flex > .vc_column-inner > .wpb_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 15px;
}

#sec-newsletter .col-flex > .vc_column-inner > .wpb_wrapper > div {
    width: 100%;
}

#sec-newsletter .col-flex .sec-heading {
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
}

#sec-newsletter .col-flex .sec-content {
}

@media (min-width: 992px) {
    #sec-newsletter .col-flex > .vc_column-inner > .wpb_wrapper > div.sec-heading {
        width: 50%;
        padding-right: 15px;
    }

    #sec-newsletter .col-flex > .vc_column-inner > .wpb_wrapper > div.sec-content {
        width: 50%;
        margin-left: auto;
    }    
}

@media (min-width: 1024px) {
    #sec-newsletter .col-flex > .vc_column-inner > .wpb_wrapper > div.sec-heading {
        width: 60%;
    }

    #sec-newsletter .col-flex > .vc_column-inner > .wpb_wrapper > div.sec-content {
        width: 40%;
    }    
}

#sec-demo {
    background: #082E6F;
    background: #2E456E;
    padding-top: 30px;
    padding-bottom: 30px;
}

#sec-demo .wpb_column > .vc_column-inner {
    padding-top: 0 !important;
}

#sec-demo > .wpb_column > .vc_column-inner > .wpb_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

#sec-demo h2 {
    font-size: 36px;
    margin-bottom: 0;
}

#sec-demo .el-button {
    line-height: 0;
}

@media (min-width: 768px) {
    #sec-demo h2 {
        font-size: 45px;
    }    
}

#sec-demo a.theme-button {
    background: #1F2544;
}

#sec-carousel-cs {
    padding-top: 50px;
}

#sec-carousel-cs .wpb_column > .vc_column-inner {
    padding-top: 0 !important;
}

@media (min-width: 768px) {
    #sec-carousel-cs {
        padding-top: 80px;
    }
}

#sec-carousel-cs h4 {
    margin-bottom: 30px;
}

/**
* Glide
* ----------------------------------------------------------------------------
*/
body .glide__bullets {
    position: relative;
    z-index: 2;
    bottom: auto;
    left: 50%;
    display: inline-flex;
    list-style: none;
    transform: translateX(-50%);
    padding-top: 2em;
}

body .glide__bullet {
    background-color: #082E6F;
    width: 11px;
    height: 11px;
    padding: 0;
    border-radius: 50%;
    border: none;
    transition: all 300ms ease-in-out;
    cursor: pointer;
    line-height: 0;
    box-shadow: none;
    margin: 0 .25em;
}

body .glide__bullet--active {
    background-color: #ccc;
}

body .glide__bullet:hover, 
body .glide__bullet:focus {
    background-color: #ccc;
    border: none;
}

body .glide__arrows {
    display: none;
}

body .glide__arrow--left {
    left: 15px;
}

body .glide__arrow--right {
    right: 15px;
}

body .glide__arrow {
    position: absolute;
    display: block;
    top: 50%;
    z-index: 2;
    font-size: 30px;
    color: #fff;
    text-transform: uppercase;
    padding: 0;
    background: none;
    border: none;
    border-radius: 4px;
    box-shadow: none;
    text-shadow: none;
    opacity: 1;
    cursor: pointer;
    transition: opacity 150ms ease, border 300ms ease-in-out;
    transform: translateY(-50%);
    line-height: 1;
}

body .glide__arrow:hover,
body .glide__arrow:hover,
body .glide__arrow:hover {
    background: none;
    border-width: 0;
    color: #fff;
}

@media (min-width: 768px) {
    body .glide .glide__arrows {
        display: block;
        opacity: 0;
    } 

    body .glide:hover .glide__arrows {
        opacity: 1;
    } 
}

.case-study-carousel .glide__slide .image-wrapper {
  position: relative;
  padding-top: 73%;          /* Maintains aspect ratio */
  border-radius: 16px;
  overflow: hidden;
}

.case-study-carousel .glide__slide .image-wrapper figure {
  position: absolute;
  top: 0; 
  left: 0;
  width: 100%; 
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.5s ease;
  border-radius: inherit;
}

.case-study-carousel .glide__slide a:hover .image-wrapper figure {
  transform: scale(1.1);
}

/**
* Video
* ----------------------------------------------------------------------------
*/
.video-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9; /* modern, cleaner than padding-bottom hack */
}

.video-container:after {
    position: absolute;
    display: block;
    content: '';
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: #fff;
    z-index: 1;
}

video {
    object-fit: cover;
}

.video-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;  /* ensures video fills container with no black bars */
    display: block;
    margin: 0;
    padding: 0;
    border: none;
}

.video-container .tooltip {
    position: absolute;
    bottom: 13px;
    left: 10px;
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 14px;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.video-container:hover .tooltip {
    visibility: visible;
    opacity: 1;
}



/**
* Pagination
* ----------------------------------------------------------------------------
*/

/* posts */
.posts-pagination {
  font-size: 16px;
  border-top: 1px solid #dadada; 
  padding-top: 10px;
  margin-top: 15px;   
} 

@media (min-width: 768px) {
  .posts-pagination {
    margin-top: 45px;   
  } 
}

.posts-pagination .pagination-posts,
.posts-paginationX .share {
    display: flex;
    gap: 4px;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 100%;
    flex: 1 0 100%;  
    width: 100%;
}

.posts-pagination .pagination-posts > * {
    display: inline-flex;
}

.posts-pagination .pagination-posts > div:first-of-type {
    margin-left: auto;
}

.posts-paginationX .share {
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  .posts-pagination .pagination-posts {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    width: auto;  
  }  
  
  .posts-paginationX .share {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
  }
} 

.posts-pagination a {
    font-size: 20px;
    text-decoration: none;
}

.posts-pagination a:hover {
    color: #0a93d2;
}

/* pages */
.nav-links {
    display: flex;
    gap: 8px;  
}

.nav-links .page-numbers {
    font-weight: 500;
    text-decoration: none;
    padding: 5px;
}

.nav-links .page-numbers.current {
    color: #aaa;
}


.nav-links .page-numbers.prev,
.nav-links .page-numbers.next {
}

.nav-links .page-numbers.prev:hover,
.nav-links .page-numbers.next:hover {
    color: #0a93d2;
}

.archive-pagination li a {
    background-color: #f5f5f5;
    color: #333;
    cursor: pointer;
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 4px;
    padding: 8px 12px;
    text-decoration: none;
}

.archive-pagination li a:focus, 
.archive-pagination li a:hover, 
.archive-pagination li.active a {
    background-color: #333;
    color: #fff;
}

/**
* 404 Error
* ----------------------------------------------------------------------------
*/
body.error404 .site-header {
    margin-bottom: 50px;
}

body.error404 .site-inner {
    padding-bottom: 80px;
}

@media (min-width: 768px) { 
    body.error404 .site-header {
        margin-bottom: 80px;
    }

    body.error404 .site-inner {
        padding-bottom: 120px;
    }
}

body.error404 article {
    font-size: 18px;
}


/**
* Search
* ----------------------------------------------------------------------------
*/
form.custom-search input[type=search] {
    position: relative;
    display: inline-block;
    width: 100%;
    vertical-align: top;
    padding: 14px 20px;
    padding-right: 40px;
    margin: 0;
    font-family: inherit;
    font-size: 16px;
    line-height: 28px;
    font-weight: inherit;
    color: #a8a7a7;
    background-color: transparent;
    border-color: 1px solid #e1e1e1;
    border-radius: 0;
    box-sizing: border-box;
    outline: 0;
    /*cursor: pointer;*/
    transition: color .2s ease-out, background-color .2s ease-out, border-color .2s ease-out;
}

a.site-search-close svg rect,
a.site-search-close svg path,
a.site-search-open svg rect,
a.site-search-open svg path,
form.custom-search button svg rect,
form.custom-search button svg path {
    fill: #444e59;
}

a.site-search-close:hover svg rect,
a.site-search-close:hover svg path,
a.site-search-open:hover svg rect,
a.site-search-open:hover svg path,
form.custom-search button:hover svg rect,
form.custom-search button:hover svg path {
    fill: #0a93d2;
}

form.custom-search button {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    margin: 0;
    color: #a8a7a7;
    background-color: transparent !important;
    border: 0 !important;
    font-size: 14px;
    line-height: 27px;
    font-weight: 700;
    text-transform: lowercase;
    border-radius: 0;
    outline: 0;
    text-decoration: none;
    cursor: pointer;
    transition: color .25s ease-in-out, background-color .25s ease-in-out, border-color .25s ease-in-out;    
}

body.error404 form.custom-search {
    width: 600px;
    max-width: 100%;
}

body.error404 form.custom-search .search-action {
}

/*
body.error404 form.custom-search button {
    color: #fff;
    border: 1px solid #082B66;
    background-color: #082B66;
    line-height: 1;
    padding-top: 10px;
    padding-bottom: 11px;
}

body.error404 form.custom-search button:focus,
body.error404 form.custom-search button:active,
body.error404 form.custom-search button:hover {
    border: 1px solid #0a93d2;
    background-color: #0a93d2;
}
*/    

body .relevanssi-live-search-result p, 
body .relevanssi-live-search-result-status p {
  font-size: 15px;
  padding: 0;
  border: 0;
}

body .relevanssi-live-search-result-status p {
  font-size: 15px;
  color: #433045;
  border-top: 4px solid #ededed;
}

body .relevanssi-live-search-results,
.search-results-wrap #search-results {
  color: #8a8a8a;
}

@media (max-width: 767px) { 
}

body .relevanssi-live-search-result-status p,
body .relevanssi-live-search-results a {
  text-decoration: none;
  display: block;
  font-size: 15px;
  color: inherit;
  padding: 12px 15px 10px 15px;
  margin: 0;
  border-bottom: 1px solid #ededed;
}

body .relevanssi-live-search-results a:hover {
  background-color: #f9f9f9;
}

body .relevanssi-live-search-no-results {
  font-size: 15px;
  color: inherit;
  padding: 12px 15px 10px 15px;
  margin: 0;
}

body .rlv-has-spinner {
  width: 28px;
  height: 28px;
  border: 6px solid #7F5D83;
  border-right-color: transparent;
  border-radius: 50%;
  position: relative;
  animation: loader-rotate 1s linear infinite;
  margin: 1em auto;
}
body .rlv-has-spinner::after {
  display: none;
  content: "";
  width: 6px;
  height: 6px;
  background: #7F5D83;
  border-radius: 50%;
  position: absolute;
  top: -1px;
  left: 13px;
}

.relevanssi-live-search-results .ajax-result {}

.relevanssi-live-search-results .ajax-result a {
  text-decoration: none;
  display: block;
  font-size: 15px;
  color: inherit;
  padding: 12px 15px 10px 15px;
  margin: 0;
  border-bottom: 1px solid #ededed;
}

.relevanssi-live-search-results .ajax-result:last-of-type a {
  border-bottom: none;
}

.relevanssi-live-search-results .ajax-result a:hover {
  background-color: #f9f9f9;
}


/**
* Pages
* ----------------------------------------------------------------------------
*/
.el-mb-hide {
    display: block;
}

@media (min-width: 768px) {
    .el-mb-hide {
        display: none;
    } 
}

body .site-inner article > p {
    display: none;
}

body .site-inner .wpb_text_column p {
    margin-bottom: 20px;
}

body .site-inner .wpb_text_column p:last-of-type {
    margin-bottom: 0;
}

body .site-inner .wpb_text_column ul > li {
    margin-bottom: 1em;
}

body.page article.entry {
    margin-bottom: 0;
}

body #sec-hero {
  min-height: 50px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

body.header-hero #sec-hero {
    min-height: 450px;
}

body.header-hero #sec-hero.sec-hero-large {
    min-height: 600px;
}

body.header-hero #sec-hero:not(.sec-hero-large) {
    padding-bottom: 20px;
}

body.header-hero #sec-hero.sec-hero-large > div {
    padding-bottom: 20px;
}

@media (min-width: 768px) {
    body.header-hero #sec-hero.sec-hero-large > div {
        padding-bottom: 150px;
    }
}

@media (min-width: 768px) {
    body.page #sec-hero {
        min-height: 80px;
    }

    body.header-hero #sec-hero {
        min-height: 600px;
    }

    body.header-hero #sec-hero.sec-hero-large {
        min-height: 700px;
    }

    body.header-hero #sec-hero:not(.sec-hero-large) {
        padding-bottom: 30px;
    }    
}

body.header-hero #sec-hero {
  position: relative;
}

body.header-heroX #sec-hero:before {
  position: absolute;
  inset: 0;
  display: block;
  content: '';
  background: rgba(255, 255, 255, 0.3);
}

/* Home pages */
body.home #sec-1 {
  color: #FAFCFF;  
  padding-top: 80px;
  padding-bottom: 80px;
}

body.home #sec-1 h1 {
    margin-bottom: 25px;
}

body.home #sec-1 .el-1 {
    margin-bottom: 25px;
}

@media (min-width: 768px) {
    body.home #sec-1 {
        padding-top: 150px;
        padding-bottom: 150px;
    }
}

body.home #sec-1 a.download-button {
    background: #000;
}

body.home #sec-2 {
    padding-top: 10px;
    padding-bottom: 10px;
}

body.home #sec-2 h3 {
    margin-bottom: 12px;
}

@media (min-width: 768px) {
    body.home #sec-2 {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    body.home #sec-2 .col-left {
        padding-right: 6%;
    }

    body.home #sec-2 .col-right {
        padding-left: 6%;
    }    
}

body.home #sec-3 {
  color: #FAFCFF;  
}

body.home #sec-3 > .wpb_column > .vc_column-inner {
  padding-top: 0 !important;
}

body.home #sec-3 .col-left {
    position: relative;
    padding-top: 40px;
    padding-bottom: 30px;
    z-index: 2;
}

@media (min-width: 768px) {
    body.home #sec-3 .col-left {
        padding-top: 80px;
        padding-bottom: 60px;
    }
}

@media (max-width: 767px) {
    body.home #sec-3 .col-right > .vc_column-inner {
        background-image: none !important;
    }
}

body.home #sec-3 .wpb_single_image {
    margin-bottom: 0;
}

body.home #sec-3 h2 {
    margin-bottom: 30px;
}

@media (min-width: 768px) {
    body.home #sec-3 h2 {
        width: 390px;
        max-width: 100%;
        font-size: 45px;
        margin-bottom: 60px;
    }
}

body.home #sec-3 .sec-inner {
}

body.home #sec-3 .sec-inner > .wpb_column > .vc_column-inner {
    padding-top: 0 !important;
}

body.home #sec-3 .sec-inner > .wpb_column > .vc_column-inner > .wpb_wrapper {
    position: relative;
    background: #2E456E;
    padding-top: 30px;
    padding-bottom: 20px;   
}

@media (min-width: 768px) {
    body.home #sec-3 .sec-inner > .wpb_column > .vc_column-inner > .wpb_wrapper {
        margin-right: -20%;
    }
}

body.home #sec-3 .sec-inner > .wpb_column > .vc_column-inner > .wpb_wrapper:before {
    display: block;
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100vw;
    background: #2E456E;
}

body.home #sec-3 .sec-inner > .wpb_column > .vc_column-inner > .wpb_wrapper > div {
    position: relative;
}

body.home #sec-3 .sec-inner .el-1 {
    font-size: 20px;
}

@media (min-width: 768px) {
    body.home #sec-3 .sec-inner .el-1 {
        width: 450px;
        max-width: 100%;
    }
}

body.home #sec-3 .sec-inner a.theme-button {
    background: #1F2544;
}

body.home #sec-4 {
    padding-top: 40px;
    padding-bottom: 40px;
}

body.home #sec-4 h2 {
    margin-bottom: 20px;
}

body.home #sec-4 .el-2 {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    line-height: 1.2;
}

body.home #sec-4 .el-1 {
    font-size: 18px;
}

@media (min-width: 768px) {
    body.home #sec-4 {
        padding-top: 100px;
        padding-bottom: 70px;
    }  

    body.home #sec-4 h2 {
        font-size: 38px;
        margin-bottom: 40px;
    }
}

@media (min-width: 992px) {
    body.home #sec-4 .el-1 {
        padding-right: 20%;
    }
}

body.home .vc_tta-color-white.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-heading {
    background-color: rgba(255, 255, 255, 0.8);
}

body.home .vc_tta-color-white.vc_tta-style-classic .vc_tta-panel.vc_active .vc_tta-panel-heading,
body.home .vc_tta-color-white.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-heading:hover {
    background-color: #fff;
}

body.home .vc_tta-color-white.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-body {
    background-color: #fff;
}

body.home .vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-right.vc_tta-panel-title > a {
    padding-right: 55px;
}


/* Product pages */

@media (max-width: 767px) {

    body.product #sec-hero h1 {
        font-size: 32px;
    }    
    
    body.product #sec-hero h2 {
        font-size: 26px;
        color: rgba(0, 0, 0, 0.5);
    }
}

body.product #sec-intro {
    margin-top: 50px;
    margin-bottom: 20px;
}

body.product #sec-intro h3 {
    margin-bottom: 35px;
}

@media (min-width: 768px) {
    body.product #sec-intro {
        margin-top: 80px;
        margin-bottom: 50px;
    }
}

body.product #sec-nav .widget,
body.product #sec-nav .vc_wp_custommenu {
    margin-bottom: 0;
}

body.product #sec-nav #menu-menu-products {
    display: none;
    grid-template-columns: repeat(5, 1fr);
    padding-left: 0;
    margin-bottom: 0;
    margin-top: -91px;
}

body.product #sec-nav #menu-menu-products > li {
    list-style: none;
    margin-bottom: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.3);
}

body.product #sec-nav #menu-menu-products > li#menu-item-400 {
    display: none;
}

body.product #sec-nav #menu-menu-products > li:last-of-type {
    border-right: none;
}

body.product #sec-nav #menu-menu-products > li > a {
    display: block;
    text-decoration: none;
    overflow: hidden;
    height: 90px;
    border: none;
    border-radius: 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.2;
    color: #F9FAFF;
    background: rgba(0, 0, 0, 0.55);
    padding: 14px 20px 0 20px;
}

body.product #sec-nav #menu-menu-products > li > a:hover, 
body.product #sec-nav #menu-menu-products > li.current-menu-item > a {
    background: rgba(0, 0, 0, 0.25);
}

@media (min-width: 768px) {
    body.product #sec-nav #menu-menu-products {
        display: grid;
    }
}

@media (min-width: 992px) {
    body.product #sec-nav #menu-menu-products > li > a {
        font-size: 18px;
    }
}

body.product-1 #sec-1 {
  color: #FAFCFF;  
}

body.product-1 #sec-1 > .wpb_column > .vc_column-inner {
  padding-top: 0 !important;
}

body.product-1 #sec-1 .col-left {
    font-size: 16px;
    padding-top: 40px;
    padding-bottom: 10px;
}

@media (min-width: 992px) {
    body.product-1 #sec-1 .col-left {
        padding-right: 5%;
    }
}

body.product-1 #sec-1 .col-right {
}

@media (max-width: 767px) {
    body.product-1 #sec-1 .col-right > .vc_column-inner {
        background-image: none !important;
    }
}

body.product-1 #sec-1 .wpb_single_image {
    margin-bottom: 0;
}

body.product-1 #sec-1 h2 {
  font-size: 35px;
  margin-bottom: 20px;
}

@media (min-width: 768px) {
    body.product-1 #sec-1 h2 {
        font-size: 42px;
        margin-bottom: 30px;
    }
}

body.product-1 #sec-2 {
    padding-top: 20px;
    padding-bottom: 20px;
}

@media (min-width: 768px) {
    body.product-1 #sec-2 {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}

body.product-1 #sec-2 .el-iphone img {
    width: 140px;
    min-width: 100%;
    margin: 0 auto;
}

body.product-2 .site-inner .wpb_text_column ul > li {
    font-size: 16px;
    margin-bottom: 1em;
}

body.product-2 .sec-strech {
  color: #FAFCFF;  
}

body.product-2 .sec-strech h6 {
    font-size: 18px;
    margin-bottom: 30px;
}

body.product-2 .sec-strech ul > li {
    padding-left: 0;
}

body.product-2 .sec-strech > .wpb_column > .vc_column-inner {
  padding-top: 0 !important;
}

body.product-2 #sec-4 .col-left,
body.product-2 #sec-1 .col-left {
    padding-top: 40px;
    padding-bottom: 10px;
}

body.product-2 #sec-3 .col-right {
    padding-top: 40px;
    padding-bottom: 10px;
}

@media (min-width: 768px) {
    body.product-2 #sec-4 .col-left,
    body.product-2 #sec-1 .col-left {
        padding-right: 30px;
    }

    body.product-2 #sec-3 .col-right {
        padding-left: 30px;
    }    
}

body.product-2 #sec-1 .col-right {
}

@media (max-width: 767px) {
    body.product-2 #sec-4 .col-right > .vc_column-inner,
    body.product-2 #sec-1 .col-right > .vc_column-inner {
        background-image: none !important;
        margin-left: -15px;
        margin-right: -15px;
    }

    body.product-2 #sec-3 .col-left {
        order: 1;
    }

    body.product-2 #sec-3 .col-left > .vc_column-inner {
        background-image: none !important;
        margin-left: -15px;
        margin-right: -15px; 
    }
}

body.product-2 .sec-strech .wpb_single_image {
    margin-bottom: 0;
}

body.product-2 #sec-2 {
    padding-top: 0;
    padding-bottom: 30px;
    margin-top: 20px;
    margin-bottom: 20px;
}

body.product-2 #sec-2 .col-grid > .vc_column-inner > .wpb_wrapper {
    width: 768px;
    max-width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;   
    align-items: center;
    justify-content: space-evenly;
    row-gap: 10px; 
    column-gap: 20px;
    margin: 0 auto; /* centers horizontally */
}

body.product-2 #sec-2 .col-grid > .vc_column-inner > .wpb_wrapper > div {
    margin-bottom: 0;
}

@media (max-width: 649px) {
    body.product-2 #sec-2 .col-grid > .vc_column-inner > .wpb_wrapper {
        justify-content: flex-start;
    }

    body.product-2 #sec-2 .col-grid > .vc_column-inner > .wpb_wrapper > div:first-child {
        width: 100%;
    }  
}

body.product-2 #sec-2 .vc_custom_heading {
    color: #FFF;
    font-size: 25px;
}

body.product-2 #sec-2 .logo-ionos {
  flex: 0 0 auto;            /* do not grow or shrink */
  width: 133px;              /* or any fixed width */
}

body.product-2 #sec-2 .logo-ionos img {
    width: auto;
    height: 78px;
}

body.product-2 #sec-2 .logo-sage {
  flex: 0 0 auto; 
  width: 210px;
}

body.product-2 #sec-2 .logo-sage img {
    width: auto;
    height: 63px;
}

body.product-3 #sec-1 {
    margin-bottom: 20px;
}

@media (min-width: 768px) {
    body.product-3 #sec-1 {
        margin-bottom: 50px;
    }
}

body.product-3 #sec-1 img {
    border-radius: 20px;
}

body.product-3 #sec-2 h6 {
    display: inline-block;
    font-size: 18px;
    color: #fff;
    background: #082E6F;
    border-radius: 4px;
    padding: 5px 20px;
    margin-bottom: 15px;
}

body.product-3 #sec-2 ul {
    padding-left: 40px;
}

body.product-3 #sec-2 .el-ul-strong ul li {
    font-weight: 600;
    list-style-type: none;
    margin-left: -20px;
}

body.product-5 #sec-1 {
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    body.product-5 #sec-1 {
        margin-bottom: 40px;
    }
}

body.product-5 #sec-1 .col-right {
    padding-top: 10px;
    padding-bottom: 10px;
}

@media (min-width: 768px) {
    body.product-5 #sec-1 .col-right {
        padding-left: 30px;
    }
}

body.product-5 #sec-1 .col-left > .vc_column-inner {
  position: relative; 
  min-height: 300px;
  border-top-right-radius: 225px;
}

body.product-5X #sec-1 .col-left > .vc_column-inner {
  position: relative; 
  min-height: 300px;
/*
  aspect-ratio: 16 / 9;
  overflow: hidden;
  -webkit-mask-image: url('data:image/svg+xml;utf8,\ <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none">\ <polygon fill="white" points="30,0 70,0 100,30 100,70 70,100 30,100 0,70 0,30" />\ </svg>');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  -webkit-mask-position: center; 
*/ 

-webkit-mask-image: url(https://genesissoftwaresolutions-co-uk.stackstaging.com/wp-content/uploads/2025/07/blob.svg);
    -webkit-mask-size: cover;
    -webkit-mask-position: center center;
    -webkit-mask-repeat: no-repeat;
}

body.product-5 #sec-1X .col-left > .vc_column-inner:before {
  background-image: url('data:image/svg+xml;utf8,\ <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none">\ <polygon fill="white" points="30,0 70,0 100,30 100,70 70,100 30,100 0,70 0,30" />\ </svg>');
background-size: 100px 100px;       /* or 'contain' */
  background-repeat: repeat; /* prevents tiling */ 

    display: block;
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100px;
    z-index: 1;
    pointer-events: none; 
    z-index: 2;
}

body.product-5 #sec-1X .col-left > .vc_column-inner:before {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100px;
    background: red;
    z-index: 1;
    pointer-events: none; /* allow clicks to go through */
}

body.product-5 #sec-1X .col-left > .vc_column-inner:after {
    display: block;
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100px;
    background: red;
    z-index: 1;
    pointer-events: none; /* allow clicks to go through */
}

body.product-5 #sec-2 {
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    body.product-5 #sec-2 {
    }
}

body.product-5 #sec-3 {
    padding-top: 10px;
    padding-bottom: 10px;
}

@media (min-width: 768px) {
    body.product-5 #sec-3 {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}


/* Services page */
body.services #sec-intro {
  margin-bottom: 50px;
}

@media (min-width: 768px) {
    body.services #sec-intro {
        margin-bottom: 50px;
    }
}

body.services #sec-services {
  margin-bottom: 0px;
}

@media (min-width: 768px) {
}

/* Contact page */
body.contact #sec-1 {
  margin-bottom: 50px;
}

@media (min-width: 768px) {
    body.contact #sec-1 {
        margin-bottom: 50px;
    }
}

body.contact .sec-heading h2 {
  font-weight: 500;
  margin-bottom: 25px;
}

body.contact .sec-content a {
  text-decoration: none;
}

body.contact .sec-content a:hover {
  color: #0a93d2;
}

body.contact .sec-content h6 {
  font-size: 26px;
  font-weight: 400;
  margin-bottom: 10px;
}

body.contact .sec-content .el-1 {
  font-size: 20px;
  color: #1F2544;
  margin-bottom: 20px;
}

body.contact .sec-content .el-2 {
  font-size: 18px;
  color: #1F2544;
  margin-bottom: 8px;
}

body.contact .sec-content .el-3 {
  font-size: 18px;
  color: #1F2544;
}

/* Policy pages */
body.policy #sec-intro {
  margin-bottom: 30px;
}

body.policy h2 {
  font-size: 28px;
  margin-bottom: 0;
}

body.policy h3 {
  font-size: 22px;
  margin-bottom: 15px;
}

/**
* Post & CPT
* ----------------------------------------------------------------------------
*/
.entry-title a:focus, .entry-title a:hover {
    color: #0a93d2;
}

body.blog .image-wrapper,
body.archive .image-wrapper {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  height: 100%;
}

body.blog .image-wrapper {
  padding-top: 66.6666%;
}

body.archive .image-wrapper {
  padding-top: 60%;
}

@media (min-width: 768px) {
    body.archive .image-wrapper {
    padding-top: 120%;
    }
}

body.blog .image-wrapper figure,
body.archive .image-wrapper figure {
  position: absolute;
  top: 0; 
  left: 0;
  width: 100%; 
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.5s ease;
  border-radius: inherit;
}

body.blog .image-link:hover .image-wrapper figure,
body.archive .image-link:hover .image-wrapper figure {
  transform: scale(1.1);
}

body.blog #sec-hero,
body.archive #sec-hero {
}

@media (min-width: 768px) {
    body.blog  #sec-hero,
    body.archive #sec-hero {
    }
}


body.blog .site-inner .content-sidebar-wrap,
body.archive .site-inner .content-sidebar-wrap {
    padding-bottom: 50px;
}

@media (min-width: 768px) {
    body.blog .site-inner .content-sidebar-wrap,
    body.archive .site-inner .content-sidebar-wrap {
        padding-bottom: 80px;
    }
}

.archive-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}

.archive-grid .archive-entry {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #e0dedd;
    border-radius: 8px;
    padding-bottom: 30px;
}

.archive-gridX .archive-entry > :last-child {
  margin-top: auto;
}

@media (min-width: 768px) {
    .archive-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    body.blog .archive-grid .archive-entry.featured,
    body.archive .archive-grid .archive-entry.featured {
        padding-bottom: 0;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        align-items: start;
        gap: 20px;
        grid-column: auto / span 2;
    }

    body.archive .archive-grid .archive-entry.featured .featured-image {
        order: 1;
        margin: 0;
    }

    body.blog .archive-grid .archive-entry.featured .featured-image {
        margin: 0;
    }

    body.blog .archive-entry.featured .image-wrapper {
        padding-top: 66.6666%;
        border-radius: 8px 0 0 8px;
    }

    body.archive .archive-entry.featured .image-wrapper {
        padding-top: 120%;
        border-radius: 0 8px 8px 0;
    }

    body.blog .archive-grid .archive-entry.featured .box-content,
    body.archive .archive-grid .archive-entry.featured .box-content {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

@media (min-width: 992px) {   
    body.archive .archive-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }

    body.blog .archive-entry.featured .image-wrapper {
        padding-top: 66.6666%;
        border-radius: 8px 0 0 8px;
    }

    body.archive .archive-entry.featured .image-wrapper {
        padding-top: 56%;
        border-radius: 0 8px 8px 0;
    }

    body.archive .archive-grid .archive-entry.featured {
        padding-bottom: 0;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        align-items: start;
        gap: 30px;
        grid-column: auto/span 3;
    }

    body.archive .archive-grid .archive-entry.featured .featured-image {
        grid-column: auto/span 2;
        order: 1;
        margin: 0;
    }

    body.archive .archive-grid .archive-entry.featured .box-content {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

.archive-grid .archive-entry > div:not(.featured-image) {
    padding-left: 30px;
    padding-right: 30px;
}

.archive-grid .archive-entry .featured-image {
    position: relative;
    height: 100%;
    margin-bottom: 30px;
}

.archive-grid .archive-entry .cat-list {
    max-width: 80%;
    position: absolute;
    bottom: 10px;
    left: 10px;
    font-size: 12px;
    line-height: 1;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 8px 12px;
    border-radius: 4px;
}

.archive-grid .archive-entry .featured-image .image-wrapper {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.archive-grid .archive-entry .list-date-author svg path {
    fill: #595959;
}

.archive-grid .archive-entry .list-date-author {
    font-size: 14px;
    color: #595959;
    gap: 5px 15px; /* row-gap column-gap */
    margin-bottom: 14px;
}

.archive-grid .archive-entry .list-date .icon {
    height: 16px;
}

.archive-grid .archive-entry .list-author .icon {
    height: 17px;
}

.archive-grid .archive-entry .list-item {
    gap: 5px;
}

.archive-grid .archive-entry a {
    text-decoration: none;
}

.archive-grid .archive-entry a:hover {
    color: #0a93d2;
}

.archive-grid .archive-entry h2 {
    font-size: 24px;
    margin-bottom: 25px;
}

.archive-grid .archive-entry .excerpt {
    font-size: 18px;
    margin-bottom: 30px;
}

.archive-grid .archive-entry .list-tag .icon {
    height: 14px;
}

.archive-grid .archive-entry .list-tag {
    gap: 9px;
    font-size: 14px;
    color: #0a93d2;
}

.archive-grid .archive-entry .icon-tag path {
    fill: #0a93d2;
}

body.single .sec-images img {
    border-radius: 20px;
}

body.single #sec-main-image img {
    border-radius: 20px;
}

body.single #sec-main-image .sec-video {
    margin-bottom: 30px;
}

body.single #sec-date {
    font-size: 14px;
    padding-top: 15px;
}

body.single #sec-date .el-1 {
    margin-bottom: 15px;
}

.post-date-tags {
    gap: 3px;
}

/* Case Study single */
body.post-type-archive-case_study h1,
body.single-case_study h1 {
    font-size: 24px;
} 

@media (min-width: 768px) {
    body.post-type-archive-case_study h1,
    body.single-case_study h1 {
        font-size: 28px;
    }
}

body.single-case_study #sec-case-study-carousel {
    margin-bottom: 50px;
}

body.single-case_study #sec-case-study-carousel h4 {
    text-align: center;
    margin-bottom: 30px;
}