body { margin: 0;padding: 0;font-family: 'Jost',arial,tahoma,verdana;font-size: 16px;line-height: 1.5;background: #fff;color: #000;overflow-x: hidden; }

strong { font-weight: 600; }

a { outline: none;color: #333;text-decoration: none; }

.clear:after { content: ".";display: block;height: 0;clear: both;visibility: hidden; }

* { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box; }

.page_width { max-width: 1600px;margin-left: auto;margin-right: auto; }
.page_width_np { max-width: 1600px;margin-left: auto;margin-right: auto; }

input, textarea { border-radius: 0; }

h1,h2,h3,h4,h5,h6 {  }

p { margin-bottom: 22px; }

.mb_small { margin-bottom: 10px; }
.mb_med { margin-bottom: 20px; }
.mb_large { margin-bottom: 30px; }
.mb_vlarge { margin-bottom: 50px; }

.tac { text-align: center; }
.un { text-decoration: underline; }

.caps {
    text-transform: uppercase;
}
.w300 {
    font-weight: 300;
}

.ptop {
    padding-top: 30px;
}

.underlined {
    padding-bottom: 8px;border-bottom: 1px solid #222;
}

img { max-width: 100%;height: auto; }

::-webkit-input-placeholder {
   color: #888;opacity: 1;
}

:-moz-placeholder { /* Firefox 18- */
   color: #888;opacity: 1;
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #888;opacity: 1;
}

:-ms-input-placeholder {
   color: #888;opacity: 1;
}


/* layouts */

.content {
    padding: 74px 0 100px;
}

.left_50 {
    float: left;width: 50%;padding-right: 50px;
}
.right_50 {
    float: right;width: 50%;
}

.two_cols {
    column-count: 2;column-gap: 50px;
}

.btt {
    position: fixed;opacity: 0;z-index: 600;bottom: -80px;left: 50%;transform: translateX(-50%);background: #aaa;color: #fff;padding: 8px 20px;font-size: 24px;display: block;transition: all 0.3s ease;border-radius: 100%;
}

a.backupon {
    bottom: 20px;opacity: 0.9;
}

.multi_button_row {
    display: flex;justify-content: center;
}
.multi_button_row a {
    margin: 0 10px;
}

/* headers */



/* top */

#top {
    position: fixed;z-index: 100;padding: 20px 0;background: #fff;width: 100%;
}
#top_inner {
    display: flex;align-items: center;position: relative;
}
#top_inner .left {
    width: 30%;
}

#top_inner img.logo {
    width: auto;height: 22px;display: block;
}

#top_inner .right {
    display: flex;justify-content: flex-end;width: 70%;
}



.crumb_wrapper {
    padding: 16px 0 0 0;font-size: 14px;text-transform: uppercase;color: #bbb;
}
.crumb_wrapper a {
    color: #000;
}

ul.breadcrumb {
    display: flex;align-items: center;flex-wrap: wrap;
}
ul.breadcrumb li {
    margin: 0 10px 11px 0;
}

ul#navigation {
    display: flex;justify-content: flex-end;align-items: center;font-family: 'Jost';letter-spacing: 2px;
}
ul#navigation li {
    margin-right: 1px;position: relative;
}
ul#navigation li:last-child {
    margin-right: 0;
}

ul#navigation li a {
    display: block;padding: 10px 20px;font-size: 14px;text-transform: uppercase;color: #000;
}
ul#navigation li a.more {
    padding: 10px 25px 10px 20px;position: relative;
}
ul#navigation li a.more img {
    position: absolute;right: 12px;top: 50%;margin-top: -2px;width: 6px;height: 4px;
}

ul#navigation li a.join {
    transition: all 0.3s ease;margin-left: 10px;background: #000;color: #fff;
}
ul#navigation li a.join:hover {
    background: #eee;color: #000;
}

