/*********************************************************************
           TEXT
*********************************************************************/

.tatsu-text-inner, 
.tatsu-text-block, 
.tatsu-text-block img {
    margin-bottom: 30px;
}


/*********************************************************************
            ANIMATED NUMBERS
*********************************************************************/

.tatsu-an,
.tatsu-an-caption {
    display: block;
    margin-bottom: 10px;
}
.tatsu-an-wrap {
    text-align: center;
}
.tatsu-an-wrap.align-left {
    text-align: left;
}
.tatsu-an-wrap.align-right {
    text-align: right;
}
.tatsu-an {
    line-height: 1.2 !important;
}


/*********************************************************************
            BUTTONS
*********************************************************************/
.tatsu-button-wrap {
    display: inline-block;
    margin:0 20px 10px 0;
}
.tatsu-button-wrap.align-block {
    display: block;
    margin:0 0 40px 0;
}
.tatsu-button {
    display: inline-block;
    text-decoration: none;
    border-color: transparent;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.tatsu-button {
    transition: 0.3s linear all !important;
    -webkit-transition: 0.3s linear all !important;
    -moz-transition: 0.3s linear all !important;
    -ms-transition: 0.3s linear all !important;
    -o-transition: 0.3s linear all !important;

}
.tatsu-buttton-wrap.block-center .tatsu-button {
    margin:0px 0px 10px 0;
}
.tatsu-buttton-wrap.block-center .tatsu-icon {
    margin-right: 0px;
}
p .be-button {
    margin-bottom: 0; 
}
.tatsu-button.rounded {
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
.tatsu-button.circular {
    border-radius: 50px;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}
.smallbtn {
    font-size: 11px;
    line-height: 12px;
    padding: 12px 15px;
}
.circular.smallbtn{
    padding: 12px 25px;
}
.mediumbtn {
    font-size: 13px;
    line-height: 14px;
    padding: 15px 20px;
}
.circular.mediumbtn{
    padding: 15px 30px;
}
.largebtn {
    font-size: 15px;
    line-height: 16px;
    padding: 18px 25px;
}
.circular.largebtn{
    padding: 18px 35px;
}
.blockbtn {
    font-size: 17px;
    display: block !important;
    padding: 22px 0;
    width: 100%;
    box-sizing: border-box;
}
.tatsu-button i {
    margin-right: 1em;
}
.tatsu-button.link {
    padding-left:0px;
}

.tatsu-button-wrap.block-left {
    text-align: left;
}
.tatsu-button-wrap.block-center {
    text-align: center;
}
.tatsu-button-wrap.block-right{
    text-align: right;
}
.tatsu-button-wrap.block-right a.tatsu-button {
    margin-right: 0px;
}

.tatsu-button.bg-animation-slide-bottom,
.tatsu-button.bg-animation-slide-top {
    -webkit-background-size: 100% 200%;
    -moz-background-size: 100% 200%;
    -o-background-size: 100% 200%;
    background-size: 100% 200%;
}
.tatsu-button.bg-animation-slide-bottom:hover {
    background-position: 0 100%;
}
.tatsu-button.bg-animation-slide-top:hover {
    background-position: 0 -100%;
}
.tatsu-button.bg-animation-slide-left,
.tatsu-button.bg-animation-slide-right {
    -webkit-background-size: 200% 100%;
    -moz-background-size: 200% 100%;
    -o-background-size: 200% 100%;
    background-size: 200% 100%;
}
.tatsu-button.bg-animation-slide-right:hover {
    background-position: 100% 0;
}
.tatsu-button.bg-animation-slide-left:hover {
    background-position: -100% 0;
}
.tatsu-button-wrap.popup-gallery {
    display: block !important;
}

/* icon inside button  */
.tatsu-icon-shortcode {
    margin-bottom: 15px;
}
.tatsu-icon-shortcode .tatsu-icon.tiny.diamond{
    margin: 9px !important;
}
.tatsu-icon-shortcode .tatsu-icon.small.diamond{
    margin: 11px !important;
}
.tatsu-icon-shortcode .tatsu-icon.medium.diamond{
    margin: 17px !important;
}
.tatsu-icon-shortcode .tatsu-icon.large.diamond{
    margin: 22px !important;
}
.tatsu-icon-shortcode .tatsu-icon.xlarge.diamond{
    margin: 27px !important;
}
a.tatsu-icon-shortcode.icon-plain{
    display: inline-block;
}
.tatsu-icon-shortcode.block-center .tatsu-icon { 
    margin-right: 0; 
}
.tatsu-button.right-icon i.tatsu-icon {
    margin: 0px 0px 0px 1em;
}




/*********************************************************************
    BUTTON GROUP
*********************************************************************/
#content .tatsu-button-group{
  margin-bottom:20px;
}
.tatsu-button-group .tatsu-button-wrap{
  margin-right: 20px;
}
.tatsu-button-group .tatsu-button-wrap.align-right{
  margin-right: 0px;
  margin-left: 20px;
}
.tatsu-button-group .tatsu-button-wrap.align-block{
  display: inline;
}


/*********************************************************************
            CALL TO ACTION
*********************************************************************/

.tatsu-call-to-action {
    padding: 30px 0px;
    display: table;
    width: 100%;
    text-align: center;
}
.tatsu-action-content {
    display: inline;
    margin-bottom: 0;
    line-height: 47px;
    margin-right: 40px;
}
.tatsu-action-button {
    position: relative;
    top: -4px;
}


/*********************************************************************
            DROP CAPS
*********************************************************************/

.tatsu-dropcap .tatsu-icon:before{
    width: auto;
    margin: 0;
}   

.tatsu-dropcap-circle, 
.tatsu-dropcap-letter, 
.tatsu-dropcap-icon,
.tatsu-dropcap-rounded{
    float: left;
    text-transform: uppercase;
}

.tatsu-dropcap-circle.small, 
.tatsu-dropcap-square.small, 
.tatsu-dropcap-rounded.small {
    margin-top: 3px;
    font-size: 19px;
    line-height: 36px;
    margin-right: 10px;
    width: 36px;
    height: 35px;
    text-align: center;
}
.tatsu-dropcap-circle {
    border-radius: 50%;
}

.tatsu-dropcap-rounded {
    border-radius: 3px;
}

.tatsu-dropcap-letter {
    font-size: 35px;
    margin: 5px 10px 0 0;
} 
.tatsu-dropcap-letter.small{
    font-size: 24px;
    margin: 5px 15px 0 0;
}
.tatsu-dropcap-circle.big, 
.tatsu-dropcap-square.big, 
.tatsu-dropcap-rounded.big {
    margin-top: 5px;
    font-size: 26px;
    line-height: 47px;
    width: 47px;
    height: 47px;
    margin-right: 10px;
    text-align: center;
}
.tatsu-dropcap-circle,
.tatsu-dropcap-rounded {
    color:#fff;
}
.tatsu-dropcap i:before {
    line-height: inherit;
}

.tatsu-dropcap-wrap.style2{
    position: relative;
}
.tatsu-dropcap-wrap.style2 .tatsu-dropcap{
    /*opacity: 0.3;*/
    font-weight: bold;
    line-height: 1em;
    display: inline-block;
}
.tatsu-dropcap-wrap.style2 .tatsu-dropcap-title{
    position: absolute;
    left: 1%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    line-height: 1em;
} 
 
.tatsu-dropcap-wrap.style2 i:before {
    line-height: initial;
}

/*********************************************************************
            ICONS
*********************************************************************/

.tatsu-icon-shortcode .tatsu-icon {
    display: inline-block !important;
    border: 1px solid #323232;
    text-align: center;
    margin-right: 10px;
    font-family: "icomoon";
    /*margin-bottom: 10px;*/
    transition: 0.3s linear all !important;
    -webkit-transition: 0.3s linear all !important;
    -moz-transition: 0.3s linear all !important;
    -ms-transition: 0.3s linear all !important;
    -o-transition: 0.3s linear all !important;
}
.tatsu-icon-shortcode,
.tatsu-icon-shortcode,
.tatsu-icon-shortcode {
    margin-bottom: 20px;
}

.tatsu-icon-shortcode.align-none{
    display: inline-block;
    /*margin-bottom: 10px !important;*/
    margin-right: 0px;
}
.tatsu-icon-shortcode a {
    display: inline-block;
}
.tatsu-icon.tiny {
    font-size: 12px;
}
.tatsu-icon.small {
    font-size: 16px;
}
.tatsu-icon.medium {
    font-size: 25px;
}
.tatsu-icon.large {
    font-size: 40px;
}
.tatsu-icon.xlarge {
    font-size: 55px;
}
.tatsu-icon.tiny.plain {
    font-size: 18px;
}
.tatsu-icon.small.plain {
    font-size: 24px;
}
.tatsu-icon.medium.plain {
    font-size: 35px;
}
.tatsu-icon.large.plain {
    font-size: 50px;  
}
.tatsu-icon.xlarge.plain {
    font-size: 80px;
}
.tatsu-icon.tiny {
    width: 28px;
    height: 28px;
    line-height: 28px;
}
.tatsu-icon.small {
    width: 45px;
    height: 45px;
    line-height: 45px;
}
.tatsu-icon.medium {
    height: 75px;
    line-height: 75px;
    width: 75px;
}
.tatsu-icon.large {
    width: 100px;
    height: 100px;
    line-height: 100px;
}
.tatsu-icon.xlarge {
    width: 125px;
    height: 125px;
    line-height: 125px;
}
.tatsu-icon.plain{
    border: none !important;
    width: auto ;
    /*margin-bottom: 15px;*/
    height: auto;
    line-height: normal;
}
.tatsu-icon.plain:before {
    width: auto;
    margin-left: 0;
    margin-right: 0;
}
.tatsu-icon.circle {
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
}
.font-icon.diamond {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -transform: rotate(45deg);
}
.font-icon.diamond:before{
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -transform: rotate(-45deg);
    position: relative;
    display: inline-block; 
}

.tatsu-icon-shortcode.block-center, 
.tatsu-icon-shortcode.block-center, 
.tatsu-icon-shortcode.block-right {
    display: block;
    margin-bottom: 30px;
}
.tatsu-icon-shortcode.block-left {
    text-align: left;
}
.tatsu-icon-shortcode.block-center {
    text-align: center;
}
.tatsu-icon-shortcode.block-right {
    text-align: right;
}

.tatsu-icon.diamond {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -transform: rotate(45deg);
}
.tatsu-icon.diamond:before{
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -transform: rotate(-45deg);
    position: relative;
    display: inline-block; 
}


/*********************************************************************
    ICON GROUP
*********************************************************************/

#content .tatsu-icon-group{
  margin-bottom:20px;
}
.tatsu-icon-group div.tatsu-icon-shortcode {
    display: inline;
    margin-right: 20px;
}
.tatsu-icon-group.align-right div.tatsu-icon-shortcode{
  margin-right: 0px;
  margin-left: 20px;
}


