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

html { scroll-behavior: smooth; }

body { margin: 0;padding: 0;font-family: 'Inter',arial,tahoma,verdana;font-size: 14px;font-weight: 300;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; }

.page_padding { padding-top: 30px;padding-bottom: 80px; }


.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: #a10e2f; }
a.main,span.main { font-weight: 500;position: relative;padding-right: 26px;transition: all 0.4s ease;color: #a10e2f; }
a.main:after,span.main:after { content: "";position: absolute;right:0;width: 20px;height: 10px;background-image: url('../img/icons/main_right.svg');background-position: right center;background-repeat: no-repeat;background-size: contain;top: 50%;transform: translateY(-50%);transition: all 0.4s ease; }
a.main:hover:after,span.main:hover:after { right: -6px; }

.flexbox { display: flex;flex-wrap: wrap; }

.halfblock { width: 50%; }
.halfblock:nth-child(odd) { padding-right: 30px; }
.halfblock:nth-child(even) { padding-left: 30px; }

section { padding: 80px 0; }
section.small { padding: 50px 0; }

.recent_projects { background-color: #3d0816;color: #fff; }
.recent_header { background-color: #3d0816;color: #fff;padding: 70px 0 10px; }

.v_logo { background-image: url('../img/logos/v_25.png');background-position: center;background-repeat: no-repeat;background-attachment: fixed; }
.v_logo_dark { background-image: url('../img/logos/v_dark.png');background-position: center;background-repeat: no-repeat;background-attachment: fixed; }



/* form */

.contact_form_wrapper { background-color: #430717;color: #fff;display: flex;flex-wrap: wrap;padding: 50px;border-radius: 50px; }
.contact_form_wrapper .cleft { width: 50%;padding-right: 50px; }
.contact_form_wrapper .cleft h3 { font-size: 48px;line-height: 1.2;margin-bottom: 20px; }
.contact_form_wrapper .cleft p { font-size: 20px;line-height: 1.5;margin-bottom: 32px;opacity: 0.7; }
.contact_form_wrapper .cright { width: 50%; }

#contact_outer { background: #fff;border-radius: 20px;padding: 30px;color: #000; }
#contact_outer h4 { margin-bottom: 10px; }

.cform_row_half { margin-bottom: 15px;display: flex;flex-wrap: wrap; }
.cform_row_half .block { width: 49%; }
.cform_row_half .block:nth-child(odd) { margin-right: 1%; }
.cform_row_half .block:nth-child(even) { margin-left: 1%; }

.cform_row { margin-bottom: 15px; }

label.cform { display: block;font-weight: 500;margin-bottom: 6px; }

.ctb { border: 1px solid #ddd;border-radius: 8px;padding: 12px;font-family: inherit;font-size: 14px;resize: none;width: 100%;background: #fff;color: #222; }

a.cform_mobile { display: block;position: relative;padding-left: 60px;color: #fff;transition: all 0.4s ease;font-size: 20px;font-weight: 500; }
a.cform_mobile span { display: block;font-size: 14px;text-transform: uppercase;margin-bottom: 2px;opacity: 0.6; }
a.cform_mobile:before { content: "";width: 48px;height: 48px;background: #a10e2f;opacity: 0.7;transition: all 0.4s ease;border-radius: 6px;position: absolute;top: 50%;left: 0;margin-top: -24px;background-image: url('../img/icons/mobilephone.svg');background-size: 18px auto;background-repeat: no-repeat;background-position: center; }
a.cform_mobile:hover:before { opacity: 1; }

.contact_form_wrapper button { width: 100%;justify-content: center; }


.contact_options_wrapper { background: #430717;color: #fff;padding: 30px 30px 50px 30px;border-radius: 30px; }

.contact_block { display: block;position: relative;padding-left: 60px;color: #fff;transition: all 0.4s ease;font-size: 20px;font-weight: 500;margin-top: 20px; }
.contact_block span { display: block;font-size: 14px;text-transform: uppercase;margin-bottom: 2px;opacity: 0.6; }
.contact_block:before { content: "";width: 48px;height: 48px;background: #a10e2f;opacity: 0.7;transition: all 0.4s ease;border-radius: 6px;position: absolute;top: 0;left: 0;background-size: 18px auto;background-repeat: no-repeat;background-position: center; }
.contact_block:hover:before { opacity: 1; }

.cb_location:before { background-image: url('../img/icons/location.svg'); }
.cb_clock:before { background-image: url('../img/icons/clock_white.svg'); }

.cb_time_row { margin-top: 4px;padding-bottom: 4px;border-bottom: 1px solid #fff2;display: flex;justify-content: space-between;font-size: 14px; }

#contact_map { padding: 24px 0 0 0; }
#contact_map iframe { display: block;width: 100%;height: 250px;border: 0; }


/* headers */



h1,h2,h3,h4 { font-family: 'DM Serif Display'; }

h1 { font-size: 72px;line-height: 1;letter-spacing: -2px;font-weight: 400;margin-bottom: 24px;text-shadow: 2px 2px 2px #000; }
h2 { font-size: 50px;line-height: 1.1;letter-spacing: -1px;font-weight: 400;margin-bottom: 24px; }
h3 { font-size: 36px;line-height: 1.1;letter-spacing: -1px;font-weight: 400;margin-bottom: 24px; }
h4 { font-size: 24px;line-height: 1.2;letter-spacing: -0.5px;font-weight: 400;margin-bottom: 18px; }

span.pretitle { display: block;color: #a10e2f;text-transform: uppercase;letter-spacing: 2px;font-weight: 700;margin-bottom: 6px; }
.recent_projects span.pretitle { color: #ec7a93; }


/* navigation */

header { position: sticky;top: 0;z-index: 500; }

ul#navigation { display: flex;flex-wrap: wrap; }
ul#navigation li { position: relative; }
ul#navigation li a { color: #fff;display: block;padding: 26px 20px;font-weight: 500;transition: all 0.4s ease; }
ul#navigation li a:hover { background: #eee;color: #a10e2f; }
ul#navigation li a.on { background: #eee;color: #a10e2f; }
ul#navigation li:hover > a { background: #eee;color: #a10e2f; }

ul#navigation li ul { position: absolute;left: 0;width: 240px;display: none;background: #eee; }
ul#navigation li ul li a { padding: 16px 20px;color: #000; }
ul#navigation li ul li a:hover { background: #a10e2f;color: #fff; }



a#mobile_menu { display: none; }

.close_mobile_menu { display: none;position: absolute;right: 15px;top: 25px;text-decoration: none; }
.close_mobile_menu img { display: block;width: 36px;filter: grayscale(100) invert(100); }

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

ul.pagenav { display: flex;flex-wrap: wrap;align-items: center; }
ul.pagenav li { margin: 0 6px 12px 0; }
ul.pagenav li a { background-color: #fff;width: 40px;height: 40px;display: flex;justify-content: center;align-items: center;color: #222;box-shadow: 0 1px 2px rgba(161, 14, 47, 0.04), 0 4px 12px rgba(161, 14, 47, 0.06), 0 12px 32px rgba(0, 0, 0, 0.05);border-radius: 8px; }
ul.pagenav li a.on { background-color: #a10e2f;color: #fff; }




.crumb_wrapper { background: #eee;padding: 16px 0 8px; }
.crumb_wrapper ul.breadcrumb { display: flex;align-items: center;flex-wrap: wrap;padding: 0 6px; }
.crumb_wrapper ul.breadcrumb li { margin-bottom: 8px; }
.crumb_wrapper ul.breadcrumb li:nth-child(odd) { margin-right: 6px;font-size: 12px;color: #ed1e24; }
.crumb_wrapper ul.breadcrumb li:nth-child(even) { margin-right: 16px;font-size: 14px; }
.crumb_wrapper ul.breadcrumb li a { color: #333; }

.button_row { display: flex;flex-wrap: wrap; }
.button_row a { margin-right: 20px; }
.button_row a:last-child { margin-right: 0px; }

.standard { cursor: pointer;display: inline-flex;align-items: center;border: 0;border-radius: 8px;padding: 18px 32px;transition: all 0.4s ease;font-size: 16px;font-weight: 500;font-family: inherit; }
.standard:hover { transform: translateY(-6px);box-shadow: 0 4px 28px #0007; }

.standard_red { background: #a10e2f;color: #fff; }
.standard_white { background: #fffc;color: #000; }


/* top */


#top_wrapper { background: #1a0108d4; }
#top_inner { display: flex;justify-content: space-between;align-items: center; }
#top_inner #logo_wrapper { width: 150px; }
#top_inner #logo_wrapper img { display: block; }

/* Home */

#home_hero { width: 100vw;height: 100vh;position: relative;z-index: 10; }

#home_slider { height: 100%; }

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

#home_slider .slick-list,#home_slider .slick-track { height: 100%; }

#home_overlay { position: absolute;left: 0;top: 0;width: 100%;height: 100%;z-index: 8;background-image: radial-gradient(ellipse at 20% 80%, rgba(0, 0, 0, 0.15) 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, rgba(56, 56, 56, 0.1) 0%, transparent 50%), radial-gradient(ellipse at 50% 50%, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.23) 100%);display: flex;align-items: flex-end;color: #fff; }

#home_hero_intro { padding: 0 0 70px 0;width: 50%; }
#home_hero_intro .top { background: #320410;color: #fff;display: inline-flex;margin-bottom: 8px;align-items: center;padding: 8px 18px;border-radius: 20px;font-weight: 500; }
#home_hero_intro p { font-size: 18px; }

.quote_cta { background: #3d0816;color: #fff;padding: 20px 0; }
.contact_cta { display: flex;align-items: center;flex-wrap: wrap;justify-content: center;font-size: 32px;font-weight: 200; }
.contact_cta a { display: flex;align-items: center;margin-left: 20px;color: #fff7;transition: all 0.4s ease; }
.contact_cta a:hover { color: #ffff; }
.contact_cta a img { display: block;width: 30px;margin-right: 8px; }

.quote_cta ul { display: flex;flex-wrap: wrap;justify-content: center; }
.quote_cta ul li { margin: 0 20px;display: flex;align-items: center;font-weight: 500; }
.quote_cta ul li img { display: block;margin-right: 8px;width: 14px;opacity: 0.6; }

.why_choose_wrapper { background: #f9f7f4;padding: 32px 50px 50px;border-radius: 30px; }
.why_choose_wrapper ul li { position: relative;padding-left: 64px;margin-bottom: 14px;min-height: 44px;display: flex;align-items: center;flex-wrap: wrap;font-size: 16px; }
.why_choose_wrapper ul li span { display: block;font-size: 16px;font-weight: 500;margin-bottom: 2px; }
.why_choose_wrapper ul li:before { position: absolute;width: 44px;height: 44px;background-position: center;background-image: url('../img/logos/v_red.png');background-size: contain;background-repeat: no-repeat;content: "";left: 0;top: 50%;margin-top: -22px; }


.home_services_wrapper { background-color: #f9f7f4; }
.home_services_header { text-align: center;margin-bottom: 50px; }

.shad { box-shadow: 0 1px 2px rgba(161, 14, 47, 0.04), 0 4px 12px rgba(161, 14, 47, 0.06), 0 12px 32px rgba(0, 0, 0, 0.05) }

ul.service_thumbs { display: flex;flex-wrap: wrap;justify-content: center; }
ul.service_thumbs li { background: #fff;border-radius: 12px;margin-right: .5%;margin-right: .5%;width: 24%;margin-bottom: 5px;box-shadow: 0 1px 2px rgba(161, 14, 47, 0.04), 0 4px 12px rgba(161, 14, 47, 0.06), 0 12px 32px rgba(0, 0, 0, 0.05);transition: all 0.4s ease; }
ul.service_thumbs li:hover { transform: translateY(-8px); }

ul.service_thumbs li a { display: block;padding: 20px;color: #333; }
ul.service_thumbs li a .thumb_outer { width: 100%;margin-bottom: 12px; }
ul.service_thumbs li a .thumb_outer .thumb { padding-top: 60%;background-size: cover;background-position: center;background-repeat: no-repeat;border-radius: 10px; }


.recent_item { padding: 0 20px;display: block; }
.recent_item .inner { border-radius: 12px;overflow: hidden; }
.recent_item .inner .thumb_outer { position: relative; }
.recent_item .inner .thumb_outer .thumb { padding-top: 65%;background-size: cover;background-position: center;background-repeat: no-repeat; }
.recent_item .inner .thumb_outer .thumb_overlay { position: absolute;left: 0;top: 0;bottom: 0;width: 100%;background: #000;z-index: 10;background: linear-gradient(0deg,rgba(0, 0, 0, 0.65) 0%, rgba(255, 255, 255, 0) 100%); }
.recent_item .inner .thumb_outer ul.cats { display: flex;flex-wrap: wrap;position: absolute;left: 0;width: 100%;bottom: 0;padding: 0 16px;z-index: 20; }
.recent_item .inner .thumb_outer ul.cats li { margin: 0 12px 12px 0; }
.recent_item .inner .thumb_outer ul.cats li span { display: block;background: #a10e2f;padding: 4px 12px;border-radius: 20px;color: #fff;font-weight: 500;font-size: 14px; }

.recent_info { background: #5d0e22;color: #fff;padding: 30px 26px; }
.recent_info p { margin-bottom: 5px;line-height: 1.5;opacity: 0.7; }
.recent_info h4 { margin-bottom: 12px; }

#recent_items_slider ul.slick-dots { padding-top: 12px;display: flex;justify-content: center; }
#recent_items_slider ul.slick-dots li { margin: 0 8px 16px; }
#recent_items_slider ul.slick-dots li button { border: 0;width: 8px;height: 8px;background: #5d0e22;border-radius: 12px;text-indent: -9999px;cursor: pointer; }
#recent_items_slider ul.slick-dots li.slick-active button { background: #ec7a93; }

#recent_items_slider .navarrow { position: absolute;background: #1a0108d4;border-radius: 20px;top: 50%;width: 40px;height: 40px;display: flex;align-items: center;justify-content: center;text-align: center;border: 0; }
#recent_items_slider .navarrow img { display: block;width: 8px;height: auto; }
#recent_items_slider .prev { left: -26px; }
#recent_items_slider .next { right: -26px;transform: scaleX(-1); }
#recent_items_slider .slick-disabled { opacity: 0.3; }


#home_faq_wrapper { width: 700px;margin: 0 auto; }
.faq_item { margin-bottom: 12px;background: #fff;border-radius: 10px;padding: 20px;box-shadow: 0 1px 2px rgba(161, 14, 47, 0.04), 0 4px 12px rgba(161, 14, 47, 0.06), 0 12px 32px rgba(0, 0, 0, 0.05); }
.faq_item a.question { display: flex;align-items: center; }
.faq_item a.question div { width: 100%;font-size: 14px;font-weight: 500;flex: 1 1 auto;color: #000; }
.faq_item a.question span { width: 32px;height: 32px;border-radius: 20px;font-size: 22px;font-weight: 100;display: flex;justify-content: center;align-items: center;background-color: #fdf2f4;color: #c05970;line-height: 1; }
.faq_item a.question span img { display: block;width: 14px;transform-origin: center;transition: all 0.4s ease; }
.faq_item a.question span img.on { transform: rotate(45deg); }
.faq_item .answer { padding-top: 12px;display: none; }
.faq_item .answer p:last-child { margin-bottom: 6px; }

.areas_we_cover { width: 100%;max-width: 900px;margin: auto; }
.areas_we_cover p { text-align: center;font-size: 18px;line-height: 1.6; }


ul.recent_all { display: flex;flex-wrap: wrap;margin-bottom: 16px; }
ul.recent_all > li { width: 32%;margin-right: 2%;margin-bottom: 20px; }
ul.recent_all > li:nth-child(3n) { margin-right: 0; }
ul.recent_all li a.recent_item { padding: 0; }
ul.recent_all li a.recent_item .recent_info { background: #1e1b15; }


/* services */

#service_hero { width: 100vw;height: 770px;position: relative;background-size: cover;background-repeat: no-repeat;background-position: center; }

#service_overlay { position: absolute;left: 0;top: 0;width: 100%;height: 100%;z-index: 8;background-image: radial-gradient(ellipse at 20% 80%, rgba(0, 0, 0, 0.15) 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, rgba(0, 0, 0, 0.1) 0%, transparent 50%), radial-gradient(ellipse at 50% 50%, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.16) 100%);display: flex;align-items: flex-end;color: #fff; }

#service_hero_intro { padding: 0 0 20px 0;width: 75%; }
#service_hero_intro .top { background: #320410;color: #fff;display: inline-flex;margin-bottom: 8px;align-items: center;padding: 8px 18px;border-radius: 20px;font-weight: 500; }
#service_hero_intro h1 { margin-bottom: 8px; }
#service_hero_intro p { font-size: 22px; }

.service_info { display: flex;flex-wrap: wrap; }
.service_info .si_left { width: 65%;padding-right: 40px; }
.service_info .si_left .si_content { padding: 30px 40px;background: #fff;box-shadow: 0 1px 2px rgba(161, 14, 47, 0.04), 0 4px 12px rgba(161, 14, 47, 0.06), 0 12px 32px rgba(0, 0, 0, 0.05);border-radius: 16px; }
.service_info .si_right { width: 35%; }


.service_info .si_left .cms h2 { font-size: 44px; }
.service_info .si_left .cms h3 { font-size: 28px;margin-bottom: 14px; }

.si_right .contact_form_wrapper { padding: 30px;border-radius: 30px; }
.si_right .contact_form_wrapper .cleft { width: 100%;padding-right: 0;margin-bottom: 20px; }
.si_right .contact_form_wrapper .cright { width: 100%; }
.si_right .contact_form_wrapper .cleft h3 { font-size: 36px; }
.si_right .contact_form_wrapper .cleft p { font-size: 18px;line-height: 1.4;margin-bottom: 25px; }

ul.portfolio { display: flex;justify-content: center;flex-wrap: wrap; }
ul.portfolio li { padding: 0 15px 30px;width: 25%; }
ul.portfolio li .thumb { padding: 10px;background: #fff; }
ul.portfolio li .thumb a { display: block;padding-top: 70%;background-size: cover;background-repeat: no-repeat;background-position: center; }


/* recent */

#recent_wrapper { display: flex;flex-wrap: wrap; }
#recent_left { width: 40%;padding-right: 40px; }
#recent_right { width: 60%; }

#recent_header h2 { margin-bottom: 14px; }
#recent_header p { font-size: 20px; }

#recent_main_slider { padding: 10px;background: #fff; }
.recent_slide { display: block;padding-top: 60%;background-size: cover;background-position: center;background-repeat: no-repeat; }

#recent_main_slider ul.slick-dots { display: flex;justify-content: center;padding-top 10px; }
#recent_main_slider ul.slick-dots li { margin: 0 6px; }
#recent_main_slider ul.slick-dots li button { text-indent: -9999px;width: 8px;height: 8px;border-radius: 8px;border: 0;background: #eeebe7;cursor: pointer; }
#recent_main_slider ul.slick-dots li.slick-active button { background: #402b30; }

.recent_arrow { padding: 10px;background: #402b30;position: absolute;top: 50%;width: 32px;height: auto;transform: translateY(-50%);cursor: pointer;z-index: 80; }
.ra_prev { left: 0; }
.ra_next { right: 0;transform: scale(-1, -1); }

ul.recent_cats { display: flex;flex-wrap: wrap; margin-bottom: 20px; }
ul.recent_cats li { margin: 0 10px 10px 0; }
ul.recent_cats li span { background: #a02a49;color: #fff;font-size: 14px;font-weight: 500;padding: 10px 20px;border-radius: 30px; }


/* contact */


#other_hero { width: 100vw;height: 400px;position: relative;background-size: cover;background-repeat: no-repeat;background-position: center; }

#other_overlay { position: absolute;left: 0;top: 0;width: 100%;height: 100%;z-index: 8;background-image: radial-gradient(ellipse at 20% 80%, rgba(0, 0, 0, 0.15) 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, rgba(0, 0, 0, 0.1) 0%, transparent 50%), radial-gradient(ellipse at 50% 50%, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.16) 100%);display: flex;align-items: flex-end;color: #fff; }

#other_hero_intro { padding: 0 0 20px 0;width: 75%; }

#other_hero_intro h1 { margin-bottom: 8px; }
#other_hero_intro p { font-size: 22px; }


/* footer */

#footer_wrapper { background-color: #420515;color: #fff;padding: 80px 0; }

#footer_inner { display: flex;flex-wrap: wrap;margin-bottom: 50px; }
#footer_inner h5 { font-size: 14px;font-weight: 500;text-transform: uppercase;margin-bottom: 20px; }

#footer_inner #footer_left { width: 55%;display: flex;flex-wrap: wrap; }
#footer_inner #footer_left a { color: #fff;opacity: 0.7;transition: all 0.4s ease; }
#footer_inner #footer_left a:hover { opacity: 1; }
#footer_inner #footer_left #services { width: 100%; }
#footer_inner #footer_left #services #services_menus  { display: flex;flex-wrap: wrap; }
#footer_inner #footer_left #services #services_menus ul { width: 50%;padding-right: 40px; }
#footer_inner #footer_left #services #services_menus ul:last-child { padding-right: 0px; }
#footer_inner #footer_left #services #services_menus ul li { margin-bottom: 10px; }

#footer_inner #footer_right { width: 45%;display: flex;flex-wrap: wrap; }
#footer_inner #footer_right #company { width: 45%;padding-right: 40px; }
#footer_inner #footer_right #footer_contact { width: 55%; }
#footer_inner #footer_right #company ul li { margin-bottom: 10px; }

#footer_inner #footer_right a { color: #fff; }

a.footer_phone { display: flex;align-items: center;position: relative;margin-bottom: 12px; }
a.footer_phone span { flex: 1 1 auto;padding-left: 12px; }
a.footer_phone img { display: block;width: 12px;height: auto;opacity: 0.6; }

.footer_location { display: flex;align-items: center;position: relative;margin-bottom: 12px; }
.footer_location span { flex: 1 1 auto;padding-left: 12px; }
.footer_location img { display: block;width: 12px;height: auto;opacity: 0.6; }

#footer_lower { padding-top: 50px;text-align: center;border-top: 1px solid #fff;opacity: 0.5 }
#footer_lower img { margin: 0 auto 14px;width: 200px; }
#footer_lower p { font-size: 14px;margin-bottom: 16px; }
#footer_lower p:last-child { margin-bottom: 0px; }

p.notsure { text-align: center;font-size: 20px;font-weight: 500;color: #430717; }

/* cms */

.cms { font-size: 16px; }
.cms p { font-size: 16px; }
.cms ul { margin-bottom: 25px;list-style: disc;margin-left: 25px; }
.cms ul li { position: relative;margin-bottom: 4px; }


.cms ol li {
    counter-increment: step-counter;
    position: relative;padding-left: 62px;display: flex;align-items: center;min-height: 50px;margin-bottom: 10px;
}

.cms ol li::before {
    content: counter(step-counter);
    display: flex;align-items: center;justify-content: center;text-align: center;
    position: absolute;
    top: 50%;left: 0;transform: translateY(-50%);
    width: 50px;height: 50px;background-color: #a10e2f;
    color: #fff;border-radius: 35px;font-family: 'DM Serif Display';font-size: 32px;
}

.cms blockquote { padding: 0 0 0 50px;margin: 0 0 30px 0px;background-image: url('../img/logos/v_dark.png');background-size: 36px 36px;background-repeat: no-repeat;background-position: left top; }
.cms blockquote h3 { color: #a10e2f; }

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




.animated {
    animation-duration: 1s;
    animation-fill-mode: both;
}

@keyframes shakeX {
    from,
    to {
        transform: translate3d(0, 0, 0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translate3d(-10px, 0, 0);
    }

    20%,
    40%,
    60%,
    80% {
        transform: translate3d(10px, 0, 0);
    }
}

.shakeX {
    animation-name: shakeX;
}



#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%; }
.cookie_initial_options .cio_left h5 { font-size: 20px;margin-bottom: 10px;color: #1e8acc; }
.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;border: 1px solid #333;padding: 10px 18px;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 {  }
.cookie_initial_options .cio_right ul li a.custom { background: #256593;color: #fff;  }

#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: #1E8ACC; }

#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: 1400px) {

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

    #home_hero_intro { padding: 0 0 50px 0;width: 65%; }

    h1 { font-size: 64px; }
    h2 { font-size: 44px; }
    h3 { font-size: 30px; }
    h4 { font-size: 22px; }

    #service_hero_intro h1 { font-size: 54px; }

    #recent_left { width: 50%; }
    #recent_right { width: 50%; }

    }

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

    #home_hero_intro { width: 75%; }

    ul.service_thumbs li { width: 32%; }

    #service_hero_intro { padding: 0 0 15px 0;width: 85%; }
	#service_hero { height: 560px; }
    #service_hero_intro p { font-size: 20px; }

    .si_right #contact_outer { padding: 20px; }
    .si_right .cform_row_half .block:nth-child(odd) { margin-right: 0;margin-bottom: 8px; }
    .si_right .cform_row_half .block { width: 100%; }

    ul.portfolio li { padding: 0 10px 20px; }
    ul.portfolio li .thumb { padding: 6px; }

    }

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

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

    #footer_inner #footer_left { width: 100%;margin-bottom: 40px;text-align: center; }

    #footer_inner #footer_right { width: 100%;text-align: center; }

    #footer_inner #footer_left #services #services_menus ul { padding-right: 0px; }

    #footer_inner #footer_right { width: 100%; }
    #footer_inner #footer_right #company { width: 50%;padding-right: 0px; }
    #footer_inner #footer_right #footer_contact { width: 50%; }

    a.footer_phone { display: block;margin-bottom: 12px; }
    a.footer_phone span { display: block;padding-left: 0px; }
    a.footer_phone img { width: 24px;opacity: 0.6;margin: 0 auto 6px; }

    .footer_location { display: block; }
    .footer_location span { display: block;padding-left: 0px; }
    .footer_location img { width: 24px;margin: 0 auto 6px; }

    #recent_items_slider { padding: 0 16px; }
    #recent_items_slider .navarrow { width: 32px;height: 32px; }
    #recent_items_slider .navarrow img { width: 8px; }
    #recent_items_slider .prev { left: -6px; }
    #recent_items_slider .next { right: -6px; }

    #top_wrapper { padding: 16px 0; }
	#service_hero { height: 360px; }
    a#mobile_menu { display: flex;position: fixed;right: 20px;top: 16px;width: 50px;height: 50px;border-radius: 25px;background: #a10e2f;justify-content: center;text-align: center;align-items: center;z-index: 100; }
    a#mobile_menu img { display: block;width: 30px;height: auto; }

    #nav_wrapper_container {  }
    #nav_wrapper { background-color: #000d;backdrop-filter: blur(10px);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;text-align: left; }

    .close_mobile_menu { display: block;position: absolute;right: 16px;top: 10px;font-size: 32px;color: #fff;text-decoration: none; }

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

    ul#navigation { display: block;background: none;padding: 0; }
    ul#navigation li { margin-bottom: 2px;margin-left: 0; }
    ul#navigation li a { display: block;padding: 16px 20px;color: #fff; }
    ul#navigation li ul { position: static;width: 100%; }

    section { padding: 50px 0; }

    #home_hero_intro { width: 90%; }

    .halfblock { width: 100%; }
    .halfblock:nth-child(odd) { padding-right: 0px;margin-bottom: 30px; }
    .halfblock:nth-child(even) { padding-left: 0px; }

    #service_hero_intro h1 { font-size: 48px; }

    .service_info .si_left .cms h2 { font-size: 36px; }
    .service_info .si_left .cms h3 { font-size: 24px; }

    #other_hero_intro { width: 85%; }

    ul.recent_all > li { width: 49%; }
    ul.recent_all > li:nth-child(even) { margin-right: 0; }
    ul.recent_all > li:nth-child(odd) { margin-right: 2%; }

    #recent_wrapper { flex-direction: column-reverse; }
    #recent_left { width: 100%;padding-right: 0px; }
    #recent_right { width: 100%;margin-bottom: 24px; }

    }

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

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

    .contact_form_wrapper { padding: 36px;border-radius: 36px; }
    .contact_form_wrapper .cleft { width: 100%;padding-right: 0px;margin-bottom: 20px; }
    .contact_form_wrapper .cleft h3 { font-size: 36px; }
    .contact_form_wrapper .cright { width: 100%; }

    #home_faq_wrapper { width: 100%; }

    #service_hero_intro { width: 100%; }

    #service_hero_intro p { font-size: 18px; }

    #service_hero_intro h1 { font-size: 40px; }

    .service_info .si_left { width: 100%;padding-right: 0;margin-bottom: 20px; }
    .service_info .si_right { width: 100%; }

    .si_right .cform_row_half .block:nth-child(odd) { margin-right: 1%; }
    .si_right .cform_row_half .block { width: 49%; }

    ul.portfolio li { padding: 0 6px 12px;width: 33.33%; }

    #other_hero_intro { width: 90%; }

    #other_hero_intro p { font-size: 20px; }

    }

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


    ul.service_thumbs li { width: 49.5%; }

    #footer_inner #footer_right #company { width: 100%;margin-bottom: 30px; }
    #footer_inner #footer_right #footer_contact { width: 100%; }

    h1 { font-size: 42px; }
    h2 { font-size: 32px; }
    h3 { font-size: 24px; }
    h4 { font-size: 18px; }

    #home_hero_intro p { font-size: 16px; }

    .standard { padding: 14px 18px; }

    #home_hero_intro { width: 100%;padding-bottom: 30px; }

    .why_choose_wrapper { padding: 22px 30px 30px;border-radius: 26px; }

    .contact_cta { font-size: 28px; }

    .contact_cta a img { width: 22px; }

    #service_hero_intro h1 { font-size: 32px; }

    .service_info .si_left .si_content { padding: 20px 26px; }

    .si_right .cform_row_half .block { width: 100%; }
    .si_right .cform_row_half .block:nth-child(odd) { margin-right: 0;margin-bottom: 15px; }
    .si_right .cform_row_half .block:nth-child(even) { margin-left: 0; }

    ul.portfolio li { width: 50%; }

    #other_hero_intro { width: 100%; }

    #other_hero_intro p { font-size: 18px; }

    ul.recent_all > li { width: 100%; }
    ul.recent_all > li:nth-child(even) { margin-right: 0; }
    ul.recent_all > li:nth-child(odd) { margin-right: 0; }

    }

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

    ul.service_thumbs li { width: 100%;margin: 0 0 6px; }

    #footer_inner #footer_left #services #services_menus ul { width: 100%;padding-right: 0px; }

    .contact_cta { font-size: 22px; }

    .contact_cta a img { width: 18px;margin-right: 6px; }

    #home_hero_intro h1 { margin-bottom: 16px;letter-spacing: -1px; }

    .contact_form_wrapper { padding: 20px;border-radius: 26px; }

    .cform_row_half .block { width: 100%; }
    .cform_row_half .block:nth-child(odd) { margin-right: 0;margin-bottom: 15px; }
    .cform_row_half .block:nth-child(even) { margin-left: 0; }

    #contact_outer { padding: 18px; }

    }