ul#navigation li a span {
    position: absolute;height: 2px;display: block;width: 0;bottom: 0;left: 0;background: #000;transition: width 0.3s ease;
}
ul#navigation li a:hover span,ul#navigation li:hover a span {
    width: 100%;
}


ul#navigation li a.on {  }

ul#navigation li:hover > a {  }


ul#navigation li ul { position: absolute;left: 50%;transform: translateX(-50%);display: none;z-index: 6999;background: #fff;width: 300px;text-align: center; }
ul#navigation li ul li { display: block;margin: 0;border-bottom: 1px solid #ddd; }
ul#navigation li ul li a { background: #fff;color: #000;padding: 15px 22px; }
ul#navigation li ul li a:hover { background: #eee;color: #000; }


/* header */

h1,h2,h3,h4,h5,h6 {
    font-family: 'Lora';
}

h1 {
    font-size: 48px;line-height: 1.3;
}

h2 {
    font-size: 36px;letter-spacing: 1px;
}

h3 {
    font-size: 24px;letter-spacing: 2px;font-style: italic;
}

h5 {
    font-size: 24px;letter-spacing: 2px;
}

/* contact */



.wide_header {
    height: 400px;background-size: cover;background-position: center;background-repeat: no-repeat;overflow: hidden;
}

.big_form_wrapper {
    max-width: 1000px;margin: auto;padding: 70px 0;text-align: center;
}

.small_form_wrapper {
    max-width: 700px;margin: auto;
}

.form_row {
    margin-bottom: 20px;font-family: 'Lora';display: flex;flex-wrap: wrap;gap: 2%;
}

.form_row label {
    display: block;font-size: 14px;margin-bottom: 6px;text-align: left;font-style: italic;
}

.form_row input,.form_row select,.form_row textarea {
    width: 100%;border: 1px solid #ccc;padding: 10px;font-family: 'Lora';font-size: 16px;background: #fff;transition: all 0.3s ease;
}
.form_row input:focus,.form_row select:focus,.form_row textarea:focus {
    border: 1px solid #000;
}

.form_row button {
    width: 65%;margin: auto;display: block;cursor: pointer;background: #222;color: #fff;border: 0;text-align: center;padding: 14px;font-family: inherit;font-size: 16px;
}

.form_row .half {
    width: 49%;
}

span.req {
    color: #f00;
}

p.recaptcha {
    font-size: 14px;
}

p.recaptcha a {
    text-decoration: underline;
}

ul.form_services {
    border: 1px solid #ccc;padding: 14px 14px 0;display: flex;flex-wrap: wrap;gap: 4%;
}

ul.form_services li {
    width: 48%;
}

ul.form_services li a {
    display: block;padding-left: 40px;position: relative;min-height: 40px;text-align: left;
}

ul.form_services li a span {
    display: block;width: 26px;height: 26px;position: absolute;left: 0;top: 0;background: #eee;text-align: center;line-height: 28px;font-size: 16px;color: #000;
}

ul.form_services li a span i {
    opacity: 0;transition: all 0.3s ease;
}

ul.form_services li a.on span i {
    opacity: 1;
}

ul.form_services li a input {
    display: none;
}

.grecaptcha-badge { visibility: hidden; }

/* other */

.other_wrap {
    padding: 70px 0;
}

/* services */

#all_services {
    display: flex;flex-wrap: wrap;overflow: hidden;
}


a.service_row {
    display: flex;width: 50%;position: relative;border: 2px solid #fff;color: #000;transition: all 0.6s ease;
}

a.service_row h2 {
    position: absolute;right: 0;font-family: 'Jost';font-weight: 300;text-transform: uppercase;bottom: 20px;background-color: rgba(255,255,255,1);padding: 4px 18px 4px 40px;font-size: 26px;z-index: 20;transition: all 0.6s ease;letter-spacing: 3px;
}

a.service_row .thumb {
    display: block;padding-top: 60%;background-size: cover;background-repeat: no-repeat;background-position: center;width: 100%;
}

