/* Site framework */
@media only screen and (min-width:1500px) {
    .container { max-width: 1600px; }

    /*Icon Gallery*/
    .icon-gallery-module.carousel .icon-gallery-slider-container{width: calc(((100vw - 1600px) / 2) + 1500px);}
    .icon-gallery-module.carousel .icon-gallery-slider::after{content: ""; height: 100%; width: 160px; background: transparent linear-gradient(270deg, #F8F8F9 0%, #F8F8F900 100%) 0% 0% no-repeat padding-box; position: absolute; top: 0; right: 0; z-index: 2; pointer-events: none;}
    .icon-gallery-module.carousel .icon-gallery-slider-container.last-slide .icon-gallery-slider::after{content: none;}

     /*Image Button*/
    .image-button-module.carousel .image-button-slider-container{width: calc(((100vw - 1600px) / 2) + 1500px);}
    .image-button-module.carousel .image-button-slider::after{content: ""; height: 100%; width: 160px; background: transparent linear-gradient(270deg, #F8F8F9 0%, #F8F8F900 100%) 0% 0% no-repeat padding-box; position: absolute; top: 0; right: 0; z-index: 2; pointer-events: none;}
    .image-button-module.carousel .image-button-slider-container.last-slide .image-button-slider::after{content: none;}

     /*List Module*/
    .list-module.carousel .lm-blocks-container{width: calc(((100vw - 1600px) / 2) + 1500px);}
    .list-module.carousel .lm-blocks::after{content: ""; height: 100%; width: 160px; background: transparent linear-gradient(270deg, #F8F8F9 0%, #F8F8F900 100%) 0% 0% no-repeat padding-box; position: absolute; top: 0; right: 0; z-index: 2; pointer-events: none;}
    .list-module.carousel .lm-blocks-container.last-slide .lm-blocks::after{content: none;}

}

@media only screen and (min-width:1200px) {
    .mobile:not(.desktop-large), .tablet:not(.desktop-large), .desktop:not(.desktop-large) { display: none !important; }
    .swipe { height: 575px; }
}

@media (min-width:1200px) and (max-width:1499px) {
    .mainmenu li a { padding: 0 15px; font-size: 14px; }
    .mainmenu>li.has-children a:after { right: 2px; }

    /*Icon Gallery Module*/
    .icon-gallery-module .ig-item{padding: 15px;}
    .icon-gallery-module .ig-title{font-size: 24px; line-height: 30px;}

    /*Icon Gallery Module*/
    .image-button-module .ib-image{height: 175px;}
    .image-button-module .ib-caption{font-size: 15px;}

}

/*---------DESKTOP < 1199px---------*/
@media (min-width:992px) and (max-width:1199px) {
    .mobile:not(.desktop), .tablet:not(.desktop), .desktop-large:not(.desktop) { display: none !important; }

    /*Header*/
    .mainmenu li a { padding: 0 15px; font-size: 14px; }
    .mainmenu>li.has-children a:after { right: 2px; }
    li.has-children.subsub>ul>li { padding: 0 8px; }
    .get_started_container a{font-size: 14px;}

    /********Image Layout Module********/
    .block_layout_module .layout_inner { width: 100%; }
    .block_layout_module .layout_pos_Left .layout_image { background-position: center center !important; }
    .block_layout_module .layout_pos_Right .layout_image { background-position: center center !important; }
    .block_layout_module .layout_content { padding: 45px 30px; }
    .block_layout_module .layout_title { font-size: 40px; line-height: 46px; }
    .block_layout_module .layout_subtitle{font-size: 28px; line-height: 34px;}

     /*Icon Gallery Module*/
    .icon-gallery-module .ig-item{padding: 15px;}
    .icon-gallery-module .ig-title{font-size: 22px; line-height: 30px;}
    .icon-gallery-module.list .ig-item {width: calc((100% / 4) - 8px);}

    .icon-gallery-module.list .icon-gallery-slider > div {gap:10px;}

    /*Icon Button Module*/
    .image-button-module .ib-image{height: 175px;}
    .image-button-module.list .ib-image{height: 150px;}
    .image-button-module .ib-caption{font-size: 15px;}
    .image-button-module.list .image-button-slider > div{gap:5px; row-gap:20px;}
    .image-button-module.list .ib-item{width: calc((100% / 6) - 5px);}

    /*List Module*/
    .list-module > div > h3{font-size: 50px; line-height: 56px; }
    .list-module.list .lm-block{width: calc((100% / 3) - 7px);}
    .list-module.list .lm-blocks > div{gap:10px;}
    .list-module .lm-block-heading h5{font-size: 28px; line-height: 34px;}

    /*Consultation Form*/
    .con_group.last_group .con_form{width: 100%;}
}

/*---------Tablet & Mobile---------*/
@media (max-width:991px) {
    .contact-form .denotes { float: none; }

    body[header-type=transparent]:not(.sticky) .header_wrap .menu-button>div>div{background: #fff;}
    body[header-type=transparent]:not(.sticky) .header_wrap .menu-button>div::before{background: #fff;}
    body[header-type=transparent]:not(.sticky) .header_wrap .menu-button>div::after{background: #fff;}

    /*Sticky*/
    .content_wrap { margin-top: 80px; }

    /*Header*/
    .header_wrap{height: 80px;}
    .header_wrap>div { max-width: 100%; }
    .menu-container { z-index: 20; position: absolute; right: 0; top: 0; width: 55px; transition: ease-in-out all .5s; height: 100%;}
    .header_wrap .menu-button { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; }
    .header_wrap .menu-button>div { display: flex; flex-direction: column; align-items: center; justify-content: center; transition: ease-in-out all .3s; }
    .header_wrap .menu-button>div>div { height: 3px; width: 27px; background: #2f3b42; margin: 6px 0; transition: ease-in-out all .3s;}
    .header_wrap .menu-button>div::before { content: ""; height: 3px; width: 27px; background: #2f3b42; transition: ease-in-out all .3s;}
    .header_wrap .menu-button>div::after { content: ""; height: 3px; width: 27px; background: #2f3b42; transition: ease-in-out all .3s;}
    .header_wrap .menu-button.open>div>div { opacity: 0;}
    .header_wrap .menu-button.open>div::before {transform: rotate(45deg) translate(8px, 6px); background: #2f3b42 !important;}
    .header_wrap .menu-button.open>div::after {transform: rotate(-45deg) translate(6px, -5px); background: #2f3b42 !important;}

    .overlay { background: rgba(0, 0, 0, .6); position: fixed; top: 0; height: 100vh; width: 100%; left: 0; z-index: 999; }

    /*Menu*/
    .menu-header{height: 80px; border-bottom: 1px solid #F3F3F3; display: flex; align-items: center; gap:25px; padding: 0 5px;}
    .menu-header .get-started{border: 1px solid var(--buttonColour); font-size: 18px; color: #262525; font-weight: bold; padding: 16px 20px; line-height: 22px;}
    .menu-header .menu-phone{height: 25px; width: 25px; background: url(../images/phone-dark.svg) center no-repeat;}
    .menu-header .menu-email{height: 25px; width: 25px; background: url(../images/email-dark.svg) center no-repeat;}
    .menu_wrap { top: 0; right: 0; position: absolute; width: 100%; display: none; z-index: 10; background: #fff; }
    .mobile-mainmenu { margin: 0; border: 0; width: 100%; text-align: left; list-style: none; padding: 0; z-index: 1000; float: none; flex-direction: column; height: auto; }
    .mobile-mainmenu li { display: block; padding: 0; margin: 0; width: 100%; position: relative; }
    .mobile-mainmenu>li>a { border-bottom: 1px solid #F3F3F3; font-weight: bold;}
    .mobile-mainmenu>li:first-child>a { border-top: 0; }
    .mobile-mainmenu li a { text-align: left; display: block; color: #262525; padding: 17px 15px; line-height: 20px; font-size: 15px; font-weight: bold; }
    .mobile-mainmenu li ul { position: static; box-shadow: none; border: 0; background: initial; }
    .mobile-mainmenu>li>ul { display: none; padding:10px; }
    .mobile-mainmenu>li>ul>li { margin-bottom: 5px; }
    .mobile-mainmenu li ul li a { font-size: 14px; font-weight: bold; padding: 5px 15px; text-align: left; display: block; }
    .mobile-mainmenu li ul li ul li a { padding: 10px 30px; font-weight: normal; }
    .mobile-mainmenu ul { margin: 0px; padding: 0; }
    .mobile-mainmenu li ul:after { content: none; }
    .mobile-mainmenu li.has-children.open ul { background: #F8F6F6; }
    .mobile-mainmenu a.toggle-sub { height: 55px; width: 50px; position: absolute; right: 0; top: 0; border: 0; padding: 0;}
    .mobile-mainmenu>li.has-children>a.toggle-sub:after { content: ""; position: absolute; right: 18px; top: calc(50% - 5px); width: 10px; height: 10px; 
        transform: rotate(45deg); border: solid #000; border-width: 0 2px 2px 0 ; transition: ease-in-out all .3s; }
    .mobile-mainmenu>li.has-children.open>a.toggle-sub:after { top: calc(50% - 2px); transform: rotate(225deg); }
    .mobile-mainmenu>li.has-children.open>a { border-bottom: 0; }
    .mobile-mainmenu>li.has-children.open>a.toggle-sub { border-left: 0; }
    .close-menu { display: block; text-align: right; padding: 0 15px; line-height: 60px; font-size: 12px; color: #000; text-decoration: underline;}

    /*Calculator*/
    .monthly-cost>div { position: static; margin: 0 -15px; width: auto; flex-direction: row; flex-wrap: wrap; justify-content: center; border-radius: 0; }
    .monthly-cost>div>div:nth-child(1), .monthly-cost>div>div:nth-child(2) { margin: 0 10px; }
    .monthly-cost>div>a, .monthly-cost>div>div:last-child { width: 100%; text-align: center; }
    .calculator .monthly-cost { position: relative; }
    .calculator .monthly-cost.fixed { position: fixed; bottom: 0; left: 0; right: 0; margin: 0; z-index: 100000; }
    .calculator .monthly-cost:not(.fixed)>div { margin: 20px 0; }

    /*Consultation Form*/
    .con_group.last_group .con_form{width: 100%;}

}

/*---------TABLET < 959px---------*/
@media (min-width:768px) and (max-width:991px) {
    .mobile:not(.tablet), .desktop:not(.tablet), .desktop-large:not(.tablet) { display: none !important; }
    .tablet-hidden { display: none !important; }

    /*Header*/
    .header_wrap .logo img{max-width: 210px;}

    /*Menu*/
    .menu_wrap { width: 410px; }
    .menu_div { overflow: scroll; overflow-x: hidden; max-height: 500px; }

    /*Footer*/
    .last_section{margin-top: 40px;}

    /*Fullscreen Gallery*/
    .full-width-fix .flex-caption .halign-left { left: calc(50% - 325px); right: initial; width: 385px; max-width: 100%; text-align: left; }
    .full-width-fix .flex-caption .halign-right { right: calc(50% - 325px); left: initial; width: 385px; max-width: 100%; text-align: right; }
    .flex-caption { padding: 20px }

    /********Image Layout Module********/
    .layout_image { width: 50%; }
    .layout_image img { max-height: 270px; }
    .block_layout_module .layout_inner { width: 100%; }
    .block_layout_module .layout_pos_Left .layout_content { justify-content: center; }
    .block_layout_module .layout_title { font-size: 40px; line-height: 46px; }

    /*Icon Gallery Module*/
    .icon-gallery-module.list .icon-gallery-slider > div{gap:6px; row-gap:10px;}
    .icon-gallery-module.list .ig-item {width: calc((100% / 3) - 8px);}
    .icon-gallery-module .ig-item{padding: 15px;}
    .icon-gallery-module .ig-title{font-size: 20px; line-height: 26px;}
    .icon-gallery-module .ig-text{font-size: 14px; line-height:24px; }

    /*Text Module*/
    .text_module_before { left: calc(-768px / 2); }

    /*Image Button*/
    .image-button-module .ib-image{height: 134px;}
    .image-button-module.list .ib-image{height: 134px;}
    .image-button-module.list .image-button-slider > div{gap:5px; row-gap: 20px;}
    .image-button-module.list .ib-item{width: calc((100% / 5) - 4px);}
    .image-button-module .ib-caption{font-size: 12px; line-height: 20px;}

    /*List Module*/
    .list-module > div > h3{font-size: 44px; line-height: 50px;}
    .list-module.list .lm-blocks > div{gap:10px;}
    .list-module.list .lm-block{width: calc((100% / 2) - 5px);}
    .list-module .lm-block-heading h5{font-size: 28px; line-height: 36px;}
    .list-module .lm-block-text{font-size: 14px;}
    .list-module .lm-list > *{font-size: 14px; line-height: 20px;}

    /*Consultation Form*/
    .con_container h2{text-align: left;}

}

/*---------MOBILE < 767px---------*/
@media (max-width:767px) {
    .tablet:not(.mobile), .desktop:not(.mobile), .desktop-large:not(.mobile) { display: none !important; }
    .frame.main { background: none; border: 0; border-radius: 0; box-shadow: none; }

    .button-primary, .button-secondary{font-size: 15px; padding: 14px 15px;}

    /*Sticky*/
    .content_wrap { margin-top: 100px; }

    /*Header*/
    body[header-type=transparent]:not(.sticky) .header_wrap .logo img.white-logo{ width: 185px; height: auto;}
    .header_wrap .logo img { width: 185px; height: auto; }
    .header_phone a { height: 70px; width: 55px; right: 55px; position: absolute; top: 0; background: url(../images/mobile_phone.svg) center center no-repeat; }

    /*Menu*/
    .menu_div { overflow: scroll; overflow-x: hidden; max-height: 350px; }

    /*Footer*/
    .footer_wrap .footer-address{margin-bottom: 30px;}
    .footer_wrap .get-in-touch{margin-bottom: 30px;}

    .footer_menu_wrap{ border-top: 1px solid #3D4C55;}
    .footer_menu_wrap > span{margin: 0; display: block; padding: 15px 0; position: relative;}
    .footer_menu_wrap > span::after{content: ""; height: 10px; width: 10px; border:solid #fff; border-width: 0 2px 2px 0; transition: ease-in-out all .3s; 
        transform: rotate(45deg); position: absolute; right: 5px; top: 20px; background: none;}
    .footer_menu_wrap > span.open::after{transform: rotate(225deg); top:26px; border-color: var(--buttonColour)}
    .footer_menu_wrap .footermenu{display: none; padding: 10px 10px 20px 10px;}
    .footer_wrap .last_section{padding-top: 20px; border-top: 1px solid #3D4C55;}

    img { max-width: 100%; vertical-align: middle; }
    h1 { font-size: 56px; }
    h2 { font-size: 46px; }
    h3 { font-size: 40px; }
    h4 { font-size: 36px; }
    h5 { font-size: 30px; }
    h6 { font-size: 26px; }
    p { font-size: 14px; }

    /*Fullscrenn Gallery*/
    .full-width-fix .flex-caption.halign-center { left: calc(50% - 150px); right: initial; width: 300px; max-width: 100%; text-align: center; }
    .full-width-fix .flex-caption.halign-left { left: calc(50% - 150px); right: initial; width: 300px; max-width: 100%; text-align: center; }
    .full-width-fix .flex-caption.halign-right { left: calc(50% - 150px); right: initial; width: 300px; max-width: 100%; text-align: center; }
    .flex-caption>div { padding: 20px; width: 100%;}
     .flex-caption>div *{max-width: 100%;}
    .flex-direction-nav{display: none;}

    /*Text Module*/
    .text_module_before { left: calc(-320px / 2); }

    /********Image Layout Module********/
    .block_layout_module .layout_block { display: block; min-height: initial; }
    .block_layout_module .layout_image { width: 100%; }
    .block_layout_module .layout_inner { width: 100%; }
    .block_layout_module .layout_icon { display: flex; align-items: center; padding: 10px; box-sizing: border-box; justify-content: center; height: 70px; width: 70px; border-radius: 100%; margin: -45px auto 0; }
    .block_layout_module .layout_icon { background: #EEEEEB; }
    .block_layout_module .layout_image{justify-content: center !important; }
    .block_layout_module .layout_title { font-size: 36px; padding: 0; margin-bottom: 10px; line-height: 42px; }
    .block_layout_module .layout_title::after{content: none;}
    .block_layout_module .layout_subtitle{font-size: 22px; line-height: 38px; margin-bottom: 10px;}
    .block_layout_module .layout_inner{padding: 0; text-align: center;}
    .block_layout_module .layout_text { font-size: 14px; }
    .block_layout_module .layout_content { width: 100%; padding: 10px 10px 40px 10px !important; display: block; }

    /*Icon Gallery Module*/
    .icon-gallery-module.list .icon-gallery-slider > div{gap:8px; flex-direction: column;}
    .icon-gallery-module.list .ig-item{width: 100%;}
    .icon-gallery-module .ig-item{padding: 20px 15px;}
    .icon-gallery-module .ig-title{font-size: 20px; line-height: 26px;}
    .icon-gallery-module .ig-text{font-size: 14px; line-height:24px; }
    .ig-pagination{justify-content: initial;}

    /*Image Button Module*/
    .image-button-module .image-button-slider {width: 290px;}
    .image-button-module .ib-image{height: 134px;}
    .ib-pagination{justify-content: initial;}

    .image-button-module.list .ib-image{height: 150px;}
    .image-button-module .ib-caption{font-size: 12px; line-height: 16px;}
    .image-button-module.list .image-button-slider > div{gap:5px; row-gap:20px;}
    .image-button-module.list .ib-item{width: calc(50% - 3px);}

    /*List Module*/
    .list-module .lm-list{padding: 20px 10px 20px 10px;}
    .list-module.list .lm-block{width: 290px;}
    .list-module.list .lm-blocks > div{justify-content: center;}
    .list-module > div > h3{font-size: 34px; line-height: 40px;}
    .list-module .lm-block-icon{height: 35px; width: 35px;}
    .list-module .lm-block-icon img{}
    .list-module .lm-block-heading h5{font-size: 28px; line-height: 34px;}
    .list-module .lm-block-text, .list-module .lm-list > *{font-size: 14px;}
    .lm-pagination{justify-content: initial;}

    /*Consultation Form*/
    .consultation_form {background-image: url(../images/consultation-bg-mobile.png);}
    .consultation_form>div{padding: 20px 10px;}
    .con_container{text-align: left; align-items: flex-start; width: 100%;}
    .con_container h2{font-size: 36px; line-height: 42px;}
    .con_message_start, .con_message{font-size: 14px;}
    .con_form>div{flex-direction: column;}
    .con_group.last_group .con_form{padding: 10px;}
    
}