/*********************************************************************
            LISTS
*********************************************************************/

.tatsu-list {
    list-style: none;
    padding: 0;
}
.tatsu-list .tatsu-icon {
    font-size: 15px;
    width: 25px;
    height: 25px;
    line-height: 25px;
    border-radius: 50%;
    text-align: center;
    position: absolute;
    left: 0px;
    top: 0px;
    display: block;
}
.tatsu-list .tatsu-icon.circled {
    width: 30px;
    height: 30px;
    line-height: 30px;
}
.tatsu-list-content {
    width: auto;
    line-height: 25px;
    margin-bottom: 12px;
    position: relative;
}
.tatsu-list-inner {
    padding-left: 45px;
    display: inline-block;
}


/*********************************************************************
            NOTIFICATION
*********************************************************************/

.tatsu-notification {
    margin-bottom: 20px;
}

.tatsu-success, .wpcf7-response-output.wpcf7-mail-sent-ok {
    background: #26cda4;
    color: #000;   
}
.tatsu-error, .wpcf7-response-output.wpcf7-validation-errors{
    background: #de4141;
    color:#ffd6d6;
}
.tatsu-notification, .wpcf7-response-output.wpcf7-validation-errors, .wpcf7-response-output.wpcf7-mail-sent-ok {
    cursor: default;
    line-height:20px;
    margin-bottom:20px;
    padding: 15px;
    border:none;
    text-align: center;
    position: relative;
    border-radius: 2px;
}  
.tatsu-notification span.close {
    cursor: pointer;
    margin-top: -7px;
    position: absolute;
    right: 20px;
    top: 50%;
    line-height: 14px;
    width: 15px;
    height: 15px;
    font-size: 14px;
    color: #fff;
}