a.service_row:hover h2 {
    letter-spacing: 7px;
}


#service_hero_wrapper {
    width: 100%;position: relative;overflow: hidden;
}

#service_hero_image {
    width: 100%;height: 100%;background-size: cover;background-position: center;background-repeat: no-repeat;
}

#service_hero_intro {
    position: absolute;z-index: 20;left: 50%;transform: translateX(-50%);bottom: 40px;background: #fff;padding: 0px 20px 0px 20px;white-space: nowrap;
}
#service_hero_intro h1 {
    letter-spacing: 5px;font-family: 'Jost';font-weight: 300;text-transform: uppercase;
}

.sdetails_row {
    padding: 100px 0 0 0;
}

.sdetails_row p {
    font-size: 18px;font-weight: 300;
}

.sdetails_split {
    display: flex;align-items: center;flex-wrap: wrap;
}

.sdetails_split .left {
    width: 35%;padding: 50px;background: #ddd;min-height: 250px;display: flex;align-items: center;text-align: center;justify-content: center;position: relative;
}



.sdetails_split .left h3 {
    font-size: 44px;font-style: normal;letter-spacing: 0;line-height: 1.2;opacity: 0.6;
}

.sdetails_split .right {
    width: 65%;padding-left: 50px;position: relative;
}

.sdetails_split .right p:last-child {
    margin: 0;
}

.sdetails_row_sp:nth-child(even) .sdetails_split {
    flex-direction: row-reverse;
}

.sdetails_row_sp:nth-child(even) .sdetails_split .right {
    padding-left: 0;padding-right: 50px;
}

.sdetails_single {
    padding: 0 10%;text-align: center;
}
.sdetails_single .cms p {
    font-size: 22px;
}

.large_service_summary {
    text-align: center;padding: 100px 15% 0px;
}
.large_service_summary h2 {
    font-size: 28px;color: #555;line-height: 1.3;
}

.service_options {
    display: flex;flex-wrap: wrap;padding-top: 100px;
}

.service_options .option {
    min-height: 500px;height: 500px;display: flex;align-items: center;justify-content: center;text-align: center;padding: 20px;color: #fff;position: relative;overflow: hidden;
}

.option_half {
    width: 50%;
}

.option_full {
    width: 100%;
}

.service_options .option .bg {
    width: 100%;height: 100%;background-size: cover;background-position: center;background-repeat: no-repeat;transition: all 3s ease;position: absolute;top: 0;left: 0;opacity: 0.4;
}

.service_options .option:hover .bg {
    filter: blur(20px);transform: scale(1.5);
}

.service_options .option > div {
    position: relative;z-index: 20;
}

.service_options .option h4 {
    font-size: 32px;margin-bottom: 20px;
}

.service_options .option:first-child {
    background: #000;
}
.service_options .option:last-child {
    background: #111;
}

.service_options .standard {
    border: 1px solid #eee;color: #eee;
}

.service_options .standard:hover {
    background: transparent;opacity: 0.7;
}

.service_options ul {
    display: flex;margin-bottom: 20px;justify-content: center;
}

.service_options ul li {
    margin: 0 15px;font-size: 32px;line-height: 1;
}
.service_options ul li a {
    color: #fff;
}

.other_services {
    padding: 100px 0 0;
}

.other_services ul {
    display: flex;flex-wrap: wrap;gap: 20px;
}
.other_services ul li {
    flex-grow: 1;width: 20%;
}

.other_services ul li a {
    color: #000;display: block;
}
.other_services ul li a h3 {
    font-size: 18px;text-transform: uppercase;font-family: 'Jost';margin-bottom: 8px;font-style: normal;
}


.other_services ul li a .thumb {
    padding-top: 65%;background-size: cover;background-position: center;background-repeat: no-repeat;margin-bottom: 6px;
}


/* about */

#about_wrapper {
    position: relative;
}

