/* Section */

.tatsu-section {
    position: relative;
    overflow: hidden;
    width:100%;
}

.tatsu-section-pad {
    box-sizing: border-box;
    width: 100%;
}

.tatsu-frame .tatsu-section {
    border-style: solid !important;
}

.tatsu-section.tatsu-parallax {
    overflow: hidden;
}

.tatsu-section.tatsu-section-offset {
    overflow: visible;
}
.tatsu-section-offset-wrap {
    position: relative;
    z-index: 2;
}

.tatsu-parallax-element,
.tatsu-bg-video,
.tatsu-overlay,
.tatsu-col-overlay-link {
    position: absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
}

.tatsu-parallax-element {
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: scroll;
    background-size: cover;
}

.tatsu-parallax-element-wrap {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 0;
}

.tatsu-fullscreen-wrap {
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
}


.tatsu-bg-video {
  object-fit: cover;
}


/* Row */

.tatsu-wrap {
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
}

.tatsu-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -25px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.tatsu-eq-cols .tatsu-row {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    -ms-grid-row-align: stretch;
    align-items: stretch;
}

.tatsu-no-gutter .tatsu-row{
     margin: 0;
}
.tatsu-tiny-gutter .tatsu-row{
     margin: 0 -5px;
}
.tatsu-small-gutter .tatsu-row{
     margin: 0 -10px;
}
.tatsu-medium-gutter .tatsu-row{
     margin: 0 -25px;
}
.tatsu-large-gutter .tatsu-row{
     margin: 0 -35px;
}

.tatsu_row_one_col .tatsu-row {
    margin: 0;
}



/* Columns */

.tatsu-column { 
    padding: 0 25px; 
    margin:0 0 50px 0;
    position: relative;
    overflow: hidden;
    z-index: 2;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
}

.tatsu-zero-margin .tatsu-column {
    margin-bottom: 0;
}

.tatsu-reg-cols .tatsu-column-align-top {   
    -ms-flex-item-align: start;   
        align-self: flex-start;
}
.tatsu-reg-cols .tatsu-column-align-bottom {

    -ms-flex-item-align: end;

        align-self: flex-end;
}
.tatsu-reg-cols .tatsu-column-align-middle {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
}

