/*
Theme Name: Dragonfli
Description: Dragonfli Theme
Author: Niftic
Author URL: http://niftic.agency
Template: werkstatt
Version: 1.0.0
*/

/* Typography */
@font-face {
    font-family: 'poppins';
    src: url('./fonts/poppins-regular-webfont.woff2') format('woff2'),
        url('./fonts/poppins-regular-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'poppins';
    src: url('./fonts/poppins-medium-webfont.woff2') format('woff2'),
        url('./fonts/poppins-medium-webfont.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'poppins';
    src: url('./fonts/poppins-extrabold-webfont.woff2') format('woff2'),
        url('./fonts/poppins-extrabold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'poppins', Helvetica, Arial, sans-serif;
    font-weight: 500;
}

h1,
h2 {
    font-weight: bold;
}

h3,
h4,
h5,
h6 {
    font-weight: 500;
}

h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong {
    font-weight: bold;
}

.page-padding {
    padding-top: 280px !important;
}


/* FOOTER */
#footer {
    overflow: hidden;
}

#footer .thb_call_to_action {
    max-width: 85%;
    display: flex;
    flex-direction: column;
    padding: 0;
    margin-bottom: 40px;
    align-items: flex-end;
    width: auto;
}

.page-id-190 #footer .thb_call_to_action {
    display: none;
}

#footer .thb_call_to_action h3 {
    font-size: 50px;
    font-weight: bold;
}

#footer .thb_call_to_action a {
    display: flex;
    justify-content: center;
    width: 414px;
    display: flex;
    justify-content: center;
    width: 414px;
    z-index: 3;
}

#footer .row>div:nth-child(2) {
    z-index: 2;
    position: relative;
    padding-top: 50px;
}

#footer .row>div:nth-child(2):before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #1F90CD;
    height: 100vh;
    width: 100vw;
    z-index: -1;
}

#footer .widget ul {
    justify-content: space-around;
}

.footer-links a:hover:before,
.footer .widget ul li a:hover:before {
    content: none;
}

#footer .widget ul li a {
    color: white;
    text-decoration: underline;
}

#footer .widget ul.menu>li {
    -webkit-flex: 0 0 100%;
    flex: 0 0 auto;
}

#menu-main-menu-2 {
    justify-content: space-around;
}

#footer #custom_html-2 {
    float: right;
}

#footer .address {
    color: white;
    width: 160px;
    float: right;
    margin-right: 45%;
}

#footer #media_image-2 {
    position: absolute;
    top: -60px;
    width: 312px !important;
    height: 165px !important;
    z-index: -1;
}

#footer #media_image-2 img {
    width: 312px !important;
    height: 165px !important;
    z-index: -1;
}

#footer #custom_html-3 {
    padding-left: 6%;
    float: left;
}

#footer #custom_html-3 svg {
    height: 75px;
}

@media screen and (max-width: 767px) {
    #footer>.row>.small-12:last-of-type {
        display: flex;
        flex-direction: column;
    }

    #footer #menu-main-menu-3 {
        flex-direction: column;
        padding-left: 15px;
    }

    #footer #custom_html-2 {
        float: none;
    }

    #footer .address {
        margin-right: 0;
        float: none;
        margin-left: 15px;
    }

    #footer #custom_html-3 {
        padding-left: 15px;
        float: none;
    }
}


/* PORTFOLIO */
.portfolio-template-default .post-gallery.parallax,
.portfolio-template-default .respond-container,
.thb-portfolio .type-portfolio.style1.light-title .thb-categories {
    display: none;
}

.portfolio h2,
.portfolio h3,
.portfolio blockquote p,
.portfolio cite {
    color: #1F90CD;
}

.portfolio .portfolio-stat {
    margin-top: 250px;
}

.portfolio .portfolio-stat h3 {
    color: #000000;
}

.portfolio .portfolio-main {
    margin-bottom: 130px;
}

.portfolio .column-1 .wpb_wrapper {
    display: flex;
    flex-direction: column;
}

.portfolio .column-1 .column {
    padding-left: 0;
}

.portfolio .portfolio-logo {
    position: relative;
    width: 66%;
    margin-top: 110px;
    padding: 50px;
    margin-bottom: 80px;
    z-index: 2;
}

.portfolio .portfolio-logo:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    background: #293744;
}

.portfolio .portfolio-solution {
    padding: 0px 18%;
    position: relative;
}

.portfolio .portfolio-solution:before {
    content: '';
    display: block;
    position: absolute;
    top: -21%;
    right: -50%;
    height: 129%;
    width: 100%;
    background: #E1EEF4;
    width: 200vw;
}

.portfolio .thb-image-content,
.portfolio .wpb_content_element {
    position: relative;
}

.portfolio .portfolio-challenge {
    margin-bottom: 100px;
}

.portfolio .portfolio-challenge .thb-image-inner {
    margin-right: -4rem;
    min-width: 100%;
    margin-bottom: 50px;
    width: auto;
    padding-left: .9375rem;
}

.portfolio .portfolio-stat h3 {
    font-size: 40px;
    max-width: 80%;
}

.portfolio .portfolio-results .thb-image-slider {
    margin-left: -4rem;
}

.portfolio .portfolio-results .thb-image-slider .slick-slide {
    display: block;
    max-height: 575px;
}

.portfolio .portfolio-results .thb-image-slider .slick-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.portfolio .portfolio-results .column-2 .wpb_wrapper {
    display: flex;
    flex-direction: column;
    width: 90%;
}

.portfolio .portfolio-results .thb-testimonial {
    width: 100%;
}