/*********************************************************************
            TITLE WITH ICON 
*********************************************************************/

/* ti - title icon
   tc - title content 
*/ 

.tatsu-ti {
    display: inline-block;
    text-align: center;
    float: left;
    margin-right: 30px;
    position: relative;
}
.tatsu-ti.align-right {
    float: right;
    margin-left: 30px;
    margin-right: 0px;
}
.tatsu-ti.circled {
    border: 1px solid transparent;
    border-radius: 50px;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    text-align: center;
}
.tatsu-ti.small {
    font-size: 21px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin-right: 20px;
}
.tatsu-ti.medium {
    width: 70px;
    height: 70px;
    line-height: 70px;
    font-size: 28px;
}
.tatsu-ti.large {
    width: 90px;
    height: 90px;
    line-height: 90px;
    font-size: 32px;
}

.tatsu-ti.medium.plain {
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 28px;
}
.tatsu-ti.large.plain {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 34px;
}

.tatsu-tc {
    padding-left: 80px;
}
.tatsu-tc.small.plain {
    padding-left: 50px;
}
.tatsu-ti.small.circled {
    width: 45px;
    height: 45px;
    line-height: 45px;
}
.tatsu-tc.small {
    padding-left: 70px;
}
.tatsu-tc.small.align-right {
    padding-right: 70px;
}
.tatsu-ti.small.align-right {
    margin-left: 20px;
    margin-right: 0;
}
.tatsu-tc.medium {
    padding-left: 100px;
}
.tatsu-tc.medium.plain {
    padding-left: 60px;
}