.tatsu-eq-cols .tatsu-column {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.tatsu-column-inner {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.tatsu-column-pad-wrap {
    width: 100%;
}

.tatsu-eq-cols .tatsu-column-inner {
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
}

.tatsu-eq-cols .tatsu-column-align-middle .tatsu-column-inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.tatsu-eq-cols .tatsu-column-align-top .tatsu-column-inner {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}
.tatsu-eq-cols .tatsu-column-align-bottom .tatsu-column-inner {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
}

.tatsu-no-gutter .tatsu-column {
    padding: 0;
}
.tatsu-tiny-gutter .tatsu-column {
    padding: 0 5px;
}
.tatsu-small-gutter .tatsu-column {
    padding: 0 10px;
}
.tatsu-medium-gutter .tatsu-column {
    padding: 0 25px;
}
.tatsu-large-gutter .tatsu-column {
    padding: 0 35px;
}


.tatsu_row_one_col > .tatsu-column {
    padding: 0;
}

.tatsu-one-col {
    width: 100%;
    padding: 0 !important;
}

.tatsu-one-third { 
    width:33.33%; 
}

.tatsu-one-fourth { 
    width:25%; 
}

.tatsu-one-fifth { 
    width:20%; 
}

.tatsu-one-half { 
    width: 50%;
}

.tatsu-two-third { 
    width:66.67%; 
}

.tatsu-three-fourth { 
    width:75%; 
}

.tatsu-col-overlay-link {
    z-index: 10;
    cursor: pointer;
}

.tatsu-column-parallax{
    overflow: initial;
}
/*.tatsu-column *:last-child {
    margin-bottom: 0 !important;
}*/

.tatsu-section .tatsu-row-wrap:last-child .tatsu-column {
    margin-bottom: 0;
}

.tatsu-section .tatsu-row-wrap:last-child .tatsu-column h1:last-child,
.tatsu-section .tatsu-row-wrap:last-child .tatsu-column h2:last-child,
.tatsu-section .tatsu-row-wrap:last-child .tatsu-column h3:last-child,
.tatsu-section .tatsu-row-wrap:last-child .tatsu-column h4:last-child,
.tatsu-section .tatsu-row-wrap:last-child .tatsu-column h5:last-child,
.tatsu-section .tatsu-row-wrap:last-child .tatsu-column h6:last-child {
    margin-bottom: 0;
} 

.tatsu-section .tatsu-row-wrap:not(:last-child) .tatsu-column h1:last-child,
.tatsu-section .tatsu-row-wrap:not(:last-child) .tatsu-column h2:last-child,
.tatsu-section .tatsu-row-wrap:not(:last-child) .tatsu-column h3:last-child,
.tatsu-section .tatsu-row-wrap:not(:last-child) .tatsu-column h4:last-child,
.tatsu-section .tatsu-row-wrap:not(:last-child) .tatsu-column h5:last-child,
.tatsu-section .tatsu-row-wrap:not(:last-child) .tatsu-column h6:last-child {
    margin-bottom: 20px;
}

.tatsu-column .tatsu-overlay {
    -webkit-transition: opacity 0.8s ease;
    transition: opacity 0.8s ease;
}

.tatsu-bg-overlay .tatsu-column-pad,
.tatsu-video-section .tatsu-column-pad {
    z-index: 1;
    position: relative;
}

.tatsu-column.tatsu-bg-overlay .tatsu-overlay,
.tatsu-column.tatsu-video-section .tatsu-bg-video {
    z-index: 0;
}

.tatsu-overlay.tatsu-animate-hide,
.tatsu-bg-overlay:hover .tatsu-overlay.tatsu-animate-show {
    opacity: 0;
}

.tatsu-bg-overlay:hover .tatsu-overlay.tatsu-animate-hide,
.tatsu-overlay.tatsu-animate-show {
    opacity: 1;
}

.tatsu-column-pad {
    width: 100%;
    box-sizing: border-box;
}

.tatsu-eq-cols .tatsu-column-empty .tatsu-column-pad {
    width: 100%;
}



/* Testing Changes */

.tatsu-module {
    margin-bottom: 60px;
}

.be-text-inner,
.special-heading-wrap,
.tatsu-text-inner {
    margin-bottom: 30px;
}

.tatsu-column-pad > *:last-child {
    margin-bottom: 0 !important;
}

.tatsu-module *:last-child {
    margin-bottom: 0 !important;
}

.be-button-wrap:last-child, .be-button-wrap *:last-child,
.carousel-wrap:last-child {
    margin-bottom: 0 !important;
}

.tatsu-column-pad .be-preview:last-child .be-text-inner {
    margin-bottom: 0;
}


.tatsu-empty-space {
    width: 100%;
}



/* =========================================================================
                                    LARGE LAPTOPS AND DESKTOPS
   ========================================================================= */


@media only screen and (min-width: 1377px) {
    .tatsu-hide-desktop {
        display: none;
    }    
}

/* =========================================================================
                                    LAPTOP
   ========================================================================= */


@media only screen and (min-width: 1025px) and (max-width: 1366px) {
    .tatsu-hide-laptop {
        display: none;
    }    
}



/* =========================================================================
                                    Small Desktops & Tablet Landscape
   ========================================================================= */ 
@media only screen and (min-width: 960px) and (max-width: 1279px) {
    .tatsu-wrap {
        max-width: 900px;
        margin: 0 auto;
    }
}

/* =========================================================================
                                    TABLET - PORTRAIT & LANDSCAPE
   ========================================================================= */


@media only screen and (min-width: 768px) and (max-width: 1024px)  {
    .tatsu-hide-tablet {
        display: none;
    }    
}


/* =========================================================================
                                    TABLET - PORTRAIT
   ========================================================================= */

@media only screen and (min-width: 768px) and (max-width: 959px) {
    .tatsu-wrap {
        max-width: 740px;
        margin: 0 auto;
    }
} 

/* =========================================================================
                                    TABLET & MOBILE
   ========================================================================= */

@media only screen and (max-width: 1366px) and (-webkit-min-device-pixel-ratio: 2) {
    .touch .tatsu-section {
        background-attachment: scroll !important;
    }    
}

/* =========================================================================
                                    MOBILE - PORTRAIT & LANDSCAPE
   ========================================================================= */


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

    .tatsu-fullscreen-wrap {
        height: auto;
        display: block;
    }

    .tatsu-wrap {
        max-width: 300px;
        margin: 0 auto;
    } 

    .tatsu-row {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin:0;
    }
    .tatsu-tiny-gutter .tatsu-row,
    .tatsu-large-gutter .tatsu-row,
    .tatsu-small-gutter .tatsu-row,
    .tatsu-medium-gutter .tatsu-row {
         margin: 0px;
    }

    .tatsu-column,
    .tatsu-one-col,
    .tatsu-one-half,
    .tatsu-one-third,
    .tatsu-one-fourth,
    .tatsu-one-fifth,
    .tatsu-two-third,
    .tatsu-three-fourth {
        width: 100%;
        padding: 0 !important;
    }

    .tatsu-eq-cols .tatsu-column {
         min-height: 350px;
    }

    .tatsu-eq-cols .tatsu-column.tatsu-column-empty {
         min-height: initial;
    } 

    .tatsu-column-no-bg.tatsu-column-empty .tatsu-column-pad {
        padding: 0 !important;
    }
       
    .tatsu-section .tatsu-row-wrap:last-child .tatsu-column {
        margin-bottom: 50px;
    } 

    .tatsu-eq-cols .tatsu-column,
    .tatsu-section .tatsu-row-wrap.tatsu-eq-cols:last-child .tatsu-column:last-child,
    .tatsu-section .tatsu-row-wrap:last-child .tatsu-column:last-child,
    .tatsu-section .tatsu-row-wrap.tatsu-no-gutter:last-child .tatsu-column {
        margin-bottom: 0;
    }

    .tatsu-hide-mobile {
        display: none;
    }

}

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

@media only screen and (min-width: 480px) and (max-width: 767px) {
    .tatsu-wrap {
        max-width: 440px;
        margin: 0 auto;
    } 
} 

/* =========================================================================
                                   UTILITY
   ========================================================================= */

.tatsu-clearfix:before,
.tatsu-clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.tatsu-clearfix:after {
    clear: both;
}