.portfolio .portfolio-results .thb-testimonials blockquote {
    margin-bottom: 5px;
}

.portfolio .portfolio-results .thb-testimonials blockquote p {
    font-size: 28px;
    font-weight: normal;
}

.portfolio .portfolio-results .thb-testimonials cite {
    font-size: 28px;
    font-weight: bold;
}


/* Pages */
.page-template-default .page-heading {
    margin-bottom: 0px;
}

.page-template-default .page-heading h1 {
    font-size: 100px;
}

.page-template-default .page-subheading {
    margin-bottom: 0;
}

.page-template-default .page-subheading h2 {
    font-size: 40px;
    color: #1F90CD;
    margin-bottom: 0px;
}

.page-template-default .page-intro {
    margin-bottom: 30px;
}

.page-template-default .page-intro h3 {
    font-size: 40px;
    font-weight: 500;
}

/* Home */

#headline-col {
    transition: 4s all ease;
}

#home-video {
    z-index: 1 !important;
    position: fixed;
    min-height: 530px;
    z-index: 0;
    transition: .7s ease opacity;
    left: 0;
}

#home-video .hero-accent:nth-of-type(2) {
    top: 0;
    left: 0 !important;
    width: 100vw;
}

#home-video .hero-accent:nth-of-type(2) .wpb_wrapper.vc_figure {
    text-align: right;
}