#about_wrapper .about_background {
    object-fit: cover;position: absolute;left: 0;top: 0;width: 100%;height: 100%;z-index: 1;background-size: cover;background-repeat: no-repeat;
}
#about_wrapper #about_inner {
    position: relative;z-index: 2;display: flex;
}
#about_wrapper #about_inner #left {
    width: 50%;display: flex;justify-content: flex-end;background-color: rgba(255,255,255,0.8);padding: 30px 0 40px 30px;
}
#about_wrapper #about_inner #left #left_inner {
    max-width: 800px;padding-right: 70px;
}

#about_wrapper #about_inner #right {
    width: 50%;
}

/* home */

#home_top {
    min-height: 100vh;height: 100vh;padding: 81px 0 0 0;position: relative;
}
#home_top_inner {
    height: 100%;background-size: cover;background-repeat: no-repeat;background-position: center;overflow: hidden;
}


#home_intro {
    position: absolute;right: 100px;bottom: 0;background-color: rgba(255,255,255,0.8);padding: 40px 50px;width: 30%;
}
#home_intro h1 {
    font-size: 32px;
}

#home_wrapper {
    min-height: 100vh;padding: 74px 0 0 0;display: flex;justify-content: center;align-items: center;
}

#home_inner {
    display: flex;flex-wrap: wrap;align-items: center;width: 100%;margin: 30px 0;background: #f2f1f1;
}

#home_inner .left {
    width: 50%;
}

#home_inner .left ul {
    display: flex;flex-wrap: wrap;
}

#home_inner .left ul li {
    width: 50%;
}
#home_inner .left ul li div {
    padding-top: 80%;width: 100%;background-size: cover;background-repeat: no-repeat;background-position: center;position: relative;
}

#home_inner .left ul li div span {
    opacity: 0;position: absolute;right: 0;bottom: 0;line-height: .7;font-size: 42px;font-weight: 600;font-family: 'Jost';color: #fff;text-transform: uppercase;transition: all 1s ease;
}
#home_inner .left ul li div:hover span {

}

#home_inner .right {
    width: 50%;padding: 30px 100px;
}

.row2_slide {
    background-position: center;background-repeat: no-repeat;background-size: cover;padding-top: 60%;position: relative;
}
.row2_slide .name {
    position: absolute;left: 0;bottom: 18px;background-color: rgba(255,255,255,0.8);padding: 8px 20px;font-family: 'Jost';font-size: 16px;text-transform: uppercase;color: #000;
}

.home_row {
    padding: 50px 0 0;
}
.home_row img {
    display: block;
}

.home_row:last-child {
    margin-bottom: 70px;
}

.home_row_inner {
    display: flex;align-items: center;flex-wrap: wrap;
}
.home_row_inner .block {
    width: 50%;
}
.home_row:nth-child(odd) .home_row_inner .block:first-child {
    padding-right: 70px;
}
.home_row:nth-child(even) .home_row_inner .block:first-child {
    padding-left: 70px;
}
video.full {
    object-fit: cover;width: 100%;height: 100%;
}

.home_row:nth-child(even) .home_row_inner {
    flex-direction: row-reverse;
}

#home_services {
    background: #f2f1f1;padding: 50px 0 30px;text-align: center;margin: 50px 0;
}
#home_services h2 {
    margin-bottom: 50px;
}

#home_services ul {
    display: flex;flex-wrap: wrap;justify-content: center;gap: 4%;
}
#home_services ul li {
    margin-bottom: 50px;width: 40%;
}
#home_services ul li a {
    color: #000;display: block;
}
#home_services ul li a h3 {
    font-size: 22px;text-transform: uppercase;font-family: 'Jost';margin-bottom: 8px;font-style: normal;
}


#home_services ul li a .thumb {
    padding-top: 65%;background-size: cover;background-position: center;background-repeat: no-repeat;margin-bottom: 6px;
}


#testimonials_wrapper {
    padding: 50px 0;
}

