/****************************
 * General style
*****************************/
.container, .site-header, .site-content, .site-footer {position:relative;}
.container, .container-fluid {
    width:100%; max-width:1180px;
    margin-left:auto; margin-right:auto; padding-left:20px; padding-right:20px;
}
.container-fluid {max-width:unset;}
.site-header {z-index:30;}
.site-content {z-index:20;}
.site-footer {z-index:10;}
.site-content .vc_row:first-child {padding-top:110px;}

/* FOOTER STICK TO BOTTOM */
html, body {min-height:100vh;}
body {
    display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex;
    -webkit-box-orient:vertical; -webkit-box-direction:normal; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column;
    -webkit-box-pack:justify; -webkit-justify-content:space-between; -ms-flex-pack:justify; justify-content:space-between;
}

/****************************
 * Header
*****************************/
.site-nav--row {
    width:100%; position:fixed; padding:55px 80px 0;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.site-nav--desktop {position:relative; z-index:101;}


/* LOGO */
.nav-logo--sticky {display:none;}
.nav-logo-link {display:block; height:77px;}
.nav-logo-link img {width:auto;}


/* HAMBURGER MENU */
button.nav-hamburger {padding:5px 0; background:none;}
button.nav-hamburger span {font-size:0;}
.nav-hamburger--lines {display:block; width:30px; height:20px; position:relative;}
.nav-hamburger--lines i {
    position:absolute; left:0;
    display:block; width:100%; height:2px; background:#fff;
    transition:all .5s ease-in-out;
}
.nav-hamburger--lines i:nth-child(1) {top:0;}
.nav-hamburger--lines i:nth-child(2) {top:9px;}
.nav-hamburger--lines i:nth-child(3) {bottom:0;}
.menu-open .nav-hamburger--lines i:nth-child(1) {transform:rotate(45deg); top:9px;}
.menu-open .nav-hamburger--lines i:nth-child(3) {transform:rotate(-45deg); bottom:9px;}
.menu-open .nav-hamburger--lines i:nth-child(2) {width:0; left:50%;}


/* DESKTOP MENU */
.desktop-menu ul {list-style:none; margin:0;}
.desktop-menu ul > li {padding:0; position:relative;}
.desktop-menu ul.sub-menu ul.sub-menu {display:none;}


/* DESKTOP MENU > Lv1 */
.desktop-menu ul.menu {display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}
.desktop-menu ul.menu > li:not(:last-child) {padding:0 25px;}
.desktop-menu ul.menu > li:last-child {padding-left:25px;}
.desktop-menu ul.menu > li > a {
    font-size:15px; font-weight:500; color:#fff; text-decoration:none; text-transform:uppercase;
    position:relative;
}
.desktop-menu ul.menu > li:not(:last-child) > a:hover {
    color:#007cb2; font-weight:700;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.desktop-menu ul.menu li.btn-link a {
    padding:22px 27px; position:relative; font-weight:700;
    border-left:2px solid #007cb2; border-bottom:2px solid #007cb2;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.desktop-menu ul.menu li.btn-link a:before {
    content:""; display:block;
    width:calc(100% - 15px); height:2px; background:#007cb2;
    position:absolute; top:0; left:0;
}
.desktop-menu ul.menu li.btn-link a:after {
    content:""; display:block;
    height:calc(100% - 15px); width:2px; background:#007cb2;
    position:absolute; bottom:0; right:0;
}
.desktop-menu ul.menu li.btn-link a span:before {
    content:""; display:block;
    width:10px; height:2px; background:#007cb2;
    position:absolute; top:0; right:-4px;
}
.desktop-menu ul.menu li.btn-link a span:after {
    content:""; display:block;
    width:2px; height:10px; background:#007cb2;
    position:absolute; top:-4px; right:0;
}
.desktop-menu ul.menu li.btn-link a:hover {
    color:#007cb2;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.desktop-menu ul.menu > li.current_page_item a {font-weight:700; padding-bottom:5px; border-bottom:2px solid #fff;}


/* DESKTOP MENU > Lv1 has submenu */
.desktop-menu ul.menu > li[class*="has-child"] > a:after {
    content:"\e931"; font-family:"icomoon", fantasy; margin-left:10px;
    transition:transform .3s ease; display:inline-block;
}
.desktop-menu ul.menu > li[class*="has-child"]:hover > a:after {transform:rotate(180deg);}

/* DESKTOP MENU > Lv2 */
.desktop-menu li:not(:hover) ul.sub-menu {opacity:0; visibility:hidden; pointer-events:none;}
.desktop-menu ul.sub-menu {
    position:absolute; top:100%; left: 50%;
    transform: translateX(-50%);
    min-width: calc(100% + 40px); padding:25px 0;
    background:#fff;
    transition:all .5s ease;
}
.desktop-menu ul.sub-menu > li > a {
    display:block;
    padding:6px 20px; text-decoration:none; white-space: nowrap; text-align: center;
}
.desktop-menu ul.sub-menu > li > a:hover{color:#181818;}

/* MOBILE MENU */
.site-nav--mobile {
    position:fixed; top:0; left:0; bottom:0; z-index:100;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
    -webkit-transform:translateX(-105%);-ms-transform:translateX(-105%);transform:translateX(-105%);
    background:#fff; box-shadow:0 2px 5px 0 rgba(0, 0, 0, .2);
    padding:100px 20px 20px; box-sizing:border-box; overflow-y:auto;
    max-width:350px; width:100%;
}
.menu-open .site-nav--mobile {transform:none; background:#000;}
.site-nav--mobile__inner {height:100%;}
.site-nav--mobile__bottom {display:none;}
.site-nav--mobile__close {
    position:fixed; top:0; left:0; z-index:15;
    width:100vw; height:100vh; font-size:0; background:rgba(0, 0, 0, .3);
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
    opacity:0; visibility:hidden;
}
.menu-open .site-nav--mobile__close {opacity:1;visibility:visible;}


/* MOBILE MENU > common menu */
.mobile-menu ul {list-style:none; margin:0;}
.mobile-menu ul > li {padding:0;}
.mobile-menu ul > li:not(:last-child) {margin-bottom:10px;}
.mobile-menu ul > li > a {
    display:block; padding:5px 0 0; margin-bottom:15px; color:#fff; text-decoration:none;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.mobile-menu ul > li > a:hover {
    color:#007cb2;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.mobile-menu .btn-link {padding-top:15px;}
.mobile-menu .btn-link a {
    padding:22px 27px; position:relative; font-weight:700; width:fit-content;
    border-left:2px solid #007cb2; border-bottom:2px solid #007cb2;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.mobile-menu .btn-link a:before {
    content:""; display:block;
    width:calc(100% - 15px); height:2px; background:#007cb2;
    position:absolute; top:0; left:0;
}
.mobile-menu .btn-link a:after {
    content:""; display:block;
    height:calc(100% - 15px); width:2px; background:#007cb2;
    position:absolute; bottom:0; right:0;
}
.mobile-menu .btn-link a span:before {
    content:""; display:block;
    width:10px; height:2px; background:#007cb2;
    position:absolute; top:0; right:-4px;
}
.mobile-menu .btn-link a span:after {
    content:""; display:block;
    width:2px; height:10px; background:#007cb2;
    position:absolute; top:-4px; right:0;
}
.mobile-menu .btn-link a:hover {
    color:#007cb2;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.desktop-menu ul.menu > li.current_page_item a {font-weight:700; padding-bottom:5px; border-bottom:2px solid #fff;}
.mobile-menu ul > li[class*="current-"] > a {width:fit-content; border-bottom:1px solid #fff;}
.mobile-menu ul > li > a:hover, .mobile-menu ul > li > a:focus {border-bottom-color:#007cb2;}


/* MOBILE MENU > sub menu */
.mobile-menu ul.sub-menu {margin-top:5px; padding-top:5px; border-left:1px solid #ccc;}
.mobile-menu ul.sub-menu > li {padding-left:15px;}


/*sticky menu*/
.scroll-middle .site-nav--desktop {z-index:105;}
.scroll-middle .site-nav--row {
    padding:10px 80px; background:#fff;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
    box-shadow:0 0 2px 1px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow:0 0 2px 1px rgba(0, 0, 0, 0.1);
    -moz-box-shadow:0 0 2px 1px rgba(0, 0, 0, 0.1);
}
.scroll-middle .desktop-menu ul.menu > li > a {color:#000;}
.scroll-middle .nav-logo {display:none;}
.scroll-middle .nav-logo--sticky {display:block;}
.menu-open .scroll-middle .site-nav--mobile {background:#fff;}
.scroll-middle .nav-hamburger--lines i {background:#000;}
.scroll-middle .mobile-menu ul > li > a {color:#000;}
.scroll-middle .desktop-menu ul.menu > li.current_page_item a {border-color:#000;}
.scroll-middle .mobile-menu ul > li[class*="current-"] > a {border-color:#000;}

/* BANNER */
.site-banner {position:relative; z-index:5;}
.site-banner:before {
    content:""; display:block;
    width:100%; height:100%;
    background:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.36) 40%, rgba(0, 0, 0, 0.56) 100%);
    background:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.36) 40%, rgba(0, 0, 0, 0.56) 100%);
    background:-ms-linear-gradient(bottom, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.36) 40%, rgba(0, 0, 0, 0.56) 100%);
    background:-moz-linear-gradient(bottom, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.36) 40%, rgba(0, 0, 0, 0.56) 100%);
    background:linear-gradient(to top, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.36) 40%, rgba(0, 0, 0, 0.56) 100%);
    position:absolute; top:0; left:0;
}
.site-banner-image {height:480px;}
.site-breadcrumbs-title {position:absolute; bottom:70px; width:100%;}
.site-breadcrumbs-title .container {
    display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webkit-flex;display:flex;
    align-items:center; justify-content:space-between;
}
.site-banner .site-title * {padding-left:50px; color:#fff;}
.site-breadcrumbs {margin-right:-92px;}
.site-breadcrumbs span, .site-breadcrumbs a {
    color:#fff; font-size:16px;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}
.site-breadcrumbs a:hover {
    color:#007cb2; font-weight:600;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}

/*tool banner*/
.tool-banner {width:120px; height:auto; background:#fafafa; position:absolute; bottom:-290px; z-index:99;}

.tool-banner__scroll-down {
    padding:35px 0 40px; position:relative;
    text-align:center; width:100%;
}
.tool-banner__scroll-down button {
    background:transparent; color:#000; font-size:14px; font-weight:700; text-transform:uppercase;
    padding-bottom:35px; position:relative;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.tool-banner__scroll-down button:hover {
    color:#007cb2;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.tool-banner__scroll-down button:after {
    content:"\e929"; font-family:"icomoon", fantasy; font-size:22px; color:#007cb2; font-weight:500;
    position:absolute; left:50%;
    animation:scrollDown 0.75s ease 0.5s forwards infinite;
    transform:translateX(-50%); -webkit-transform:translateX(-50%); -ms-transform:translateX(-50%);
}
.tool-banner__scroll-down button span {writing-mode:vertical-lr;}

/*animation for arrow scroll down*/
@keyframes scrollDown {
    0% {bottom:0; -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}
    100% {bottom:-10px; -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}
}

/****************************
* Homepage
*****************************/


/*simple content*/
#simple-content {padding-bottom:110px;}
#simple-content .wpb_content_element {margin-bottom:0;}
#simple-content .wpb_column:last-child p {margin-bottom:30px;}

/*Content with icon*/
.page-home .image-content-icon:before {
    content:""; display:block;
    width:calc(30% - 12px); height:100%; background:#fafafa;
    position:absolute; top:0; right:0;
}
.page-home .image-content-icon .wpb_single_image {margin-bottom:60px;}

/****************************
 * Contact
*****************************/
#form-main {padding-top:125px;}
#form-main:before {
    content:""; display:block !important;
    width:100%; height:calc(100% - 215px); background:#fafafa;
    position:absolute; top:0; left:0;
}
#form-info {padding-left:50px;}
#form-info a {color:#000; text-decoration:none;}
#form-main .wpb_content_element {margin-bottom:50px;}

/*Form popup*/
.vii-popup-form {max-width:1024px !important; width:100%;}
.page-home .vii-popup-form .site-content {padding-top:0;}
.vii-popup-form .gform_title {padding-bottom:15px;}
.vii-popup-form .offer-form {margin-bottom:0 !important;}
.vii-popup-form .fancybox-button {
    background:#007cb2 !important; top:0 !important; right:0 !important;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.vii-popup-form .fancybox-button:hover {
    opacity:0.5 !important;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}

/* MAP */
.main_content .wpgmza_map {float:none !important; margin-bottom:-300px;}

/*Footer*/
.site-footer-content {padding:320px 0 70px; position:relative; z-index:0;}
.site-footer-content:before {
    content:""; display:block;
    width:100%; height:100%; background:rgba(0, 0, 0, 0.75);
    position:absolute; top:0; left:0;
}
.site-footer-content .container {padding:0;}
#footer-info {padding-bottom:70px; margin:0;}
#footer-info .wpb_content_element {margin-bottom:20px !important;}
#footer-info_phone a {font-weight:400; text-decoration:none; -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}
#footer-info_phone a:hover {color:#007cb2; -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}
#footer-info_phone p {margin-bottom:10px;}
#footer-info .footer-menu ul {list-style:none; margin:0;}
#footer-info .footer-menu ul li {padding:0 0 18px 0; line-height:1.2;}
#footer-info .footer-menu ul li a {
    color:#fff; font-weight:400;text-decoration:underline; font-size:16px;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
#footer-info .footer-menu ul li a:hover {
    color:#007cb2;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
#footer-copyright {
    display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webkit-flex;display:flex;
    align-items:center; justify-content:space-between;
}
#footer-copyright .wpb_column {width:auto;}
#footer-copyright:before, #footer-copyright:after {display:none;}
#footer-copyright .wpb_content_element {margin-bottom:0 !important;}
#footer-copyright a {
    color:#fafafa; text-decoration:none; font-weight:400;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
#footer-copyright a:hover {
    color:#007cb2; opacity:1;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
#footer-copyright p {opacity:0.5;}


/*button back to top*/
.twc-back-to-top {position:relative; z-index:1;}
.twc-back-to-top__btn {
    position:absolute;top:55px; right:70px; z-index:9;
    transform:translateY(-50%); -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%);
}
.twc-back-to-top__btn button {background:transparent; font-size:0; position:relative;}
.twc-back-to-top__btn button:before {
    content:"\e94b"; font-family:"icomoon", fantasy; color:#fff; font-size:76px;
    position:absolute; top:0; left:0;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.twc-back-to-top__btn button:hover:before {
    color:#007cb2; top:-10px;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}


/*button phone*/
.twc-sticky-redirect {
    position:fixed; z-index:99; right:50px; bottom:50px;
    background:#007cb2; border-radius:28px;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.twc-sticky-redirect a {
    display:block; overflow:hidden;
    width:56px; height:56px; line-height:56px; text-align:center;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.twc-sticky-redirect a i {
    line-height:1;
    position:absolute; top:50%; left:13px;
    transform:translateY(-50%); -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%);
}
.twc-sticky-redirect a i:before {
    color:#fff; font-size:32px;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.twc-sticky-redirect a span {
    line-height:1; color:#fff; padding:0; opacity:0; font-weight:600;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.twc-sticky-redirect:hover a {
    width:210px;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.twc-sticky-redirect:hover a span {
    opacity:1; padding-left:25px;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.page-home.scroll-top .twc-sticky-redirect {
    background:transparent; z-index:0;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.page-home.scroll-top .twc-sticky-redirect a i:before {
    color:transparent;
    -webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;
}
.page-home.scroll-top .twc-sticky-redirect a span {font-size:0;}

/****************************
 * Editor style
****************************/
#background-text {padding:110px 0; margin-bottom:90px;}
#background-text .wpb_content_element {max-width:1140px; margin:auto;}
#background-text p {padding-left:50px;}
.site-content {min-height:100px;}
.single-page-image .vc_figure,
.single-page-image .vc_single_image-wrapper,
.single-page-image .vc_single_image-wrapper img {width:100%;}


/*col content*/
.content-col {padding:100px 0 50px; position:relative;}
.content-col:before {
    display:block !important;
    width:100%; height:100%; background:#fafafa;
    position:absolute; top:0; left:0;
}
.content-col .wpb_content_element {margin-bottom:60px !important;}


/* FORCE HEADING TEXT WHITE */
.main_content .txt_color_white, .txt_color_white a, .txt_banner,
.main_content .txt_color_white h1, .main_content .txt_color_white h2, .main_content .txt_color_white h3,
.main_content .txt_color_white h4, .main_content .txt_color_white h5, .main_content .txt_color_white h6 {color:#fff;}


/****************************
 * Spacing
****************************/
/* VISUAL COMPOSER SPACING */
/* .main_content .wpb_content_element {margin-bottom:110px;} */
.main_content .vc_col-has-fill > .vc_column-inner,
.main_content .vc_row-has-fill + .vc_row-full-width + .vc_row > .vc_column_container > .vc_column-inner,
.main_content .vc_row-has-fill + .vc_row > .vc_column_container > .vc_column-inner,
.main_content .vc_row-has-fill > .vc_column_container > .vc_column-inner {padding-top:60px;}

/* CUSTOM SPACING */
.no-margin-bottom {margin-bottom:0 !important;}
.margin-bottom-60px {margin-bottom:60px !important;}
.margin-bottom-30px {margin-bottom:30px !important;}

/****************************
 * Miscellaneous
****************************/
/* Visibility Classes */
.hidden-xs, .hidden-s, .hidden-m, .hidden-l, .hidden-xl {display:block;}
.show-xs, .show-s, .show-m, .show-l, .show-xl {display:none;}


/* Placeholder */
body ::-webkit-input-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:#ccc;}
body ::-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:#ccc;}
body :-ms-input-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:#ccc;}
body :-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:#ccc;}