/*FLEXIBLE CONTENT*/
    /*image_gallery*/
    .image_gallery{ margin-top:109px; }
    .image_gallery .gallery, .image_gallery .gallery #slider{ height:690px; }
        .flex-viewport{ display:block; width:100%; height:100%; }
        .gallery li {}
        .gallery_image_large{height: 690px;display:block;width:100%;background-size: cover !important;background-position: 50% !important;}
        .slider { margin: 50px 0 10px!important;}
        .carousel li {margin-right: 5px;}
        .carousel img {display: block; opacity: .5; cursor: pointer;}
        .carousel img:hover {opacity: 1;}
        .carousel .flex-active-slide img {opacity: 1; cursor: default; position:relative; top:50%; transform:translateY(-50%); }
     .flexslider.carousel{ margin:50px 0 90px; }
    .flexslider.carousel .slides>li { display: block; box-sizing: border-box;  position: relative;  width: auto;  height: 185px;  background: #ddd;}
    
    /*testimonials*/
    .testimonials{  margin-top:70px;  }
        .testimonials.gray{ background:#F2F2F2; padding:70px 0; margin-bottom:0; }
        .testimonials.gray .site-main{ background:transparent; }
        .testimonials .to_title{text-align:center;max-width:515px;margin:0 auto 50px;}
        .testimonials .to_title *{ font-size:44px;line-height: 44px;font-family: 'Montserrat', sans-serif;font-weight:800; }
        .testimonials_grid{ display:grid; grid-template-columns:repeat(3, 1fr); grid-gap:30px;  }
        .testimonial_content{ padding:36px; border:2px solid #f2f2f2; }
        .testimonials.gray .testimonial_content{ border:2px solid #ffffff; }
        .testimonial_name{ margin:20px 0; display:block; text-align:center; color:var(--pink); }
        
    /*text_only*/
    .text_only{ margin-top:70px; }

    /*to_title*/
    .to_title, .to_title *{font-size:28px;line-height:28px;font-family: 'Montserrat', sans-serif;font-weight: 800;margin-bottom: 50px;}
    
    /*text_image*/
    .text_image{ margin-top:70px; }
        .text_image_grid{ display:grid; grid-template-columns:1.3fr 1fr; grid-gap:45px;}
        .ti_title{ font-size:24px; line-height:24px; font-family: 'Montserrat', sans-serif; font-weight:800; margin-bottom:20px; }
        .ti_image{ background-color:var(--pink); background-size:cover !important; background-position:50% !important; }
        
    /*deal_banner*/
    .deal_banner{ margin-top:70px; background:#f2f2f2; }
        .deal_banner .site-main{ background:transparent; }
        .deal_grid{ display:grid; grid-template-columns:2fr 1fr; grid-gap:45px;}
        .deal_content_wrapper{ position:relative; top:50%;transform:translateY(-50%);  }
        .deal_title, .deal_title *{ font-size:44px; line-height:45px; font-family: 'Montserrat', sans-serif; font-weight:800; margin-bottom:50px; }
        .deal_subtitle, .deal_subtitle *{ font-size:28px; line-height:28px; font-family: 'Montserrat', sans-serif; font-weight:800; margin-bottom:50px; }
        .deal_introduction{ max-width:578px; }
        
    /*orange_banner*/
    .orange_banner.ob_flexible{margin-top:70px;margin-bottom: 10px;padding: 33px 0 27px;}
        .ob_withlogo{ display:grid; grid-template-columns:0.7fr 2fr; }
        .ob_withlogo .ob_title *, .ob_withlogo .ob_subtitle *{ text-align: left; }
        .ob_flexible .ob_title, .ob_flexible .ob_title *{ font-size:24px; line-height:30px; margin-bottom:10px; }
        .ob_flexible .ob_subtitle, .ob_flexible .ob_subtitle *{ font-size:24px; line-height:30px; }
        .ob_title .heart:before{ background:var(--orange); width:30px; height:26px; top:-5px; }
        .ob_logo img{ max-height:100%; }
        .ob_withlogo .ob_content{ position:relative; top:50%; transform:translateY(-50%);  }

    /*coverage_zone*/
    .coverage_zone{margin-top:70px;margin-bottom: -650px;}
        .coverage_background{ height:752px; width:100%; display:block; }
        .coverage_content{position:relative;top:-650px;background: transparent;}
        .coverage_title{color: #FFF; font-family: 'Montserrat', sans-serif; font-weight:800; font-size:70px; line-height:70px; margin-bottom:40px;}
        .coverage_subtitle{color: #FFF; font-family: 'Montserrat', sans-serif; font-weight:800; font-size:28px; line-height:35px; margin-bottom:100px; max-width:860px; }
        .coverage_map{width:100%;height:670px;border:20px solid #FFF;background-size: cover !important;background-position: 50% !important;}
        .coverage_outro{ color:var(--dark); max-width:745px; margin:30px auto 0; font-size:24px; font-weight:600; line-height:32px; text-align:center; }

    /*2 column intro*/
    .twocolbanner{ margin-top:70px; }
        .intro_title{ max-width:800px;  font-family: 'Montserrat', sans-serif; font-weight:800; font-size:28px; line-height:34px; margin-bottom:40px; }
        .columns_grid{ display:grid; grid-template-columns:repeat(2, 1fr); grid-gap:44px; }
    
    /*price_plans*/
    .price_plans{ margin-top:70px; }
    .pplan_grid{ display:grid; grid-template-columns:repeat(3, 1fr); grid-gap:30px; }
        .pplan{ background:var(--dark); color:#FFF; padding:52px 46px; position:relative;   }
        .pplan.orange{background:var(--orange);}
        .pplan.pink{ background:var(--pink); }
        .pplan *{ color:#FFF;  }
        .pplan:after{content:'';width:286px;height:278px;display:block;position:absolute;bottom:0;left:0;background:url('img/pricebox_bg.svg') no-repeat;background-size:contain;z-index: 0;}
        .pplan_title{ font-size:36px; font-weight:600; margin-bottom:25px; }
        .pplan_intro{ min-height:100px; }
        .pplan_elements{position:relative;z-index: 101;}
            .list_element{font-size:18px;font-weight:600;margin-bottom:20px;padding-left: 33px;position:relative;}
                .list_element:before{content:"";display:block;position:absolute;left:0;top:2px;width: 20px;height: 17px;background:url('img/icon-tick.svg') no-repeat;background-size:contain;}
            .hint{display:inline-block;width:14px;height:14px;position:relative;background:url(img/icon-hint.svg) no-repeat;top:2px;margin-left:7px;cursor:pointer;/* z-index: 100; */}
            .hint:hover .hint_content{display:block;position:absolute;padding:20px;width:300px;background:var(--lighter);z-index:1100;margin-top:15px;font-size:14px;font-weight:400;left: 50%;transform: translateX(-50%);}
            .hint_content{ display:none; }
        .pplan a.button{display:block;text-align:center;background:#FFF;color:var(--dark);border-radius:40px;margin:30px 0;font-weight:600;z-index: 9;}
        .pplan_monthly_price{margin: 30px 0 0;text-align:center;}
        .price{ font-size:44px; line-height:44px; font-weight:600; display:inline; }
            .permonth{ font-size:18px; display:inline; }
            .installationfee{ font-size:14px; font-style:italic; text-align:center; }
            .additional_note{font-size:14px;font-style:italic;text-align: center;}

        .pplan_note{font-size:14px;font-style:italic;padding-left: 33px;position:relative;z-index: 100;}
            .pplan_note:before{content:"";display:block;position:absolute;left:0;top:2px;width: 20px;height: 17px;background:url('img/icon-star.svg') no-repeat;background-size:contain;}
            
        .orange a.button{ color:var(--orange); }
        .pink a.button{ color:var(--pink); }

/*OUR PEOPLE*/
    .our_people{margin: 70px 0 0;}
        .op_intro{ max-width:925px;  font-family: 'Montserrat', sans-serif; font-weight:800; font-size:28px; line-height:34px; margin-bottom:70px; }
        .people_grid{ display:grid;grid-template-columns:repeat(3,1fr);grid-gap: 30px; }
            .people_box{ position:relative; display:block; }
            .people_image_wrapper{ display:block; height:377px; background:#f3f3f3; position:relative; }
            .people_image{ display:block; position:absolute; top:0; left:0; z-index:1; width:100%; height:100%; background-size:cover !important; background-position:50% !important; }
                .people_image:after{ content:""; display:block; position:absolute; z-index:1; width:100%; height:100%; top:0; left:0; 
                    background: #1d202b; /* Old browsers */
                    background: -moz-linear-gradient(-45deg,  #1d202b 0%, #2989d8 50%, #207cca 50%, #000c41 100%); /* FF3.6-15 */
                    background: -webkit-linear-gradient(-45deg,  #1d202b 0%,#2989d8 50%,#207cca 50%,#000c41 100%); /* Chrome10-25,Safari5.1-6 */
                    background: linear-gradient(135deg,  #1d202b 0%,#2989d8 50%,#207cca 50%,#000c41 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
                    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1d202b', endColorstr='#000c41',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
                }
            .people_intro_wrapper{ display:block; position:absolute; top:0; left:0; z-index:2; width:100%; height:100%; background:rgba(0,0,0,0.8); overflow:hidden; opacity:0;}
                .people_intro{ padding:20px; overflow-y:auto; overflow-x:hidden; top:100%; position:absolute; color:#FFF; }
                .people_box:hover .people_intro_wrapper{ opacity:1; }
                .people_box:hover .people_intro{ top:0; }
                .people_box:hover .people_name:after{ transform: rotate(180deg); }
            .people_namewrapper{ z-index:3; position:relative; top:50%; left:50%; transform:translate(-50%,-50%); color:#FFF;}
            .people_name{ display:block; max-width:70%; margin:20px auto 10px; text-align:center; color:var(--pink); font-weight:600; font-size:29px; position:relative; z-index:2; }
                .people_box:after{content:"";width:19px;height:19px;display:block;position:absolute; background:#FFF; bottom:20px;left:32px; z-index: 4px;mask:url(img/icon-arrow-in-circle.svg) no-repeat; -webkit-mask:url(img/icon-arrow-in-circle.svg) no-repeat; background:var(--light-blue); transition:all 0.5s ;  -webkit-transition:all 0.5s ;  -o-transition:all 0.5s ;  -moz-transition:all 0.5s}
            .people_title{  display:block; max-width:70%; margin:0 auto 30px; text-align:center; }

/*FORMS*/
    .formtitle{ font-size:22px; font-weight:bold; margin-bottom:20px; margin-top:20px; }
    .otherform .fieldgroup.animatelabel label{ font-size:12px;}
    .checkboxlabel{top: -2px;font-size: 12px;color: var(--black);transition: 0.3s;z-index:2;display:block;clear:both;position:relative;}
/*CONTACT*/
    .contact_title{display:block;text-align:center;margin-bottom:50px;color: var(--blue);font-family: 'Montserrat', sans-serif;font-weight:800;font-size:28px;line-height:34px;}
    .contact_banner{background: url("img/grey_banner_bg-compressor.jpg") no-repeat;padding:127px 210px 105px;margin-bottom: -60px;background-position: 50%;background-size: cover;}
        .contact_banner *, .contact_banner a{ color:var(--white); }
        .address *, .address{ line-height: 1em;}
        .contact_banner .ninesixty{ display:grid; grid-template-columns:repeat(3, 1fr); text-align:center; }
        
        .phone_numbers{ padding-top:124px; position:relative; }
            .phone_numbers:before{content:"";display:inline-block;width:70px;height:70px;mask:url("img/icon-phone.svg") no-repeat;-webkit-mask:url("img/icon-phone.svg") no-repeat; background:var(--light-blue); position:absolute;left:50%; top: 0px; transform:translateX(-50%); }
            .phone_numbers a{ font-size:22px;}
        .email_addresses{ padding-top:124px; position:relative; }
            .email_addresses:before{ content:"";display:inline-block;width:70px;height:70px;mask:url("img/icon_email.svg") no-repeat; -webkit-mask:url("img/icon_email.svg") no-repeat; background:var(--light-blue); position:absolute;left:50%; top: 15px; transform:translateX(-50%); }
            .email_addresses label{display:block;padding-top:10px;font-size:12px;font-weight:600;line-height:20px;text-transform: uppercase;}
            .email_addresses a{ font-size:18px; padding-bottom:10px; display:block; }
        .open_hours{ padding-top:124px; position:relative; }
                   .open_hours:before{ content:"";display:inline-block;width:70px;height:70px;mask:url("img/icon-open-hours.svg") no-repeat; -webkit-mask:url("img/icon-open-hours.svg") no-repeat;  background:var(--light-blue); position:absolute;left:50%; top: 15px; transform:translateX(-50%); }
        .cb_title{ font-size:22px; margin-bottom:20px;} 
            .open_hours p{ line-height:40px;}      

                  
    #sending, #sent{display:none;}
    #formdiv{ display:block; margin:0 auto; max-width:800px; }
    .fieldgroup input, .fieldgroup textarea, .fieldgroup select{width:100%;display:block;margin-bottom: 0;padding: 16px 10px;font-size:16px;border: 0;background: transparent;}
    .fieldgroup input[type="checkbox"]{width: 34px;height: 20px;display:inline-block;margin-right: 10px;margin-bottom: 0;padding: 16px 10px;font-size:16px;border:1px solid #B2B2B2;background: transparent;}
    .fieldgroup input[type="checkbox"]:checked{ background:var(--orange); }
    .fieldgroup textarea{height: 188px;}
    .fieldgroup label{ text-transform: uppercase;  }
    .fieldgroup input[type="submit"]{width: 248px;float:right;margin-right:0%;background: var(--blue);border:0;border: 0;color:#FFF;opacity:0.8;cursor:pointer;line-height: 58px;padding: 0;font-weight: bold;text-transform: uppercase;}
        .fieldgroup input[type="submit"]:hover{ opacity:1; background:var(--light-blue)}
    
    .contact_us{ margin:70px auto; }
    .vg_grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap: 30px;}
    .activestep input, .activestep select{ width: 100%;   height: 67px;   padding: 0 15px;   box-sizing: border-box;   background: transparent;  border: 1px solid black; }
    .activestep textarea{ width: 100%; height: 250px; margin-bottom: 20px;    padding: 15px; box-sizing: border-box; background: transparent; border: 1px solid black; font-style: inherit; }
    .fieldgroup{margin-bottom: 0;position:relative;margin-top: 0;display: block;z-index: 1;margin-bottom: 30px;width: 100%;border: 1px solid var(--gray);}
        .g-recaptcha{ position:relative; }
        .fieldgroup .fieldgroup{ margin-bottom:0;}
        .fieldgroup.noborder{ border:0; }
    input:invalid, textarea:invalid, select:invalid {border-bottom: 2px solid var(--pink) !important;}
    .fieldgroup.animatelabel input ~ .focus-border, .fieldgroup.animatelabel select ~ .focus-border, .fieldgroup.animatelabel textarea ~ .focus-border{position: absolute;bottom: -1px;left: 0;width: 0;height: 2px;background-color: var(--orange);transition: 0.4s;}
    .fieldgroup.animatelabel select ~ .focus-border, .fieldgroup.animatelabel input ~ .focus-border, .fieldgroup.animatelabel textarea ~ .focus-border{background-color: var(--light-blue);}
    .fieldgroup.animatelabel select.has-content ~ .focus-border, .fieldgroup.animatelabel input.has-content ~ .focus-border{width: 100%; transition: 0.4s; }
        .fieldgroup.animatelabel input:focus ~ .focus-border{ background:var(--orange) }
    .fieldgroup.animatelabel label{position: absolute;left: 17px;width: 100%;top: 15px;color: #aaa;transition: 0.3s;z-index: -1;font-weight: normal;text-transform: uppercase;}
    .fieldgroup.animatelabel .has-content ~ label, .fieldgroup.animatelabel input:focus ~ label, .fieldgroup.animatelabel textarea:focus ~ label{top: -25px;font-size: 12px;color: var(--light-blue);transition: 0.3s;z-index:2;}
        .fieldgroup.animatelabel input:focus ~ label{ color:#707070; }
    .halffields{width:49.5%;float:left;margin-right:0;display: block;margin: 0;position:relative;background: #FFF;z-index: 1;}
            .halffields:nth-of-type(2){margin-left: 1%;}
            .halffields .halffields{width: 49.5%;float:left;margin-right:0;box-sizing: border-box;}
            .halffields .halffields:nth-of-type(2){border-left: 15px solid #f0f0f0;box-sizing: border-box;}
            .fieldgroup:after{content:"";width:100%;display:block;clear:both;/* margin-bottom: 25px; */}
                .fieldgroup .fieldgroup:after{ margin-bottom:0; }
        .twothirdfields{width:66%;float:left;margin-right:0;display: block;margin: 0;position:relative;/* background: #FFF; */z-index: 1;}
        .thirdfields{width: 33%;float:left;margin-right:0;display: block;margin: 0;position:relative;/* background: #FFF; */z-index: 1;margin-left: 1%;}
            .thirdfields .halffields{ background:transparent; top:6px;}
            .halffields.whitebg{ background:#FFF;}
        .fieldgroup .green-label{height:unset;color: #80808e !important;}
    .selectbox:after{content: "\032C";position:absolute;right:0;top:0;display: block;width: 65px;height: 66px;line-height: 37px;border-left: 1px solid #000;text-align: center;z-index: -1;font-size: 40px;}


/*PAGE WITH SUB NAVIGATION*/
    .show_sub_pages{margin:70px auto;display:grid;grid-template-columns:2fr 1fr;grid-gap:60px;}
    .show_sub_pages .text_only{ margin-top:0; }
    .ssp_navigation_wrapper{ background:var(--dark); padding:57px 44px; color:#FFF; font-size:22px; font-family: 'Montserrat', sans-serif; font-weight:800; overflow:hidden; }
        .ssp_navigation a{ display:block; margin-top:21px; color:#FFF; font-family:'Open Sans', sans-serif; font-weight:400; padding-left:0px; position:relative;}   
        .ssp_navigation a:before{ content:'\279C'; padding-right:15px; font-size:12px; position:relative; top:-2px; color:#f15522; }
        .ssp_nav.current_page:after, .ssp_nav:hover:after{ content:""; display:block; position:absolute; width:100%; height:100%; background:rgba(255,255,255,0.1); top:-10px; left:-100px; padding:10px 200px; }
        .ssp_content h2{ font-size:20px; font-family: 'Montserrat', sans-serif; font-weight:800; margin-bottom:10px; }
        
        .ssp_content table{ width:100%; border:1px solid var(--lighter); margin:30px 0; }
            .ssp_content table td{ padding:10px 20px;  border:1px solid #E5E5E5; }
            .ssp_content table tbody tr:first-of-type td{ background:#f2f2f2}

        .ssp_content ul{ margin-bottom:30px; }
        .ssp_content li{ margin-bottom:15px; }
/*SERVICES*/
    .services_grid{display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:44px;overflow:hidden;margin: 70px 0;}
        .service_box{ background:#F2F2F2; position:relative; overflow:hidden; }
            .service_box:hover{ background:#e3e3e3; }
            .service_box:hover .service_image{ transform:scale(1.1) }
        .service_image{display:block;width:100%;height:341px;background-color:#E5E5E5;margin-bottom: 0;background-size: cover !important;background-position: 50% !important;}
        .service_image_wrapper{display:block;width:100%;height:341px;background-color:#E5E5E5;margin-bottom: 0; position:relative; overflow:hidden; }
        .service_title{ padding:50px 37px 27px;font-family: 'Montserrat', sans-serif; font-weight:800; font-size:28px; color:var(--pink); position:relative;}
            .service_title:after{content:"";width:27px;height: 19px;display: block;mask: url(img/icon-arrow-pink.svg);-webkit-mask-box-image: url(img/icon-arrow-pink.svg);background:var(--pink);right:68px;top:50px;position:absolute;}
        .service_intro{ padding:0 37px 27px;  }
        
/*DEFAULT SUB PAGES*/
    .orange_banner.main_banner{margin-top:0;height: 255px;padding:0;}
        .main_banner .ninesixty{position:relative;top:50%;transform: translateY(-50%);display:block;}
        .main_banner h1{color:var(--white);font-size: 53px;line-height:60px;font-family: 'Montserrat', sans-serif;font-weight: 700; }
        
    .breadcrumbs{margin: 30px 0 0px 0;}
        .breadcrumbs *, .breadcrumbs a{ color:#B2B2B2; }
        .breadcrumb_separator{ padding:0 5px; }
    .orange_banner.main_banner.gray{/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#818285+0,f1f1f1+50,e1e1e1+51,818285+100 */
            background: #818285; /* Old browsers */
            background: -moz-linear-gradient(-45deg,  #818285 0%, #f1f1f1 50%, #e1e1e1 50%, #818285 100%); /* FF3.6-15 */
            background: -webkit-linear-gradient(-45deg,  #818285 0%,#f1f1f1 50%,#e1e1e1 50%,#818285 100%); /* Chrome10-25,Safari5.1-6 */
            background: linear-gradient(135deg,  #818285 0%,#f1f1f1 50%,#e1e1e1 50%,#818285 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#818285', endColorstr='#818285',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
            }
            .orange_banner.main_banner.gray h1{ color:var(--dark)}
    .orange_text, .orange_text *{ color:var(--orange); }

    
/*POSTS*/
    .filter_selector{position:absolute;right:0;top: -40px;}
        .filter_selector:before{ content:"Portfolio filter: "; }
        .filter_selector select{ height:40px; padding:0 20px; border:1px solid #102053; background:#FFF;}
    .portfolio{  margin-bottom:130px; }
    .portfolio_grid{display:flex;flex-flow: row wrap;margin-bottom: 100px;}
    .portfolio_item{position:relative;max-width: calc(50% - 62px);margin-bottom:62px;margin: 0 31px 62px 31px;}
        .pgridwrapper{ max-width:1511px; }
        .noshow{margin:0;width:0;height:0;/* opacity:0; */overflow: hidden;}
        

    .portfolio_image{ height:390px; background-size:cover !important; background-position:50% !important; position:relative; }
        .portfolio_image:after{ content:""; display:block; width:56px; height:56px; position:absolute; bottom:0; right:0; background:var(--yellow) url('img/icon-magnifier.svg') no-repeat; background-size:50%; background-position:50%; }
    .pi_title{font-size:36px;margin:30px 0;font-weight: 500;}
    .pi_intro{ margin-bottom:30px; }
    .ln_categories{position:absolute;right:20px;top:20px;background:var(--pink);padding:0 15px;border-radius:5px;z-index:2}
    .ln_categories a{color:#fff;text-transform:uppercase;font-size:10px;display:inline-block;padding-left:10px;font-weight:700;z-index:9}
    .ln_categories a:first-of-type{padding-left:0}
    .ln_categories a:after{content:","}
    .ln_categories a:last-of-type:after{content:""}
    .blog_posts{ background:#9E9E9E; }
    .blog_posts.blog_archives {   grid-template-columns: repeat(2, 1fr);}
        .blog_posts .study_title{ opacity:1; margin-top:0; }
    .blog_subtitle{ display:block; font-weight:normal; padding-top:10px;}
    .blog_posts  .readmore{ margin-top:20px; }
    .blog_posts:after{ content:""; display:block; width:100%; height:100%; position: absolute; top:0; left:0;  z-index:9; opacity:1; transition:all 0.5s ;  -webkit-transition:all 0.5s ;  -o-transition:all 0.5s ;  -moz-transition:all 0.5s;
                                background:rgba(0,0,0,0.5); }
     .blog_posts:hover:after { opacity:0; }
     .half_with_black_bar{ font-family:'Open Sans', sans-serif; text-transform:uppercase; margin-bottom:10px; }
     .categories a{ font-family:'Open Sans', sans-serif; text-transform:uppercase; font-size:12px;  }
     .blog_single{display:grid;grid-template-columns: 3fr 1fr;grid-gap:90px;margin: 0px auto 0;}
        .blog_single h2{ font-size:26px; font-weight:600; margin-bottom:30px;}
        .blog_single .case_study_content {margin-top: 0px;display: block;}
        .blog_single .cs_images .ds_image {margin-bottom: 20px;height: 452px;}
        .news_image{height: 475px;margin-bottom:30px;background-position:50% !important;background-size:cover !important;position: relative;}
            .archive_years{ margin-bottom:30px; }
                .archives{ margin:0; list-style:none; }
                .archives li{ margin-left:30px;}
                .archives b{ display:block; position:relative; left:-30px; position:relative; padding:12px 20px; z-index:2; margin:10px auto; font-weight:400;}   
                .archives a{ display:block; z-index:3; position:relative; }
                .archives b:before{ content:""; display:block; width:100%; height:100%; position:absolute; top:0; left:0; z-index:0; background: var(--pink);      }
                 .archives b:after{ content:""; display:block; position:absolute; background:var(--white); width:calc(100% - 2px); height:calc(100% - 2px); top:1px; left:1px; }

        .category_block{ padding-left:0px; margin-bottom:15px; }
            .category_block:before{content:"";display:inline-block;width:8px;height:16px;background-size:contain;position:relative;top:1px;padding-right:15px;}
        .blog_right .blog:last-of-type{ border-bottom:0 }
        .blog_single .cs_images .ds_grid {grid-template-columns: 1fr 1fr;grid-gap: 20px;display: grid;}
        .blog_right .blog{display:grid;grid-template-columns:100px 1fr;margin-bottom: 30px;padding-bottom: 30px;border-bottom: 1px solid #d4d4d4;}
            .blog_right .blog:last-of-type{ border-bottom:0px !important; }
            .blog_image{ display:inline-block; width:100px; height:100px; background-size:cover !important; background-position:50% !important;  }
            .blog_content{display:inline-block;}
            .blog_right .blog_title{font-weight:600;line-height: 1em;font-size: 16px;padding-left:20px;}
                .blog_title span{font-size: 15px;line-height: 1em;font-weight:normal;display:block;color: var(--greytext);margin-top: 10px;}
       .post_navigation{ margin-top:50px;  position:relative; }
       .post_navigation .nav-links, .post_navigation .nav-links a{display: block; position:relative; padding-bottom:40px;} 
       .post_navigation .nav-links div{margin-bottom:30px;width: 50%;}
       .nav-links span{ display:block; }
       .nav-links .nav-previous{text-align: left;float: left;}
       .nav-links .nav-next {    text-align: right;    float: right;}
       .nav-next .post-title, .nav-next .pbutton{   float:right; clear:both;}
       .nav-next .pbutton{ right:0; }
       .post_navigation .post-title{font-weight:600;max-width: 55%;}
       .nav-previous .post-title{float:left;display: block;clear: both;}
       .pbutton{ width:160px; text-align:center; padding:10px 0; color:#FFF; position:absolute;  bottom:0; background: var(--pink);  }
    
@media only screen and (max-width:1920px){
        
    }

@media only screen and (max-width:1280px){
    .orange_banner.main_banner {height: 224px;  padding: 0 0px; }
    .main_banner h1 { font-size: 40px;   line-height: 60px;  max-width: 100%; }
    #content .ninesixty{ padding:0 20px; }
        #content .ninesixty .ninesixty{ padding:0; }

    .pplan_grid { grid-template-columns: repeat(2, 1fr); }
    .ob_logo img {top:50%; position:relative; transform:translateY(-50%); padding-right:20px;; }
    .deal_grid {grid-template-columns: 1fr 1fr; }
    .pplan_title { font-size: 30px; line-height:32px;}
    .deal_title, .deal_title * { font-size: 36px; line-height: 40px;  margin-bottom: 30px; }
    .deal_banner .pplan.orange{right: -20px;}
    .people_grid, .testimonials_grid { grid-template-columns: repeat(2,1fr); }

    .show_sub_pages {grid-template-columns: 1fr;grid-gap:30px;}
    .contact_banner {    padding: 70px 20px 70px;  margin-bottom: -60px; }
    .phone_numbers:before, .email_addresses:before, .open_hours:before{width:50px;height:50px; }
     .phone_numbers, .email_addresses, .open_hours {    padding-top: 94px; }   
     .coverage_title {  font-size: 40px;  line-height: 50px;    margin-bottom: 40px; }

     
}

@media only screen and (max-width:960px){
    .mobilemenu_button{ display: block; }
    body, html{max-width:100%; position:relative; }
    .desktoponly{ display:none !important;}     
    .ninesixty{width:100%;max-width: 100%;}
    .flexslider.carousel{ height:180px; margin: 20px 0 20px;}
    .pi_title { font-size: 36px; line-height:36px;}
    
}

@media only screen and (max-width: 767px){
  .mobileonly{ display:block; }
   body, html{ width:100%;}
  .ninesixty{ width:100%;}
    .orange_banner.main_banner { height: 124px;}    
    .main_banner h1,.coverage_title {font-size: 28px;line-height: 35px;padding: 0 20px 0 0;}
    .columns_grid, .pplan_grid, .deal_grid, .people_grid, .testimonials_grid, .ob_withlogo,.text_image_grid, .services_grid,.vg_grid,.contact_banner .ninesixty {grid-template-columns: 1fr;grid-gap: 10px;}
    .coverage_subtitle {font-size: 22px;line-height: 28px;margin-bottom: 100px;max-width: 860px;padding: 0 20px;}
    .coverage_map {width: 100%;height: 335px;border: 0px solid #FFF;}
    #content .coverage_zone .ninesixty.coverage_content{ padding:0; }
    .coverage_outro { font-size: 20px;  line-height: 26px; padding:0 20px;}
    .ob_logo{min-height: 130px;}
        .ob_logo img {top: 0;position: relative;transform: unset;padding-right: 20px;height: 95px;width: auto;margin: 0 auto;max-height: unset;display: block;}
    .ob_flexible .ob_title, .ob_flexible .ob_title *,.ob_flexible .ob_subtitle, .ob_flexible .ob_subtitle * { font-size: 20px;  line-height: 26px;  }
    .twocolbanner,.testimonials, .text_only, .services_grid,.show_sub_pages, .contact_us, .our_people,.text_image {  margin-top: 40px; }

    .to_title, .to_title *, .testimonials .to_title * {font-size: 22px;line-height: 22px;margin-bottom: 20px;margin-top: 30px;}
    .heart:before {  width: 29px;  height: 26px;  left: -3px; }
    .ti_image{ min-height:250px; }

    .contact_banner .ninesixty{ grid-gap:30px;}
    .phone_numbers, .email_addresses, .open_hours {  padding-top: 44px; }
    .phone_numbers:before, .email_addresses:before, .open_hours:before{width:25px;height:50px; }
    .cb_title { font-size: 22px;    margin-bottom: 10px;}
    .fieldgroup{margin-bottom: 20px;}
    #breadcrumbs{ display:none; }
    .sharing{left: 0;height: 0;position: relative;height: 20px;}
    .sharing a{ margin-right:10px; }
    .portfolio_grid, .two_box_banner_wrapper {    grid-template-columns: repeat(1, 1fr); }
    .pi_title { font-size: 26px; line-height:26px;    margin: 20px 0;}
    .cl100{ max-height:40px;}
    .carousel{display:none;}
    .image_gallery .gallery, .image_gallery .gallery #slider{ height:400px}
    .portfolio_item { max-width: 100%; margin: 0 0 62px 0px;}
    .filter_selector { right: 20px; top: -25px;}
}

@media only screen and (max-width:414px){
    
}

@media only screen and (max-width:360px){
  
}