.testimonial {
    text-align: center;position: relative;padding: 0 100px;margin: 0 15%;
}
.testimonial img.ql {
    width: 80px;position: absolute;left: 0;top: 0;
}
.testimonial img.qr {
    width: 80px;position: absolute;right: 0;bottom: 0;transform: rotateZ(180deg);
}
.testimonial p {
    font-size: 20px;font-style: italic;margin-bottom: 12px;font-family: 'Lora';
}
.testimonial .details {
    font-size: 16px;display: flex;justify-content: center;
}
.testimonial .details strong {
    font-weight: 600;
}
.testimonial .details .inner {
    display: flex;align-items: center;position: relative;min-height: 70px;
}

.testimonial .details .inner .photo  {
    position: absolute;left: 0;bottom: 0;width: 70px;height: 70px;border-radius: 100%;background-size: cover;background-position: center;background-repeat: no-repeat;cursor: pointer;z-index: 100;transition: all 0.3s ease;
}

.testimonial_hasphoto {
    padding-left: 84px;
}
.testimonial .details .inner .testimonial_photo_large {
    width: 120px;height: 120px;
}

ul.slick-dots {
    display: flex;justify-content: center;padding-top: 10px;
}
ul.slick-dots li {
    margin: 0 4px;
}
ul.slick-dots li button {
    border: 0;width: 12px;height: 12px;background: #eee;font-size: 0;text-indent: -9999px;cursor: pointer;transform: rotate(45deg);
}
ul.slick-dots li.slick-active button {
    background: #111;
}

/* form */

.standard {
    display: inline-block;padding: 16px 26px;border: 1px solid #000;color: #000;cursor: pointer;transition: all 0.3s ease;font-size: 14px;text-transform: uppercase;letter-spacing: 2px;
}
.standard:hover {
    background: #000;color: #fff;
}

.standard_d {
    display: inline-block;padding: 16px 26px;border: 0;background: #000;color: #fff;cursor: pointer;transition: all 0.3s ease;font-size: 14px;text-transform: uppercase;letter-spacing: 2px;
}
.standard_d:hover {
    background: #eee;color: #000;
}

.full_join_link {
    padding: 50px 0 50px;text-align: center;
}




#footer_wrapper {
    padding: 50px 0 80px;background: #222;color: #fff;
}

#footer_wrapper a {
    color: #fff;
}

#footer_inner {
    display: flex;flex-wrap: wrap;max-width: 1400px;margin: auto;
}

#footer_left {
    width: 75%;display: flex;flex-wrap: wrap;
}

#footer_right {
    width: 25%;text-align: right;font-size: 14px;
}
#footer_right ul {
    display: flex;justify-content: flex-end;align-items: center;flex-wrap: wrap;
}
#footer_right ul li {
    margin-right: 15px;font-size: 24px;
}

#footer_right ul li:last-child {
    margin-right: 0;
}

#footer_inner .block {
    margin-right: 70px;
}
#footer_inner .block:last-child {
    margin-right: 0px;
}
#footer_inner .block ul li {
    margin-bottom: 7px;letter-spacing: 1px;font-size: 14px;
}
#footer_inner .block ul li a {
    color: #ccc;transition: all 0.2s ease;
}
#footer_inner .block ul li a:hover {
    color: #fff;
}

#footer_logo {
    display: flex;flex-wrap: wrap;background: #444;width: 230px;height: 230px;border-radius: 115px;justify-content: center;align-items: center;font-family: 'Jost';font-size: 14px;text-align: center;
}
#footer_logo img {
    width: 180px;display: block;margin: 10px auto 5px;
}
#footer_logo div {
    width: 100%;
}

/* navigation */

a#mobile_menu { display: none; }

.close_mobile_menu { display: none;position: absolute;right: 15px;top: 15px;color: #fff;font-size: 40px;text-decoration: none; }

.fw_open { margin-left: 0 !important; }

/* cms */

.cms ul {
    list-style: disc;margin: 0 0 25px 25px;
}