.tatsu-tc.align-right {
    padding-right: 80px;
}
.tatsu-tc.small.plain.align-right {
    padding-right: 50px;
}
.tatsu-tc.medium.align-right {
    padding-right: 100px;
}
.tatsu-tc.medium.plain.align-right {
    padding-right: 60px;
}
.tatsu-tc.align-right,
.tatsu-tc.small.plain.align-right,
.tatsu-tc.medium.align-right,
.tatsu-tc.medium.plain.align-right {
    padding-left: 0px;
    text-align: right;
}


/*********************************************************************
            DIVIDER
*********************************************************************/

.tatsu-divider{
    display: inline-block;
    border: none;
}
hr.tatsu-divider{
    margin-bottom: 20px !important;
}


/*********************************************************************
            GOOGLE MAPS
*********************************************************************/

.tatsu-gmap {
    height: inherit;
}



/*********************************************************************
BUBBLE TESTIMONIAL
*********************************************************************/

.tatsu_testimonial_wrap {
    position: relative;
    margin-bottom: 30px;
}
.tatsu_testimonial_wrap i.tatsu-icon.icon-quote {
    font-size: 100px;
    position: absolute;
    top: -18px;
    opacity: 0.2;
    right: -14px;
    display: inline-block;
    z-index: 3;
}
.tatsu_testimonial_inner_wrap:after {
    content: "";
    display: block;
    position: absolute;
}
.bubble_left .tatsu_testimonial_inner_wrap:after{
    left: 45px;
    border: 9px solid;
    border-top-color: inherit;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: inherit;  
}
.bubble_center .tatsu_testimonial_inner_wrap:after{
    left: 50%;
    transform:translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    border: 15px solid;
    border-top-color: inherit;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;  
}
.bubble_right .tatsu_testimonial_inner_wrap:after{
    right: 45px;
    border: 9px solid;
    border-top-color: inherit;
    border-right-color: inherit;
    border-bottom-color: transparent;
    border-left-color: transparent;  
}
.tatsu_testimonial_content {
    padding: 30px 23px;
    border-radius: 3px;    
    -moz-border-radius: 3px;    
    -webkit-border-radius: 3px;
    margin-bottom: 0;    
}
.tatsu_testimonial_author{
    margin-bottom: 0px;
}
.tatsu_testimonial.bubble_left .tatsu_testimonial_info_wrap {
    margin-left: 20px;
}

