a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font-family:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1.4}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

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

body { margin: 0;padding: 0;font-family: 'Cormorant Garamond','Lora',georgia;font-size: 20px;background: #fff;color: #000;overflow-x: hidden;position: relative; }

strong,b { font-weight: 600; }

p { margin-bottom: 24px; }

.page_width { max-width: 1400px;width: 100%;margin-left: auto;margin-right: auto; }

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

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

a { text-decoration: none;color: #000; }

.tac { text-align: center; }

/* headers */

h1,h2,h3,h4,h5 { font-family: 'Cormorant Garamond';font-weight: 300; }

.section_padding { padding: 80px 0 0; }
.page_padding { padding: 30px 0 80px; }


h1.main_header { font-size: 48px;margin-bottom: 16px; }

/* navigation */

ul#navigation { display: flex;align-items: center; }
ul#navigation li { margin-right: 50px; }
ul#navigation li.socials { margin-right: 20px; }
ul#navigation li a.phone { display: flex;align-items: center; }
ul#navigation li a.phone img { display: block;margin-right: 5px;width: 16px; }
ul#navigation li:last-child { margin-right: 0px; }
a.main { transition: all 0.4s ease;position: relative;padding: 2px 0; }
a.main:before { transition: all 0.4s ease;position: absolute;content: '';left: 0;bottom: 0;height: 1px;width: 0;background: #000; }
a.main:hover:before { width: 100%; }
a.on:before { width: 100%; }

ul#navigation li.socials ul { display: flex;align-items: center; }
ul#navigation li.socials ul li { margin-right: 14px; }
ul#navigation li.socials ul li img { display: block;width: 22px; }
ul#navigation li.socials ul li:last-child { margin-right: 0px; }

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; }

ul.pagenav { display: flex;flex-wrap: wrap; }
ul.pagenav li { margin: 0 6px 12px 0; }
ul.pagenav li a { background-color: #ddd;width: 40px;height: 40px;display: flex;justify-content: center;align-items: center;color: #222; }
ul.pagenav li a.on { background-color: #ed1e24;color: #fff; }

a.standard { display: inline-flex;color: #000;transition: all 0.3s ease;border-bottom: 1px solid #777; }
a.standard:hover { border-bottom: 1px solid #000; }
a.standard i { margin-right: 8px; }


.crumb_wrapper { border-top: 1px solid #eee;border-bottom: 1px solid #eee;padding: 16px 0 8px; }
.crumb_wrapper ul.breadcrumb { display: flex;align-items: center;flex-wrap: wrap;padding: 0 6px;justify-content: center; }
.crumb_wrapper ul.breadcrumb li { margin-bottom: 8px;font-size: 14px;margin-right: 20px;position: relative; }
.crumb_wrapper ul.breadcrumb li:after { position: absolute;right: -15px;top: 50%;transform: translateY(-50%);content: "//"; }
.crumb_wrapper ul.breadcrumb li:last-child:after { display: none; }
.crumb_wrapper ul.breadcrumb li:last-child { margin-right: 0; }

.crumb_wrapper ul.breadcrumb li a { color: #333; }


/* top */

header { position: sticky;top: 0;background: #fffc;backdrop-filter: blur(6px);z-index: 500; }

#top_wrapper { padding: 40px 0;position: relative; }
#top_inner { display: flex;flex-wrap: wrap;align-items: center;position: relative; }
#top_logo { width: 25%; }
#top_logo img { display: block; }
#top_nav { width: 75%;display: flex;justify-content: flex-end; }



/* home */

#mobile_slider { display: none; }
#desktop_slider { display: block; }

.slick-slider,.slick-list,.slick-track,.slick-slide,.slick-slide > div { height: 100%; }

#hero_inner { height: 100%;position: relative;padding: 5px 50px 50px; }

.home_slide { height: 100%;background-size: cover;background-position: center;background-repeat: no-repeat; }
.home_slide img { object-fit: contain;object-position: center;display: block;width: 100%;height: 100%; }

.home_intro { padding: 20px 0 80px; }
.home_intro h1 { font-size: 60px;text-align: center; }

.home_clients { text-align: center;margin-bottom: 80px; }
.home_clients h3 { font-size: 28px;margin-bottom: 20px; }


/* portfolio */

ul.portfolio_links { display: flex;justify-content: center;flex-wrap: wrap; }
ul.portfolio_links li { width: 50%;padding: 0 60px 90px;text-align: center; }
ul.portfolio_links li a .thumb { background-size: cover;background-position: center;background-repeat: no-repeat;padding-top: 65%;margin-bottom: 8px; }
ul.portfolio_links li h2 { font-size: 36px;margin-bottom: 10px; }

.grid-sizer,
.grid-item { width: 33.33%; }
.grid img { display: block; }
.grid a { display: block;padding: 5px; }


/* clients */

ul.clients { display: flex;flex-wrap: wrap;align-items: center;justify-content: center;padding: 30px 0 0 0; }
ul.clients li { margin: 0 30px 50px; }
ul.clients li img { width: 100%;max-width: 150px;max-height: 48px;display: block; }



/* contact */

ul.contact_options { margin-bottom: 44px; }
ul.contact_options li { margin-bottom: 20px;padding-left: 40px;position: relative;line-height: 1; }
ul.contact_options li img { display: block;width: 26px;height: auto;position: absolute;left: 0;top: 50%;transform: translateY(-50%);opacity: 0.7; }
ul.contact_options li a { display: block;white-space: no-wrap;font-weight: 300;font-size: 24px; }

ul.contact_options li:last-child { margin-right: 0px; }

#contact_form_wrapper { }

.contact_form_row { margin-bottom: 12px; }
.contact_form_row input,.contact_form_row textarea{ border: 1px solid #aaa;padding: 14px;font-family: inherit;font-size: inherit;resize: none;width: 100%; }

button { display: inline-flex;background: #333;color: #fff;font-family: inherit;font-size: inherit;padding: 14px 28px;border: 0;cursor: pointer;transition: all 0.4s ease; }
button:hover { background: #000; }

#form_errors p { color: #900;margin-bottom: 30px; }


/* footer */

#footer_wrapper { padding: 30px 0 30px;border-top: 1px solid #ddd; }
#footer_wrapper ul { display: flex;justify-content: center; }
#footer_wrapper ul li { border-right: 1px solid #aaa;line-height: 1; }
#footer_wrapper ul li a { display: block;padding: 0 20px; }
#footer_wrapper ul li:last-child { border-right: 0; }



/* layout */

.page_split { display: flex;flex-wrap: wrap; }
.page_split .ps_left { width: 50%;display: flex;justify-content: flex-end; }
.page_split .ps_left .ps_inner { width: 100%;max-width: 700px;display: flex;padding-right: 60px;padding-top: 30px;padding-bottom: 30px; }

.page_split .ps_right { background-size: cover;background-position: center;background-repeat: no-repeat;width: 50%;min-height: 100vh; }


.page_split .ps_right_alt { width: 50%;display: flex;justify-content: flex-start; }
.page_split .ps_right_alt .ps_inner { width: 100%;max-width: 700px;display: flex;padding-left: 60px;padding-top: 60px;padding-bottom: 60px; }

.page_split .ps_left_alt { background-size: cover;background-position: center;background-repeat: no-repeat;width: 50%;min-height: 80vh; }


/* cms */

.cms_wrapper { width: 100%;max-width: 70%;margin-left: auto;margin-right: auto; }
.cms_spacer { margin-bottom: 60px; }

.cms ul { margin-bottom: 25px;list-style: disc;margin-left: 22px; }
.cms ul li { margin-bottom: 4px; }

.cms h2 { margin-bottom: 26px;font-size: 42px; }
.cms h3 { font-size: 34px; }
.cms h4 { font-size: 26px; }
.cms h5 { font-size: 22px; }
.cms h3,.cms h4,.cms h5 { margin-bottom: 20px; }

p.recaptcha { font-size: 14px;color: #999; }
p.recaptcha a { color: #333; }
.grecaptcha-badge { visibility: hidden; }








#cookie_initial { background-color: #eee;color: #000;display: none;padding: 25px 30px;position: fixed;z-index: 20000000000;bottom: 0;left: 0;width: 100%; }
.cookie_initial_options { display: flex;flex-wrap: wrap; }
.cookie_initial_options .cio_left { width: 60%;font-size: 18px; }
.cookie_initial_options .cio_left h5 { font-size: 24px;margin-bottom: 10px;color: #111; }
.cookie_initial_options .cio_right { width: 40%; }
.cookie_initial_options .cio_right ul { display: flex;flex-wrap: wrap;justify-content: flex-end; }
.cookie_initial_options .cio_right ul li { margin-right: 14px; }
.cookie_initial_options .cio_right ul li:last-child { margin-right: 0; }
.cookie_initial_options .cio_right ul li a { display: block;text-decoration: none;padding: 8px 12px;color: #333; }
.cookie_initial_options .cio_right ul li a:hover { text-decoration: underline; }
.cookie_initial_options .cio_right ul li a.accept { background-color: #333;color: #fff; }
.cookie_initial_options .cio_right ul li a.reject { background: #fff; }
.cookie_initial_options .cio_right ul li a.custom { background: #ddd;color: #000;  }

#cookie_custom_overlay { display: none;position: fixed;top: 0;left: 0;width: 100%;height: 100vh;z-index: 25000;background: #fffc; }

#cookie_custom_wrapper { display: none;position: fixed;width: 800px;height: 70%;left: 50%;top: 50%;transform: translate(-50%,-50%);background-color: #fff;box-shadow: 0 0 20px #0004;z-index: 30000; }

#cookie_custom_inner { position: absolute;top: 0;bottom: 0;left: 0;width: 100%;height: 100%;overflow-y: auto;padding: 24px 34px; }
.cookie_custom_close { position: absolute;top: 8px;right: 8px;font-size: 12px;color: #000; }

#cookie_custom_wrapper h1 { font-size: 32px;margin-bottom: 14px; }
#cookie_custom_wrapper h2 { font-size: 26px;margin-bottom: 14px; }
#cookie_custom_wrapper ul.cc_options { background: #eee;padding: 16px 22px;margin-bottom: 20px; }
#cookie_custom_wrapper ul.cc_options li { position: relative;padding-left: 50px;margin-bottom: 10px; }
#cookie_custom_wrapper ul.cc_options li div.switch_outer { position: absolute;left: 0;top: 50%;width: 36px;height: 20px;border: 1px solid #ccc;margin-top: -10px;padding: 1px;background: #fff; }
#cookie_custom_wrapper ul.cc_options li input { display: none; }
#cookie_custom_wrapper ul.cc_options li div.switch_outer a { display: block;height: 18px;position: relative;width: 100%;transition: all 0.4s ease; }
#cookie_custom_wrapper ul.cc_options li div.switch_outer a span { display: block;height: 16px;width: 16px;position: absolute;transition: all 0.4s ease; }
#cookie_custom_wrapper ul.cc_options li div.switch_outer a.off span { background: #ccc;left: 0; }
#cookie_custom_wrapper ul.cc_options li div.switch_outer a.on span { background: #2DCC43;left: 16px; }


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

    .cookie_initial_options .cio_left { width: 100%;text-align: center;margin-bottom: 12px; }
    .cookie_initial_options .cio_right { width: 100%; }
    .cookie_initial_options .cio_right ul { display: block; }
    .cookie_initial_options .cio_right ul li { margin: 0 0px 12px 0; }
    .cookie_initial_options .cio_right ul li a { text-align: center; }

    #cookie_custom_wrapper { width: 90%;height: 80%; }


    }

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

    .page_width { padding-left: 25px;padding-right: 25px; }

    ul.portfolio_links li { padding: 0 40px 60px; }

    .page_split .ps_left .ps_inner { padding-left: 25px; }

    }

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

    ul.portfolio_links li { padding: 0 30px 60px; }

    .grid-sizer,
    .grid-item { width: 25%; }

    }

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

    .page_width { padding-left: 20px;padding-right: 20px; }

    .home_intro h1 { font-size: 52px; }

    .grid-sizer,
    .grid-item { width: 33.33%; }

    }

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

    #mobile_slider { display: block; }
    #desktop_slider { display: none; }

    #hero_inner { padding: 0; }

    .page_width { padding-left: 15px;padding-right: 15px; }

    a#mobile_menu { display: block;position: absolute;right: 20px;top: 50%;transform: translateY(-50%);z-index: 100; }
    a#mobile_menu img { display: block;width: 40px; }

    #nav_wrapper_container {  }
    #nav_wrapper { background-color: #fffffff5;padding: 20px;width: 100%;position: fixed;left: 0;top: 0;z-index: 9999;min-height: 100vh;margin-left: -100%;transition: all 0.4s ease 0s; }

    .close_mobile_menu { display: block;position: absolute;right: 16px;top: 20px; }
    .close_mobile_menu img { display: block;width: 24px; }

    #menu_inner_wrapper { overflow: auto;position: absolute;bottom:0;left:0;right:0;top:0;width: 100%;padding: 20px 50px 20px 30px; }

    ul#navigation { display: block;background: none;padding: 0; }
    ul#navigation li { margin-bottom: 2px;margin-right: 0; }
    ul#navigation li a.main { display: block;padding: 16px 0px;border-bottom: 1px dotted #aaa; }

    ul#navigation li.socials { margin-right: 0px;padding: 16px 0; }
    ul#navigation li.socials ul li img { width: 32px; }

    ul#navigation li a.phone { padding: 16px 0;font-size: 26px; }
    ul#navigation li a.phone img { margin-right: 10px;width: 24px; }

    #top_logo { width: 40%; }
    #top_nav { width: 60%; }

    .home_intro { padding: 20px 0; }

    .home_intro h1 { font-size: 42px; }

    ul.portfolio_links li { padding: 0 20px 40px; }

    ul.portfolio_links li h2 { font-size: 30px; }

    .cms_wrapper { max-width: 90%; }

    h1.main_header { font-size: 40px; }

    }

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

    .page_split .ps_left { width: 100%; }
    .page_split .ps_right { width: 100%; }

    .page_split .ps_left .ps_inner { padding: 30px 25px 30px 25px;max-width: 100%; }

    .page_split .ps_right_alt { width: 100%; }
    .page_split .ps_right_alt .ps_inner { max-width: 100%;display: flex;padding-left: 25px;padding-top: 40px;padding-bottom: 40px;padding-right: 25px; }

    .page_split .ps_left_alt { width: 100%;min-height: 70vh; }

    }

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

    #top_logo { width: 66%; }
    #top_nav { width: 34%; }

    #top_wrapper { padding: 20px 0; }

    a#mobile_menu img { width: 32px; }

    .home_intro h1 { font-size: 32px; }

    ul.portfolio_links li { width: 100%;padding: 0 0px 60px; }
    ul.portfolio_links li h2 { font-size: 28px; }

    ul.clients li { margin: 0 20px 30px; }
    ul.clients li img { max-width: 140px;max-height: 70px; }

    .cms_wrapper { max-width: 100%; }

    .grid-sizer,
    .grid-item { width: 50%; }
    h1.main_header { font-size: 36px;margin-bottom: 26px; }


    }

#pagination { opacity: 0; }
#loadmore { display: flex;width: 100%;justify-content: center;position: relative;z-index: 200;padding: 20px; }

.lds-ellipsis,
.lds-ellipsis div {
    box-sizing: border-box;
}
.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}
.lds-ellipsis div {
    position: absolute;
    top: 33.33333px;
    width: 13.33333px;
    height: 13.33333px;
    border-radius: 50%;
    background: currentColor;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}
@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}
@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(24px, 0);
    }
}