.home-hero .wpb_column:first-of-type .thb-image-inner {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.home-hero .wpb_column:first-of-type .thb-image-inner img {
    width: 93%;
    min-height: 80vh;
    max-height: 90vh;
    object-fit: cover;
    max-width: calc(100vw - 127px);
}

.home-hero .menu-item a {
    color: white;
    text-align: right;
    font-size: 22px;
    margin-bottom: 3vw;
    line-height: 1;
}
.menu-step-2 .home-hero .menu-item {
    visibility: hidden;
}
.home-heading-row .medium-2:first-of-type .wpb_wrapper {
    position: relative;
}

.home-heading-row .columns.medium-8 .wpb_wrapper>div {
    position: relative;
    z-index: 2;
}

.home-heading-row .medium-2:first-of-type .wpb_wrapper:before {
    content: '';
    display: block;
    position: absolute;
    width: 200vw;
    height: 1000vh;
    background: #1F90CD;
    bottom: -240px;
    left: 50%;
    transform: translateX(-50%);
}

.home-heading-row .medium-2:first-of-type .wpb_wrapper:after {
    content: '';
    display: block;
    position: absolute;
    width: 200vw;
    height: 100vh;
    background: linear-gradient(0deg, #1F90CD, transparent);
    bottom: -240px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.home-heading-row .columns.medium-8 .thb-image-inner {
    z-index: 2;
    position: relative;
}

.home-heading-row .columns.medium-8 .thb-image-inner img {
    height: 150px;
    margin-bottom: 50px;
    padding-left: 15px;
    margin-top: -105px;
}

@media screen and (max-width: 992px) {
    .home-heading-row .columns.medium-8 .thb-image-inner img {
        height: 100px;
    }
}

.home-heading-row .columns.medium-8 h1 {
    position: relative;
    z-index: 1;
}

/* .home-heading-row .medium-2:first-of-type .wpb_wrapper {
    position: relative;
}
.home-heading-row .medium-2:first-of-type .wpb_wrapper:before {
    content: '';
    display: block;
    position: absolute;
    width: 200vw;
    height: 100vh;
    background: linear-gradient(0deg, #1F90CD, transparent);
    bottom: -240px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
} */
.home-portfolio-row {
    padding-right: 0;
    max-width: none;
    z-index: 1;
    position: relative;
    padding-left: 15%;
}

.home-portfolio-row>.columns {
    padding-right: 0;
}

.home-services-row {
    position: relative;
    z-index: 1;
}

.home-services-row .thb-image-inner img {
    min-height: 150px;
    position: absolute;
    min-width: 150px;
    top: 300px;
    left: 100px;
}

.home-services-row .medium-8 .layoutArea>.column {
    padding-right: 15%;
}

.home-services-row .medium-8 .layoutArea>.column * {
    color: #1f90cd;
}

.home-team-row>.medium-8>.vc_column-inner {
    position: relative;
}

.home-team-row>.medium-8>.vc_column-inner:before {
    content: '';
    display: block;
    position: absolute;
    width: 100vw;
    background: #E1EEF4;
    height: 900px;
    z-index: -1;
    right: -30px;
    bottom: 100%;
}

.home-team-row>.medium-8>.vc_column-inner>.wpb_wrapper {
    height: 100%;
}

.home-team-row>.medium-8>.vc_column-inner>.wpb_wrapper>.wpb_text_column {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.home-team-row .medium-8 .layoutArea>.column {
    padding-left: 15%;
    padding-bottom: 20px;
}

.home-team-img:before {
    display: block !important;
    position: absolute;
    background: #E1EEF4;
    content: '';
    z-index: -1;
    bottom: 100%;
    right: 100%;
    width: 100vw;
    height: 900px;
}



/* Services */
.page-padding.post-19 {
    padding-bottom: 30px;
}

.services-row {
    color: white !important;
    margin-bottom: -5px !important;
    z-index: 2;
    position: relative;
}

.services-row-mobile {
    display: none;
}

.services-row-mobile.services-row>div {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
}

.services-row-1 {
    margin-bottom: 0px;
}

.services-row .row-heading {
    padding-right: 0px;
}

.services-row .row-heading .wpb_text_column>.wpb_wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.services-row .row-heading h3 {
    color: #1F90CD;
    font-weight: bold;
    writing-mode: vertical-lr;
    text-orientation: mixed;
    transform: rotate(180deg);
    margin: 15px 0;
}

.services-row .columns>.vc_column-inner .wpb_wrapper,
.services-row .row-heading.columns>.vc_column-inner>.wpb_wrapper>.wpb_text_column,
.services-row .columns>.vc_column-inner>.wpb_wrapper>.row {
    height: 100%;
}

.services-row .columns {
    padding: 0 7px;
}

.services-row .column .column {
    padding: 0;
}

.services-row p {
    margin-bottom: 0;
    font-size: 14px;
}

.services-row .medium-8 .vc_column-inner .vc_column-inner {
    padding: 15px 0;
}

.services-row .medium-8 .vc_column-inner .column-heading .vc_column-inner {
    padding: 0;
}

.services-row .wpb_text_column.wpb_content_element {
    margin-bottom: 0;
}

.services-row .column {
    padding: 2rem;
}

.column-blue .vc_column-inner {
    background-color: #1F90CD;
}

.column-red .vc_column-inner {
    background-color: #E71C24;
}

.column-black .vc_column-inner {
    background-color: #000000;
}

.column-blue.column-heading h2 {
    color: #1F90CD;
}

.column-red.column-heading h2 {
    color: #E71C24;
}

.column-black.column-heading h2 {
    color: #000000;
}

.column-blue.column-heading .vc_column-inner,
.column-red.column-heading .vc_column-inner,
.column-black.column-heading .vc_column-inner {
    background-color: transparent;
    padding: 0;
}

.services-text-row .column-1 .layoutArea .column {
    width: 90%;
    float: right;
}

.services-text-row .column-2 .layoutArea .column {
    width: 80%;
    padding-left: 10%;
    position: relative;
}

.services-text-row .column-2 .layoutArea .column * {
    position: relative;
}

.services-text-row .column-2 .layoutArea .column:before {
    content: '';
    position: absolute;
    display: block;
    bottom: -60px;
    left: 0;
    width: 100vw;
    height: 600px;
    background: #E1EEF4;
}

.services-gallery-row {
    padding-top: 100px;
}

.services-gallery-row .column-2 .layoutArea .column {
    width: 80%;
}

.services-gallery-row .column-2 .wpb_text_column {
    margin-bottom: 0;
}

.services-img-row .column-1 .layoutArea .column {
    padding-top: 100px;
    padding-bottom: 100px;
    position: relative;
}

.services-img-row .column-1 .layoutArea .column h3 {
    color: white;
}

.services-img-row .column-1 .layoutArea .column:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100vw;
    background: #1F90CD;
    z-index: -1;
    right: -25%;
}

.services-img-row .column-2 .thb-image-inner img {
    height: 306px;
    width: auto;
    margin-top: -30px;
}


/* Company */
.thb-team-row .thb-team-member.member_style2 img {
    z-index: 2;
    position: relative;
    opacity: 1;
    transition: all .5s ease-in-out;
}

.thb-team-row .thb-team-member.member_style2 .team-information {
    padding-top: 10px;
    padding-left: 0;
    align-items: flex-start;
    padding-right: 0;
    z-index: 3;
    position: relative;
    left: 0;
}

.thb-team-row .thb-team-member.member_style2 .team-information h6,
.thb-team-row .thb-team-member.member_style2 .team-information p.job-title {
    font-weight: bold;
    color: black;
}

.thb-team-row .thb-team-member.member_style2 .team-information .thb-description {
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    padding-top: 100%;
    height: 0;
}

.thb-team-row .thb-team-member.member_style2 .team-information .thb-description p {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.thb-team-row .thb-team-member.member_style2 .team-information .thb-description p img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    z-index: 3;
    transition: all .5s ease-in-out;
    opacity: 0;
}

.thb-team-row .thb-team-member.member_style2 .team-information .thb-description p img:hover {
    opacity: 1;
}

.company-team-images,
.company-img-grid {
    z-index: 1;
    position: relative;
}

.company-text-row-1 .column-1 .wpb_wrapper .wpb_wrapper,
.company-text-row-2 .column-2 .wpb_wrapper .wpb_wrapper {
    position: relative;
}

.company-text-row-1 .column-1 .wpb_wrapper .wpb_wrapper:before,
.company-text-row-2 .column-2 .wpb_wrapper .wpb_wrapper:before {
    position: absolute;
    display: block;
    bottom: -200px;
    right: -100px;
    width: 100vw;
    height: 700px;
    background: #E1EEF4;
    content: '';
    z-index: -1;
}

.company-text-row-2 .column-2 .wpb_wrapper .wpb_wrapper:before {
    left: -50px;
    bottom: -60px;
}

.company-text-row-1 .column-2 .wpb_wrapper .wpb_wrapper,
.company-text-row-2 .column-1 .wpb_wrapper .wpb_wrapper,
.company-text-row-1 .vc_btn3-container.vc_btn3-inline {
    width: 450px;
    max-width: 100%;
    margin-left: auto;
    padding-right: 50px;
}

.company-text-row-1 .column-2 .vc_column-inner {
    background-repeat: no-repeat;
    background-position: 80% 250%;
    background-size: 54%;
}

.page-id-17 .company-text-row-1 .column-2 .vc_column-inner {
    width: 80%;
    margin-left: auto;
}

.page-id-17 .company-text-row-1 .column-2 .vc_btn3-container.vc_btn3-inline {
    padding-left: 0;
}

.company-text-row-1 .column-2 .wpb_wrapper .wpb_wrapper h2 {
    margin-top: -40px;
}

.company-text-row-1 .vc_btn3-container.vc_btn3-inline {
    display: flex;
    justify-content: center;
    padding-left: 15px;
}

.company-text-row-1 .vc_btn3-container.vc_btn3-inline a {
    margin-right: auto;
    background-color: #208fcd;
    color: white;
    text-transform: uppercase;
    font-weight: bold;
    padding: 5px 10px;
}

.company-text-row-1 .history-image {
    width: 1000px !important;
    max-width: 100% !important;
    margin: 0;
    margin-left: auto !important;
}

.page-id-175 .company-text-row-1 .history-image {
    width: 450px !important;
    max-width: 100% !important;
    margin-left: auto;
    padding-right: 50px;
    display: block;
    float: right;
}

.company-text-row-1 .history-image img {
    position: absolute;
    top: -35px;
    z-index: -1;
    opacity: .6;
    left: -30px;
    width: 100%;
}

.company-text-row-2 .column-1 .caption-style1.alignleft.thb_image_link.wp-caption {
    display: block;
    float: none;
    padding-right: 50px;
}

.company-text-row-2 .column-1 .caption-style1.alignleft.thb_image_link.wp-caption img {
    height: 170px;
    margin-left: auto;
    margin-bottom: 50px;
    margin-top: -200px;
}

.page-id-17 .company-text-row-1 .column-1 .thb-image-inner img {
    height: 170px;
    margin-left: auto;
    margin-bottom: 50px;
}

.page-id-17 .company-text-row-1 .column-1 .wpb_wrapper .wpb_wrapper:before {
    content: none;
}

.page-id-17 .company-text-row-1 .column-1>div>.wpb_wrapper {
    display: flex;
    flex-direction: column;
    padding-right: 20%;
}

/* Live Video Support */
.page-id-190 .page-padding {
    padding-bottom: 0;
}

.page-id-190 .header .video-header-btn.vc_general.vc_btn3.vc_btn3-size-lg.vc_btn3-shape-square.vc_btn3-color-grey {
    position: fixed;
    top: -100%;
    left: 20px;
    background: #1F90CD;
    color: white;
    font-size: 34px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 0 20px;
    line-height: 75px;
    display: flex;
    align-items: center;
    height: 70px;
    transition: all .5s ease-in-out;
}

.page-id-190 .header .video-header-btn.vc_general.vc_btn3.vc_btn3-size-lg.vc_btn3-shape-square.vc_btn3-color-grey.toggled {
    top: 20px;
}

.page-id-190 .video-heading h1 {
    font-size: 100px;
}

.video-cta-row-1 .vc_video-bg-container .vc_video-bg {
    display: block;
    max-width: 100%;
    margin-left: -150px;
    transition: all .5s ease-in-out .5s;
    opacity: 0;
}

.video-cta-row-1 .vc_video-bg-container .vc_video-bg.animated {
    margin-left: 0;
    opacity: 1;
}

.video-cta-row-1 img {
    height: 100%;
    object-fit: cover;
    padding-right: 15px;
}

.video-cta-row-1>.medium-3:first-of-type {
    padding-right: 0;
    margin-left: -4rem;
}

.video-cta-row-1>.medium-3:last-of-type {
    padding-left: 15px;
}

.video-cta-row-1 .medium-3 .wpb_wrapper,
.video-cta-row-1 .medium-3 .wpb_wrapper .wp-caption,
.video-cta-row-1 .medium-3 .wpb_wrapper .wp-caption .thb-image-inner {
    height: 100%;
}

.video-cta-row-1 .medium-3 .wpb_wrapper .wp-caption .thb-image-inner {
    height: 100%;
    object-fit: cover;
}

.video-cta-row-1>.medium-6 h3 {
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 32px;
}

.video-cta-row-1>.medium-6 p {
    margin-bottom: 15px !important;
}

.video-cta-row-1>.medium-6 .vc_btn3-container {
    padding-left: .9375rem;
    padding-right: .9375rem;
}

.video-cta-row-1>.medium-6 .vc_btn3-container button {
    background: #1F90CD;
    color: white;
    font-size: 34px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 0 20px;
    line-height: 75px;
    display: flex;
    align-items: center;
    height: 70px;
}

.video-services-heading .vc_column-inner,
.video-services-heading .vc_column-inner .wpb_text_column {
    margin-bottom: 0 !important;
}

.video-services-heading .vc_column-inner .wpb_text_column h2 {
    font-weight: normal;
    font-size: 50px;
}

.video-services-row h3 {
    font-weight: bold;
}

.video-services-row ul {
    list-style: none;
}

.video-services-row li,
.services-row p {
    position: relative;
    padding-left: 15px;
}

.video-services-row li:before,
.services-row p:before {
    content: '-';
    position: absolute;
    left: 0;
    top: 1px;
}

.video-services-features .layoutArea>.column {
    padding: 2rem 2rem;
}

.video-services-features .columns+.columns {
    border-left: 4px solid black;
}

.video-services-features .layoutArea>.column h3 {
    font-weight: bold;
}

.video-services-features .thb-image-inner img {
    width: 20%;
}

.video-clients-heading h1 {
    font-size: 100px;
}

.video-client-slider {
    height: 250px;
    position: relative;
}

.video-client-slider:before {
    display: block !important;
    position: absolute;
    left: 60%;
    right: -100px;
    bottom: -50px;
    background: #E1EEF4;
    content: '';
    z-index: -1;
    top: -500px;
}

.video-client-slider .columns,
.video-client-slider .columns .wpb_wrapper,
.video-client-slider .columns .wpb_wrapper .swiper-container,
.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-wrapper {
    max-height: 100%;
    height: 250px;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-wrapper .portfolio-holder {
    height: auto;
    flex-direction: row;
    max-height: 250px;
    padding: 0 10%;
    box-sizing: border-box;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-wrapper .portfolio-holder .thb-placeholder {
    position: relative;
    max-width: 30%;
    margin-left: 30px;
    margin-bottom: 15px;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-wrapper .portfolio-holder .thb-placeholder:before {
    display: block !important;
    position: absolute;
    background: #1F90CD;
    content: '';
    z-index: -1;
    width: 100%;
    height: 100%;
    left: -30px;
    bottom: -15px;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-wrapper .portfolio-holder .portfolio-link {
    max-width: 70%;
    display: flex;
    flex-direction: row;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-wrapper .portfolio-holder .portfolio-link>div:first-child {
    display: none;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-wrapper .portfolio-holder .portfolio-link>div {
    left: 0;
    width: 100%;
    min-width: 100%;
    float: none;
    height: auto;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-wrapper .portfolio-holder .portfolio-link>div * {
    color: black;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-wrapper .portfolio-holder .portfolio-link>div h1 {
    font-size: 40px;
    margin-bottom: 0;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-wrapper .portfolio-holder .portfolio-link>div *:before {
    content: none;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-prev,
.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-next {
    position: absolute;
    height: 80px;
    width: 50px;
    top: 85px;
    left: 0;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-next {
    left: unset;
    right: 0;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-prev span,
.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-next span {
    border: none;
    height: 80px;
    width: 50px;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-prev span:before,
.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-next span:before,
.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-prev span:after,
.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-next span:after {
    content: '';
    display: block;
    position: absolute;
    background: black;
    width: 10px;
    height: 50px;
    transform: rotate(45deg);
    top: 0;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-prev span:after {
    transform: rotate(-45deg);
    top: 29px;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-next span:before {
    transform: rotate(-45deg);
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-next span:after {
    transform: rotate(45deg);
    top: 29px;
}

.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-prev span svg,
.video-client-slider .columns .wpb_wrapper .swiper-container .swiper-button-next span svg {
    display: none;
}

.video-cta-row-2 h2 {
    max-width: 60%;
    font-size: 50px;
}

.video-cta-row-2 .wpb_column:last-of-type {
    max-width: 60%;
    margin-left: auto;
}

.video-cta-row-2 .wpb_column:last-of-type .vc_btn3-container {
    padding: 0 .9375rem;
}

.video-cta-row-2 .wpb_column:last-of-type .vc_btn3-container button {
    background: #1F90CD;
    color: white;
    font-size: 60px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 0 20px;
    line-height: 140px;
    display: flex;
    align-items: center;
    height: 130px;
    justify-content: center;
    width: 90%;
    margin-bottom: 50px;
}

.video-services-heading,
.video-services-row {
    position: relative;
}

.video-services-heading:before,
.video-services-row:before {
    display: block !important;
    position: absolute;
    right: 33%;
    left: -100px;
    bottom: -50px;
    top: -110px;
    background: #E1EEF4;
    content: '';
    z-index: -1;
}

.live-video-row {
    position: relative;
}

.live-video-row:before {
    display: block !important;
    position: absolute;
    left: 0;
    top: -100px;
    background: #E1EEF4;
    content: '';
    height: 450px;
    width: 500px;
}

.live-video-row,
.live-video-row>div:first-child {
    padding-left: 0;
}

.live-video-row a.vc_btn3 {
    margin: auto;
    background-color: black !important;
    color: white !important;
    text-transform: uppercase;
    font-weight: bold;
    padding: 5px 10px;
}

.page-id-8 .live-video-row {
    z-index: 5;
}

.page-id-8 .live-video-row a {
    margin-left: 30px;
    z-index: 5;
}

/* Video Services Client Grid and Slider */
.video-clients-heading .wpb_text_column.wpb_content_element {
    margin-bottom: 0;
}

.client-grid-row,
.client-grid-row>.small-12,
.client-grid-row2,
.client-grid-row2>.small-12 {
    padding-right: 0;
}

.client-grid-row2 {
    width: 100%;
}

.client-grid,
.client-grid2 {
    display: flex;
    flex-wrap: wrap;
}

.client-grid-item,
.client-grid-item2 {
    width: 20%;
    height: 0;
    overflow: hidden;
    padding-top: 20%;
    background: white;
    position: relative;
    cursor: pointer;
}

.client-bg,
.client-bg2 {
    position: absolute;
    height: 100%;
    width: 100%;
    background: black;
    top: 0;
    left: 0;
    transition: all .5s ease-in-out;
}

.client-grid-item:hover .client-bg,
.client-grid-item.active .client-bg,
.client-grid-item2:hover .client-bg2,
.client-grid-item2.active .client-bg2 {
    opacity: 0.7;
}

.client-logo,
.client-logo2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 55%;
}

.slide-thumbnail,
.slide-thumbnail2 {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.row.client-slider-row,
.row.client-slider-row2 {
    position: relative;
}

.row.client-slider-row:before,
.row.client-slider-row2:before {
    display: block !important;
    position: absolute;
    left: 63%;
    right: -100px;
    bottom: 0px;
    top: -110px;
    background: #E1EEF4;
    content: '';
    z-index: -1;
}

.client-slider,
.client-slider2 {
    position: relative;
}

.client-slides,
.client-slides2 {
    display: flex;
    list-style: none;
    overflow: hidden;
}

.slide,
.slide2 {
    width: 100%;
    min-width: 100%;
    padding: 5% 8%;
    display: flex;
    transition: all .5s ease-in-out;
}

.slide-left,
.slide-left2 {
    width: 33%;
    height: 0;
    padding-top: 23%;
    position: relative;
    overflow: hidden;
}

.slide-accent,
.slide-accent2 {
    position: absolute;
    height: 90%;
    width: 90%;
    bottom: 0;
    left: 0;
    background: black;
}

.slide-img,
.slide-img2 {
    position: absolute;
    top: 0;
    right: 0;
    height: 90%;
    width: 90%;
    object-fit: cover;
}

.slide-overlay,
.slide-overlay2 {
    position: absolute;
    top: 0;
    right: 0;
    height: 90%;
    width: 90%;
    background: black;
    opacity: 0;
    transition: all .5s ease-in-out;
}

.slide-logo,
.slide-logo2 {
    position: absolute;
    top: 45%;
    left: 55%;
    transform: translate(-50%, -50%);
    width: 70%;
    opacity: 0;
    transition: all .5s ease-in-out;
}

.slide-left:hover .slide-overlay,
.slide-left2:hover .slide-overlay2 {
    opacity: 0.4;
}

.slide-left:hover .slide-logo,
.slide-left2:hover .slide-logo2 {
    opacity: 1;
}

.slide-right,
.slide-right2 {
    width: 67%;
    padding: 2%;
}

.slide-heading,
.slide-heading2 {
    font-weight: bold;
    margin-bottom: 5px;
}

.slider-button-prev,
.slider-button-prev2 {
    position: absolute;
    top: 30%;
    height: 80px;
    width: 50px;
    left: 0;
    cursor: pointer;
}

.slider-button-next,
.slider-button-next2 {
    position: absolute;
    top: 30%;
    height: 80px;
    width: 50px;
    right: 0;
    cursor: pointer;
}

.arrow-top {
    display: block;
    position: absolute;
    background: black;
    width: 10px;
    height: 50px;
    transform: rotate(45deg) translateX(-50%);
    top: 0;
    left: 50%;
}

.slider-button-next .arrow-top,
.slider-button-next2 .arrow-top {
    transform: rotate(-45deg) translateX(-50%);
    top: -7px;
}

.arrow-bottom {
    display: block;
    position: absolute;
    background: black;
    width: 10px;
    height: 50px;
    transform: rotate(-45deg) translateX(-50%);
    top: 21px;
    left: 50%;
}

.slider-button-next .arrow-bottom,
.slider-button-next2 .arrow-bottom {
    transform: rotate(45deg) translateX(-50%);
    top: 29px;
}

.button-label {
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: black;
    top: 78px;
}


/* Our History */
.featured-events {
    padding-right: 10%;
}

.history-page-heading h1 {
    margin-bottom: -40px !important;
    margin-right: 100px;
}

.featured-wrap.highlight {
    display: block;
    max-width: 100%;
    margin-left: -150px;
    transition: all .5s ease-in-out .5s;
}

.featured-wrap.highlight.aos-animate {
    margin-left: 0;
}

.featured-event {
    display: flex;
    padding: 30px 0 30px 60px;
}

.featured-event .event-left {
    min-width: 200px;
    max-width: 200px;
    margin-right: 20px;
    position: relative;
}

.featured-event.dragonfli {
    flex-direction: column;
}

.featured-event.highlight .event-left {
    order: 2;
    margin-left: 20px;
    margin-right: 0;
    min-width: 150px;
    max-width: 150px;
}

.featured-event.highlight .event-right {
    text-align: right;
}

.featured-event.highlight .event-right p,
.featured-event.dragonfli .event-right p {
    color: #1f90cd;
}

.featured-event.dragonfli .event-left {
    max-width: 100%;
    margin-bottom: 20px;
}

.featured-event.dragonfli .event-right h3 {
    font-size: 34px;
    font-weight: 500;
}

.featured-event .event-left img {
    z-index: 2;
    position: relative;
}

.featured-event .event-right h3 {
    font-weight: bold;
    margin-bottom: 5px;
}

.featured-event .event-right p {
    color: black;
}

.featured-event .accent {
    position: absolute;
    z-index: -1;
}

.featured-event .accent_1 {
    top: -30px;
    bottom: -20px;
    left: -50px;
    right: 20%;
}

.featured-event .accent_2 {
    top: 70px;
    height: 150px;
    left: -50px;
    right: 20%;
}

.featured-event .accent_3 {
    top: -30px;
    height: 150px;
    left: -100px;
    right: 20%;
}

.featured-event .accent_4 {
    top: -30px;
    height: 300px;
    left: 20%;
    right: -100%;
}

.event-timeline {
    padding-left: 40px;
    position: relative;
}

.timeline-accent {
    position: absolute;
    top: -80px;
    bottom: -40px;
    left: -40px;
    right: -100vw;
    background-color: #E1EEF4;
    z-index: -1;
}

.timeline-events {
    list-style: none;
    position: relative;
}

.timeline-event {
    margin-bottom: 8px;
}

.timeline-event a {
    color: #505050;
}


/* Contact */
.contact-modal {
    position: fixed;
    top: 100%;
    left: 0;
    height: 100vh;
    width: 100vw;
    z-index: 2000;
    background: #e1eef4;
    overflow: scroll;
    padding: 80px 0;
    transition: all .5s ease-in-out;
}

.contact-form-wrap {
    max-width: 650px;
    margin: auto;
    padding: 30px;
}

.contact-modal h1 {
    text-align: center;
    font-size: 100px;
}

.contact-modal label {
    font-weight: bold;
}

.contact-modal .wpcf7-form-control.wpcf7-text {
    background: white;
    border: 0 !important;
    margin-bottom: 0;
}

.contact-modal .wpcf7-form-control.wpcf7-textarea {
    background: white;
    border: 0 !important;
}

.contact-modal .wpcf7-form-control.wpcf7-submit {
    margin-left: auto;
    display: flex;
    font-weight: bold;
    text-transform: uppercase;
    background: #1F90CD;
}

.contact-modal .modal-close {
    position: absolute;
    right: 40px;
    top: 40px;
    height: 60px;
    width: 60px;
}

.contact-modal button.modal-close div {
    height: 50px;
    width: 7px;
    background: black;
    transform: rotate(45deg);
    position: absolute;
    left: 45%;
}

.contact-modal button.modal-close div:last-of-type {
    position: relative;
    transform: rotate(-45deg);
}


/* Work */
.type-portfolio:hover .portfolio-holder a.portfolio-link {
    opacity: .85 !important;
    transition: .3s ease-in-out;
}

.work-grid {
    padding-right: 0;
    padding-left: 15%;
    margin-right: -15px;
}

.lvs-desktop-video iframe {
    max-width: 100%;
}

.lvs-mobile-video {
    display: none;
}

.hidden-md {
    display: none !important;
}

@media screen and (max-width: 767px) {
    .page-padding {
        padding-top: 180px !important;
    }

    .hidden-sm {
        display: none !important;
    }

    .hidden-md {
        display: block !important;
    }

    h1 {
        font-size: 50px !important;
    }

    .aos.up {
        transform: none !important;
    }

    .page-template-default .page-subheading h2,
    .page-template-default .page-intro h3 {
        font-size: 32px;
    }

    .thb-mobile-menu a {
        font-size: 40px;
    }

    .page-id-8 h1 {
        font-size: 40px !important;
    }

    .home-hero .vc_video-bg {
        display: block !important;
    }

    .home-portfolio-row {
        padding-left: 0;
        margin-left: -15px;
    }

    .home-services-row {
        padding-bottom: 50px !important;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        max-width: 100%;
    }

    .home-services-row>div:first-child {
        max-width: 95px !important;
        padding-top: 37px;
    }

    .home-services-row>div:last-child {
        max-width: calc(100% - 105px);
    }

    .home-team-row .medium-8 .layoutArea>.column {
        padding-left: 0;
    }

    .home-services-row .thb-image-inner img {
        position: relative;
        top: unset;
        left: unset;
        min-width: 100px;
        min-height: 100px;
        height: 100px;
        margin-left: 10px;
        padding-right: 35%;
    }

    .home-services-row h1,
    .home-services-row h3 {
        text-align: left !important;
    }

    .live-video-row:before {
        top: -50px;
        height: 100%;
        width: 100vw;
    }

    .live-video-row>div:first-child {
        order: 2;
    }

    .live-video-row>div:nth-child(2) {
        order: 1;
        margin-bottom: 30px;
    }

    .lvs-mobile-video {
        display: block;
    }

    .lvs-mobile-video .wpb_wrapper {
        height: 0;
        padding-top: 57%;
        position: relative;
    }

    .lvs-mobile-video .wpb_wrapper iframe {
        max-width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        max-height: 100%;
    }

    .lvs-desktop-video {
        display: none;
    }

    .lvs-desktop-video+.medium-6 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .thb-team-row .thb-team-member {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .company-text-row-1 .column-1 .wpb_wrapper .wpb_wrapper {
        padding: 30px;
        background: #E1EEF4;
    }

    .company-text-row-1 .column-1 .wpb_wrapper .wpb_wrapper:before {
        content: none;
    }

    .company-text-row-1 .column-2 .wpb_wrapper .wpb_wrapper,
    .company-text-row-2 .column-1 .wpb_wrapper .wpb_wrapper,
    .company-text-row-1 .vc_btn3-container.vc_btn3-inline {
        width: 100%;
        padding-right: 0;
    }

    .company-text-row-1 .history-image {
        width: 100% !important;
        padding-left: 50px;
    }

    .company-text-row-2 .column-1 .caption-style1.alignleft.thb_image_link.wp-caption img {
        margin-top: 0;
    }

    .company-text-row-2 .column-1 .caption-style1.alignleft.thb_image_link.wp-caption {
        padding-right: 0;
    }

    .company-text-row-2 .column-1 .wpb_wrapper .wpb_wrapper {
        padding-right: 0;
        margin-bottom: 100px;
    }

    .company-text-row-2 .vc_column-inner {
        padding-right: 60px !important;
    }

    .services-gallery-row.aos {
        transform: none !important;
    }

    .services-img-row .column-1 .layoutArea .column {
        padding-top: 70px;
        padding-bottom: 80px;
    }

    .services-img-row .column-1 .layoutArea .column:before {
        right: unset;
        left: 50%;
        transform: translateX(-50%);
    }

    .services-gallery-row .column-1 .row.regular-padding .small-6 {
        max-width: 33% !important;
    }

    .services-row-mobile {
        display: block;
    }

    .services-row-1,
    .services-row-2,
    .services-row-3,
    .services-row-4 {
        display: none;
    }

    .services-row-mobile>.columns {
        margin-bottom: 10px;
    }

    .services-row-mobile h2 {
        margin-top: 30px;
    }

    .services-row-mobile h4 {
        color: white;
        margin-bottom: 8px;
    }

    .services-img-row .column-2 .thb-image-inner img {
        width: 100%;
        height: auto;
    }

    .page-id-19 .row.wpb_row.row-fluid {
        float: left;
    }

    .work-grid {
        padding-left: 0;
        margin-left: -15px;
    }

    .company-text-row-1 img {
        width: 150px;
        margin: auto;
        margin-bottom: 50px;
        margin-top: 60px;
    }

    .company-text-row-1 .column-2 {
        margin-bottom: 100px;
    }

    .page-template-our-history .page-padding {
        padding-top: 180px !important;
        padding-bottom: 50px !important;
    }

    .history-page-heading h1 {
        text-align: left !important;
    }

    .featured-wrap {
        opacity: 1 !important;
    }

    .featured-event {
        display: flex;
        flex-direction: column;
        width: 100% !important;
        margin-left: 0 !important;
        padding: 20px;
        opacity: 1 !important;
    }

    .featured-event .event-right h3 {
        margin-top: 30px;
    }

    .featured-event.highlight {
        flex-direction: column-reverse;
    }

    .featured-event.highlight .event-left {
        margin-left: auto;
    }

    .timeline-accent {
        top: -30px;
    }

    .featured-event .accent_4 {
        top: -30px;
        bottom: -20px;
        left: 20%;
        right: -50px;
    }

    .event-timeline-title {
        display: block !important;
        margin-bottom: 40px;
    }

    .video-cta-row-1>.medium-6 .vc_btn3-container button {
        font-size: 24px;
    }

    .page-id-190 .header .video-header-btn.vc_general.vc_btn3.vc_btn3-size-lg.vc_btn3-shape-square.vc_btn3-color-grey {
        font-size: 16px;
        line-height: 50px;
        height: 48px;
    }

    .page-id-190 .header .video-header-btn.vc_general.vc_btn3.vc_btn3-size-lg.vc_btn3-shape-square.vc_btn3-color-grey.toggled {
        top: 30px;
    }

    .video-services-heading:before,
    .video-services-row:before {
        right: 0;
    }

    .video-services-features .columns {
        max-width: 90%;
        margin: auto;
    }

    .video-services-features .columns+.columns {
        border-top: 4px solid black;
        border-left: 0;
        padding-top: 30px;
    }

    .client-grid-item,
    .client-grid-item2 {
        width: 50%;
        padding-top: 40%;
    }

    .slide-left,
    .slide-left2 {
        width: 100%;
        padding-top: 70%;
    }

    .slide-right,
    .slide-right2 {
        width: 100%;
        padding: 2%;
    }

    .client-slides,
    .client-slides2 {
        margin-top: 155px;
    }

    .slide,
    .slide2 {
        flex-direction: column;
    }

    .slider-button-prev,
    .slider-button-prev2 {
        bottom: calc(100% + 40px);
        left: 30px;
        top: unset;
    }

    .slider-button-next,
    .slider-button-next2 {
        bottom: calc(100% + 40px);
        right: 30px;
        top: unset;
    }

    .row.client-slider-row:before,
    .row.client-slider-row2:before {
        left: 0;
        right: 0;
    }

    .video-cta-row-2 .wpb_column:last-of-type,
    .video-cta-row-2 h2 {
        max-width: 100%;
        font-size: 40px;
    }

    .video-cta-row-2 .wpb_column:last-of-type .vc_btn3-container button {
        font-size: 16px;
        line-height: 50px;
        height: 50px;
        width: 100%;
    }

    .page-id-17 .company-text-row-1 {
        margin-bottom: 80% !important;
    }

    .page-id-17 .company-text-row-1 .column-1>div>.wpb_wrapper {
        padding: 0;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        margin-bottom: 60px;
    }

    .page-id-17 .company-text-row-1 .column-1>div>.wpb_wrapper>div:first-child {
        min-width: 100px;
        margin-right: 10px;
    }

    .company-text-row-1 .column-2 .wpb_wrapper .wpb_wrapper h2 {
        margin-top: 0;
        font-size: 35px
    }

    .page-id-17 .company-text-row-1 .column-2 .vc_column-inner {
        width: 90%;
    }

    .company-text-row-1 .history-image img {
        position: absolute;
        top: -35px;
        z-index: -1;
        opacity: .6;
        left: -80px;
        width: 100%;
    }

    .company-img-grid .vc_pageable-slide-wrapper {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
    }

    .company-img-grid .vc_masonry_media_grid .vc_grid.vc_row .vc_grid-item.vc_visible-item {
        max-width: 50%;
    }

    .company-img-grid .vc_grid-item-mini,
    .company-img-grid .vc_gitem-animated-block,
    .company-img-grid .vc_gitem-zone {
        height: 100%;
    }

    .company-text-row-2 .column-2 .wpb_wrapper .wpb_wrapper:before {
        height: 160%;
    }

    .portfolio-logo {
        margin-top: 0 !important;
    }

    .portfolio .portfolio-solution {
        padding: 0;
    }

    .portfolio-all-and-next .small-12.large-6 {
        display: flex;
        justify-content: center;
    }

    .type-portfolio .portfolio-holder a.portfolio-link {
        opacity: .85 !important;
        transition: .3s ease-in-out;
    }

    .type-portfolio .portfolio-holder a.portfolio-link h2 span {
        transform: translateY(0) !important;
    }

    #footer .thb_call_to_action {
        margin: auto;
        margin-bottom: 40px;
    }
}