.tatsu_testimonial_img {
    width: 70px;
    display: inline-block;
    border-radius: 50%;
    margin-right: 20px;
}

.tatsu_testimonial_info {
    display: inline-block;
    vertical-align: middle;
}

.tatsu_testimonial_wrap.bubble_right .tatsu_testimonial_info_wrap {
    text-align: right;
}
/*.tatsu_testimonial_wrap.bubble_center .tatsu_testimonial_info_wrap {
    text-align: center;
}*/
.tatsu_testimonial_wrap.bubble_center .tatsu_testimonial_img {
    display: block;
    padding-bottom: 10px;
    margin: 0 auto;
}
.tatsu_testimonial_wrap.bubble_center .tatsu_testimonial_info {
    text-align: center;
    display: block;
}

.tatsu_testimonial_wrap.bubble_right .tatsu_testimonial_img {
    float: right;
    display: inline-block;
    margin-right: 0;
    margin-left: 20px;
}
.tatsu_testimonial_wrap.bubble_right .tatsu_testimonial_info {
    margin-top: 10px;
}


.tatsu-vimeo-wrap .fluid-width-video-wrapper {
    padding-top: 56% !important;
}

/*********************************************************************
            CODE
*********************************************************************/
.tatsu-code{
    margin-bottom: 0px;
}

/*********************************************************************
            SINGLE IMAGE
*********************************************************************/
.tatsu-single-image.tatsu-image-lazyload{
    opacity: 0;
    transition: opacity 0.3s ease;
}

.tatsu-single-image img{
    box-sizing: border-box;
}

.tatsu-single-image.align-none{
    display: inline-block;
}

.tatsu-single-image.align-left{
    text-align: left;
}

.tatsu-single-image.align-center{
    text-align: center;
}

.tatsu-single-image.align-right{
    text-align: right;
}
/*********************************************************************
           TABLET
*********************************************************************/


@media only screen and ( min-width: 768px ) and ( max-width: 959px ) {
    .tatsu-call-to-action{
        padding: 30px 30px;
    }
    .tatsu-action-content, 
    .tatsu-action-button { 
    	float: none; 
    }
}

/*********************************************************************
            TABLET AND MOBILES ALL SIZES
*********************************************************************/

@media only screen and (max-width: 959px) {
    .be-section-pad.be-edge-padding{
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/*********************************************************************
            MOBILE PORTRAIT AND LANDSCAPE
*********************************************************************/

@media only screen and (max-width: 767px) {
	/* Text block */
    .tatsu-text-inner,
    .tatsu-inline-text-inner {
      width: 100% !important;
    }

    /* Call to Action */
    .tatsu-action-content, 
    .tatsu-action-button { 
        float: none; 
    }
    .tatsu-action-content {
        display: block;
        margin: 0 0 25px;
    }



    /* Title With Icon */
    .tatsu-tc.align-right, 
    .tatsu-tc.small.plain.align-right, 
    .tatsu-tc.medium.align-right, 
    .tatsu-tc.medium.plain.align-right {
        text-align: left;
    }
    .tatsu-ti.align-right {
        float: left;
        margin-right: 30px;
        margin-left: 0px;
    }
    .tatsu-tc.medium.align-right {
        padding-left: 100px;
        padding-right: 0px; 
    }
    .tatsu-ti.small.align-right {
        margin-left: 0px;
        margin-right: 20px;
    }
    .tatsu-tc.small.plain.align-right {
        padding-left: 50px;
        padding-right: 0px;
    }
    .tatsu-tc.medium.plain.align-right {
        padding-right: 0px;
        padding-left: 60px;
    }
    .tatsu-tc * {
        text-align: left !important;
    }    

    /* utility */
    .hide-mobile {
        display: none !important;
    }
    body.disable-animation-on-mobile .animated {
        -webkit-animation-duration: 0s !important;
        -moz-animation-duration: 0s !important;
        -ms-animation-duration: 0s !important;
        -o-animation-duration: 0s !important;
        animation-duration: 0s !important;
        visibility: visible !important;
    }
}