@import 'variables.php';
html { scroll-behavior: smooth; overflow-x: hidden; overflow-y: scroll; }
body { font-family: "Open Sans", system-ui; font-size: 16px; color: var(--textColour); background: #F8F8F9; overflow: hidden; }
body.headless .site-header, body.headless .footer_wrap, body.headless .byline_wrap { display: none; }
body.headless .content_wrap { margin: 0 !important; }
.contentDiv { min-height: 600px; }
.AB-parent+.site-header { top: 50px; }

/*Header Type*/
body[header-type=transparent]:not(.sticky) .header_wrap {background: transparent;}
body[header-type=transparent]:not(.sticky) .header_wrap .mainmenu > li > a{color: #fff;}
body[header-type=transparent]:not(.sticky) .mainmenu>li.has-children>a:after{border-color: #fff;}
body[header-type=transparent] .content_wrap{margin: 0;}
body[header-type=transparent].sticky .content_wrap{margin: 0;}
body[header-type=transparent]:not(.sticky) .header_wrap .logo img.white-logo{opacity: 1; width: initial;}
body[header-type=transparent]:not(.sticky) .header_wrap .logo img.colour-logo{opacity: 0; width: 0;}
body[header-type=transparent]:not(.sticky) .get_started_container a{color: #fff;}

/*Sticky*/
.content_wrap { margin-top: 168px; }
.site-header { position: fixed; top: 0; width: 100%; z-index: 3000;  }

/*Top Header*/
.top_header{height:50px; background: #303B42;}
.top_header > div{display: flex; align-items: center; justify-content: space-between; height: 100%;}
.top_header > div > div{display: flex; gap:30px; align-items: center;}
.top_left a{color: #fff; font-size: 14px; line-height: 22px; display: flex; align-items: center; gap:5px;}
.top_left a.top-phone::before{content: ""; flex-shrink: 0; height:14px; width:14px; background: url(../images/phone.svg)center no-repeat;}
.top_left a.top-email::before{content: ""; flex-shrink: 0; height:12px; width:17px; background: url(../images/mail.svg)center no-repeat;}
.top-menu{list-style: none; padding: 0; margin-bottom: 0; display: flex; align-items: center; gap:30px;}
.top-menu li{list-style: none; padding: 0; margin: 0;}
.top-menu li a{color: #fff; font-size: 16px; line-height: 24px; transition: ease-in-out all .3s;}
.top-menu li a:hover{color: #C4D82D; }
.top-menu ul{display: none;}

/* Header */
.header_wrap{height: 118px; background:var(--mainColour); transition: ease-in-out all .3s; position: relative;}
.header_wrap>div, .header_wrap>div>div { height: 100%; }
.header_wrap a:hover { text-decoration: none; }
.header_wrap .logo { display: flex; align-items: center; justify-content: flex-start; transition: ease-in-out all .5s; height: 100%; }
.header_wrap .logo img { transition: ease-in-out all .3s; max-width: 100%; }
.header_wrap .logo img.white-logo { opacity: 0; width:0; }

/* Main Menu */
.menu_wrap_container { position: relative; z-index: 1000; display: flex; height: 100%; justify-content: center;}
.menu_wrap { display: flex; align-items: center; }
.menu_wrap .mainmenu { display: flex; justify-content: flex-end; margin: 0; z-index: 3000; padding: 0; list-style: none; transition: ease all .5s; }
.mainmenu li { list-style: none; margin: 0; padding: 0; display: block; line-height: 50px; position: relative;}
.mainmenu li a { display: block; text-align: left; padding: 0 25px; margin: 0; font-weight: bold; font-size: 16px; color: #262525; text-align: center; transition: ease-in-out all .3s; text-transform: capitalize; position: relative; }
.mainmenu ul li a:hover {color: #C4D82D; }
.mainmenu li ul { position: absolute; margin: 0; padding: 10px 15px; top: 50px; left: 25px; clear: both; background: var(--secondaryColour); border-radius: 5px; width: 310px; box-sizing: border-box; }
.mainmenu li ul li { position: relative; display: block; margin: 0; padding: 0; float: none; text-align: center; }
.mainmenu li ul li a { text-align: left; font-size: 13px; font-weight: bold; padding: 10px 0px; text-transform: capitalize; box-sizing: border-box; word-wrap: break-word; line-height: 22px; color: #fff; }
.mainmenu li ul li:last-child a { border: 0; }
.mainmenu li:last-child ul li ul { right: auto; left: -310px; }

/*Li with 3 levels*/
li.has-children.subsub {position: initial;}
li.has-children.subsub>ul {  top: calc(100% - 20px); left: 0; position: absolute; display: flex; align-items: flex-start; flex-wrap: wrap; }
li.has-children.subsub>ul>li { width: 25%; padding: 0 15px; }
li.has-children.subsub>ul>li>a { border-bottom: 1px solid #414D55; }
li.has-children.subsub>ul>li>ul { position: relative; visibility: hidden; opacity: 0; top: initial; left: initial; padding: 0; width: 100%; z-index: -1; }
li.has-children.subsub>ul>li>ul>li>a { font-weight: normal; }

/*Effect on sub menu*/
.mainmenu ul { visibility: hidden; opacity: 0; transition: ease-in-out all .3s; z-index: -1; }
.mainmenu li.has-children:hover ul { visibility: visible; opacity: 1; z-index: 100; }
.mainmenu>li.has-children>a:after { content: ""; width: 6px; height: 6px; position: absolute; right: 10px; top: 20px; border: solid #262525; border-width: 0 1px 1px 0; transform: rotate(45deg); transition: ease-in-out all .3s;}

.get_started_container { display: flex; align-items: center; justify-content:flex-end;}
.get_started_container a { text-transform: capitalize; font-weight: bold; color: #262525; font-size: 18px; padding: 14px 20px;
    line-height: 26px; border: 1px solid #C7D917; transition: ease-in-out all .3s;}
.get_started_container a:hover { color: #303B42; background: #C4D709; border-color: #C7D917;}

/*Top Footer*/
.top_footer { height: 300px; background: url(../images/footer_bg_image.jpg) center center no-repeat; background-size: cover; }
.top_footer>div { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; }
.top_footer span { font-size: 36px; font-weight: bold; color: #fff; display: block; }
.top_footer p { font-size: 18px; padding: 0; margin-bottom: 10px; font-weight: bold; color: #fff; }
.top_footer a.top_footer_phone { display: inline-block; line-height: 45px; padding: 0 15px 0 40px; background: url(../images/phone_green.svg) 13px center no-repeat rgba(0, 0, 0, .5); margin-bottom: 10px; color: #C4D82D; text-decoration: none; font-size: 20px; border-radius: 5px; }
.top_footer a { color: #fff; text-decoration: underline; font-size: 18px; font-weight: bold; }

/* Footer */
.footer_wrap { padding: 45px 0; line-height: 26px; color: #fff; font-size: 14px; position: relative; }
.footer_wrap a { color: #fff; }
.footer_wrap span { font-weight: bold; display: flex; flex-direction: column; gap:10px; margin-bottom: 20px; font-size: 18px; color: #fff; }
.footer_wrap span::after{content: ""; height: 3px; width: 28px; background: #fff;}
.footer_wrap .get-in-touch a { display: block; padding-left: 25px; }

.footer_wrap .footer-phone { background: url(../images/phone.svg) left center no-repeat; margin-bottom: 10px; }
.footer_wrap .footer-email { background: url(../images/mail.svg) left center no-repeat; }
.footer_wrap .footer-address { line-height: 22px; padding-left: 25px; background: url(../images/pin.svg) left 5px no-repeat; margin-bottom: 10px; }

.footer_wrap .last_section { display: flex; flex-direction: column; align-items: center; gap:20px;}
.footer-quick-links{display: flex;}
.footer-quick-links a{padding: 0 10px; line-height: 14px;}
.footer-quick-links a:not(:last-child){border-right: 1px solid #fff;}
.footer_wrap .social { display: flex; justify-content: center; align-items: center; flex-direction: column; gap:10px;}
.footer_wrap .social span {margin: 0;}
.footer_wrap .social span::after {content: none;}
.footer_wrap .social > div{display: flex; gap:10px; align-items: center;}
.footer_wrap .social a { display: block; height: 25px; width: 25px; margin: 0 5px; transition: ease all .3s; background-size: contain; background-position: center;
    background-repeat: no-repeat;}
.footer_wrap .social a.li { background-image: url(../images/linkedin.svg); }
.footer_wrap .social a.fb { background-image: url(../images/facebook.svg); }
.footer_wrap .social a.tw { background-image: url(../images/twitter.svg); }
.footer_wrap .social a.ig { background-image: url(../images/instagram.svg); }
.footer_wrap .social a.yt { background-image: url(../images/youtube.svg); }
.footer_wrap .social a.tt { background-image: url(../images/tiktok.svg); }
.footer_wrap .social a:hover { transform: translateY(-5px);  }

.footermenu { margin: 0; padding: 0; list-style: none; }
.footermenu li { margin: 0; padding: 0 0 15px 0px; display: block; line-height: 24px; position: relative; transition: ease-in-out all .5s; }
.footermenu li:last-child { padding-bottom: 0; }
.footermenu li a { display: block; margin: 0; font-size: 15px; color: #fff; text-transform: capitalize; transition: ease all .5s; }
.footermenu li a:hover { color: #C4D82D; }
.footermenu li ul { display: none; }

/* Byline */
.byline_wrap { padding: 25px 0; text-align: center; background: #21282D; }
.byline_wrap ul { margin: 0; padding: 0; list-style: none; display: flex; justify-content: center; margin-bottom: 15px; }
.byline_wrap ul li { margin: 0; padding: 0; border-right: 1px solid #fff; line-height: 12px; }
.byline_wrap ul li:last-child { border: 0; }
.byline_wrap ul li a { color: #fff; padding: 0 10px; font-size: 16px; }
.byline_wrap span { font-size: 12px; color: #848484; display: block; margin-bottom: 10px; }
.byline_wrap .dmac { line-height: 20px; }
.byline_wrap .dmac a { font-size: 12px; font-weight: normal; color: #848484; }
.byline_wrap .dmac a:hover { text-decoration: none; }

/*System change*/
.AB-editContentContainer { display: flex; align-items: flex-end; }

/* Fonts */
a { text-decoration: none; }
a:hover { text-decoration: none; }
strong{font-weight: bold;}
h1, h2, h3, h4, h5, h6{display: block; margin: 0 0; padding: 0 0 10px 0; color: var(--secondaryColour); font-weight: normal; font-family: var(--secondaryFont)}
h1 {font-size: 58px; line-height: 64px;}
h2 {font-size: 48px; line-height: 54px;}
h3 {font-size: 42px; line-height: 48px;}
h4 {font-size: 38px; line-height: 44px;}
h5 {font-size: 32px; line-height: 38px;}
h6 {font-size: 28px; line-height: 34px;}
p { padding: 0; font-size: 16px; color: var(--textColour); line-height: 24px; }
ul { list-style-position: outside; padding: 5px 0 20px 20px; font-size: 14px; color: var(--textColour); list-style-type: disc; line-height: 24px; }
ul li { padding: 0 0 15px 0; line-height: 20px; }
ul li a:hover { text-decoration: none; }
ol { list-style-position: outside; padding: 5px 0 20px 20px; font-size: 14px; color: var(--textColour); list-style-type: circle; line-height: 24px; }
ol li { padding: 0 0 5px 0; }
hr { color: #dadbdc; background: #dadbdc; height: 1px; border: 0; margin-bottom: 20px; }
.hidden { display: none; }
.clear { clear: both; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0; }
.full-width-fix { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }

.button-primary, .button-secondary{color: #303B42 !important; padding: 16px 20px; transition: ease-in-out all .3s; display: inline-flex; border-radius: 5px;
    font-size: 18px; font-weight: bold; line-height: 22px; border: 1px solid var(--buttonColour);}
.button-primary{ background: var(--buttonColour);}
.button-primary:hover{background: #fff;}
.button-secondary{background: #fff;}
.button-secondary:hover{background: var(--buttonColour)}

/*Gallery*/
.flexslider { transition: all 0.3s ease-in-out 0s; height: auto; }
.flex-viewport { height: 100% !important; }
.flexslider .slides { list-style: none; margin: 0; padding: 0; overflow: hidden; }
.flexslider .slides>li { display: none; -webkit-backface-visibility: hidden; position: relative; margin: 0; padding: 0; width: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; height: 100%; min-height: 100px; }
.flexslider .slides { height: 100%; }
.flexslider .slides>li.flex-active-slide { display: flex !important; flex-direction: column }
.flexslider .slides>li>a { display: block; height: 100%; }
.flexslider .slides>li>img, .flexslider .slides>li>a>img { width: 100%; display: block; z-index: 4; }
.flexslider .slides:after { content: "\0020"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
html[xmlns] .flexslider .slides { display: block; }
* html .flexslider .slides { height: 1%; }
.no-js .flexslider .slides>li:first-child { display: block; }
.flexSliderContainer.arrow { position: relative; }
.flexSliderContainer.arrow .flexslider { margin-bottom: -30px; }
.flexSliderContainer.arrow .slides>li, .flexSliderContainer.arrow .slides>li>a { clip-path: polygon(0 calc(100% - 30px), calc(50% - 30px) calc(100% - 30px), calc(50% - 1px) 100%, calc(50% + 1px) 100%, calc(50% + 30px) calc(100% - 30px), 100% calc(100% - 30px), 100% 0, 0 0); -webkit-clip-path: polygon(0 calc(100% - 30px), calc(50% - 30px) calc(100% - 30px), calc(50% - 1px) 100%, calc(50% + 1px) 100%, calc(50% + 30px) calc(100% - 30px), 100% calc(100% - 30px), 100% 0, 0 0); }
.flex-caption { display: flex; flex-direction: column; height: 100%; margin: 0 auto; }
.flex-caption>div { display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; height: auto; }
.flex-caption>div.background { background: rgba(0, 0, 0, .7); padding: 40px; }
.flex-caption:empty { display: none; }
.flex-caption.halign-right { align-items: flex-end; }
.flex-caption.halign-left { align-items: flex-start; }
.flex-caption.halign-center { align-items: center; }
.flex-caption.valign-top { justify-content: flex-start; }
.flex-caption.valign-center { justify-content: center; }
.flex-caption.valign-bottom { justify-content: flex-end; }
.flex-caption p { margin: 0; padding: 0; }
.flex-caption .fs_button { display: inline-block; background: #ED1D24; color: #fff; text-transform: uppercase; padding: 0 15px; border: 1px solid #fff; font-size: 19px; font-weight: bold; line-height: 54px; border-radius: 20px; margin: 10px; }
.FG-dummyGallery .flex-control-paging { display: none; }

/*Fullscreen gallery arrows*/
.flex-direction-nav { position: absolute; top: 50%; margin: 0; padding: 0; width: 100%; list-style: none; }
.flex-direction-nav li { position: absolute; z-index: 10; top: calc(50% - 30px); width: 40px; height: 60px; cursor: pointer; transition: ease-in-out all .3s; 
    padding: 0; left: 30px; background: rgba(255, 255, 255, .6); display: flex; align-items: center; justify-content: center; }
.flex-direction-nav li a { font-size: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.flex-direction-nav li a::after { content: ""; height: 16px; width: 16px; border:solid #000; border-width:0 0 3px 3px; position:absolute; left: 10px; 
    top:calc(50% - 2px); transform: rotate(45deg) translateY(-50%);}
.flex-direction-nav li.flex-nav-next { right: 40px; transform: rotate(180deg); left: initial; }
.flex-direction-nav li:hover { background: rgba(255, 255, 255, .8); }

/*Fullscreen gallery pagination*/
.flex-control-paging { position: absolute; bottom: 20px; display: flex; width: 100%; left: 0; align-items: center; justify-content: center; z-index: 60 }
.flex-control-paging { list-style: none; display: flex; align-items: center; margin: 0; padding: 0; }
.flex-control-paging>li { padding: 0; margin: 0; font-size: 0; display: flex; align-items: center; justify-content: center; }
.flex-control-paging>li>a { width: 20px; height: 20px; border-radius: 100%; margin: 0 10px; background: #000; border: 1px solid var(--buttonColour); transition: ease-in-out all .5s; }
.flex-control-paging>li>a.flex-active { background: #fff; transition: ease-in-out all .5s; }

/* -- TEXT MODULE -- */
.text_module_wrap { position: relative; }
.text_module_container { position: relative; z-index: 1; }
.text_module_before { position: absolute; left: calc(-1140px / 2); width: 100vw; top: 0; height: 100%; z-index: -1; }
.text_module_after { position: absolute; width: 100vw; top: 0; height: 100%; z-index: -1; }

/* -- SPACING MODULE -- */
.spacing_module { display: flex; align-items: center; justify-content: center; background: transparent; position: relative; z-index: 1; transition: 0.2s ease-in-out all; }
.spacing_module span { opacity: 0; text-align: center; font-size: 24px; font-weight: bold; transition: 0.2s ease-in-out all; }
.spacing_module.admin_logged:hover { background: #efefef; }
.spacing_module.admin_logged:hover span { opacity: 1; }

/*Contact Form*/
.contact-form { background: #fff; border: 1px solid #E6E5E5; padding: 10px 15px; }
.contact-form .cf-input { line-height: 30px; padding-bottom: 10px; }
.contact-form .cf-select { line-height: 30px; padding-bottom: 10px; }
.contact-form label { width: 100%; color: var(--textColour); font-size: 16px; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; height: 50px; font-size: 16px; text-indent: 10px; border: 1px solid #D2D0D0; box-sizing: border-box; padding: 0 5px; }
.contact-form input[type=radio], .contact-form input[type=checkbox] { width: 15px; margin-right: 10px; height:30px; }
.cf-radiobox, .cf-checkbox { margin-bottom: 10px; }
.cf-radiobox span, .cf-checkbox span { display: flex; align-items: center; }
.contact-form label span { color: #DC0D37; }
.contact-form textarea { resize: none; height: 120px; }
.contact-form .cf-buttons { line-height: 0; font-size: 0; text-align: right; margin-top: 5px; }
.contact-form .cf-buttons a { line-height: 22px; color: #000000; font-size: 17px; display: inline-block; margin-left: 20px; text-align: center; 
    border-radius: 5px; font-weight: bold; background: #fff; border: 1px solid #000; padding: 14px 20px;}
.contact-form .cf-reset { display: none !important; }
.contact-form .cf-validation { text-align: center; height: 0; padding: 10px 0; box-sizing: border-box; font-size: 16px; color: #DC0D37; font-weight: bold; transition: all 2s ease-in-out 0s; }
.contact-form .cf-text { color: #000000; font-weight: bold; font-size: 18px; font-size: 16px; padding: 10px 0px; margin-bottom: 10px; font-family: var(--secondaryFont);}
.contact-form .denotes { float: left; font-size: 14px; color: #4B4B4B; }
.contact-form .cf-buttons a:hover { text-decoration: none; }

/*Animation*/
@keyframes shadow-pulse {
    0% { box-shadow: 0 0 0 0px rgba(63, 55, 88, .6); }
    100% { box-shadow: 0 0 0 25px rgba(63, 55, 88, 0); }
}

/********Image Layout Module********/
.IB-Editor .form-group { max-height: 430px; overflow: scroll; overflow-x: hidden; }
.form-group label { margin-top: .5rem; }
.form-group select { width: 100%; height: calc(2.25rem + 2px); padding: .375rem .75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #495057; background-color: #fff; background-clip: padding-box; border: 1px solid #ced4da; border-radius: .25rem; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; }
.block_layout_module:after { content: ""; display: block; clear: both; }
.layout_block { margin: 0; display: flex; align-items: center; }
.layout_image { width: 50%; display: flex; align-items: center; }
.layout_image img { max-width: 100%; height: auto; width: auto; }
.layout_content { padding: 30px 0 30px 30px; width: 50%; }
.block_layout_module .layout_inner { width: 760px; padding: 0 15px;}
.block_layout_module .layout_icon {margin-bottom: 15px;}
.block_layout_module .layout_icon img { max-height: 50px; }
.block_layout_module .layout_title { font-size: 58px; font-family: var(--secondaryFont); font-weight: bold; line-height: 65px; 
    margin-bottom: 20px; position: relative; display: block; padding-bottom: 15px;}
.block_layout_module .layout_subtitle{font-size: 32px; font-family: var(--secondaryFont); font-weight: bold; line-height: 38px; 
    margin-bottom: 25px; position: relative; display: block;}
.block_layout_module .layout_title:after { content: ""; background: var(--buttonColour); position: absolute; bottom: 0; left:0; height: 2px; width: 40px; }
.block_layout_module .layout_text { font-size: 16px; font-weight: normal; }
.block_layout_module .layout_link {border-radius:0; margin-top:20px;}
.block_layout_module .layout_link:hover {  }
.block_layout_module .layout_image iframe { width: 550px; height: 400px; }

/*Text pos left*/
.block_layout_module .layout_pos_Left { flex-direction: row-reverse; }
.block_layout_module .layout_pos_Left .layout_content { justify-content: flex-end; display: flex; padding: 30px 30px 30px 0; }

/*Text pos right*/
.block_layout_module .layout_pos_Right .layout_content { justify-content: flex-start; display: flex; padding: 30px 0 30px 30px; }
.block_layout_module .layout_pos_Right .layout_image { justify-content: flex-end; }

/*Layout  Image positioning update*/
.block_layout_module .layout_image.img-left { justify-content: flex-start; }
.block_layout_module .layout_image.img-center { justify-content: center; }
.block_layout_module .layout_image.img-right { justify-content: flex-end; }

/*Layout Text Theme*/
.layout_text_Dark .layout_title{color: var(--secondaryColour);}
.layout_text_Dark .layout_subtitle{color: var(--secondaryColour);}
.layout_text_Dark .layout_text{color: var(--secondaryColour);}

.layout_text_Light .layout_title{color: #fff;}
.layout_text_Light .layout_subtitle{color: #fff;}
.layout_text_Light .layout_text{color: #fff;}

/*Icon Gallery Module*/
.icon-gallery-module > div{padding: 0;}
.icon-gallery-module .icon-gallery-slider{width: 100%;}
.icon-gallery-module.list{}
.icon-gallery-module.list .icon-gallery-slider > div{display: flex; flex-wrap: wrap; gap:16px; row-gap: 30px; margin: 0;}
.icon-gallery-module.list .ig-item{width: calc((100%/4) - 12px); height: initial;}

.icon-gallery-module .ig-item{border: 1px solid #E6E5E5; border-radius: 5px; background: var(--mainColour); display: flex; transition: ease-in-out all .3s;
    flex-direction: column; gap:15px; align-items: center; padding: 20px 30px; text-align: center;}
.icon-gallery-module .ig-item:hover{box-shadow: 0px 0px 6px #00000029}
.icon-gallery-module .ig-image img{max-height: 80px; max-width: 80px; height: auto; width: auto;}
.icon-gallery-module .ig-title{font-family: var(--secondaryFont); font-size: 30px; font-weight: bold; line-height: 34px; text-transform: capitalize;}
.icon-gallery-module .ig-text{font-size: 16px; line-height: 24px;}
.icon-gallery-module .ig-link{background: #fafbe9; display: flex; gap:5px; align-items: center; color: var(--secondaryColour); text-decoration: underline; font-size: 16px; line-height: 40px; font-family: var(--secondaryFont); padding: 0 10px;}
.icon-gallery-module .ig-link::before{content: ""; height: 10px; width: 10px; border: solid var(--buttonColour); border-width: 2px 2px 0 0; transform: rotate(45deg);}

.icon-gallery-module.carousel .icon-gallery-slider-container{display: flex; flex-direction: column; gap:20px; align-items: center;}

/*Icon Gallery Arrows*/
.ig-navigation{height: 60px; width: 40px; background: var(--mainColour); position: absolute; top: calc(50% - 30px); transition: ease-in-out all .3s; z-index: 1000;}
.ig-navigation::before{content: ""; height: 16px; width:16px; border:solid #000; border-width: 0 0 3px 3px; position:absolute; top: calc(50% - 8px); 
    left: 15px; transform:rotate(45deg);}
.ig-navigation.ig-prev{left: -50px;}
.ig-navigation.ig-next{right: -50px; transform: rotate(180deg);}
.ig-nav-disabled{opacity: 0; visibility: hidden;}

/*Icon Gallery Pagination*/
.ig-pagination{display: flex; align-items: center; justify-content: center; transform: none !important; margin: 0 auto;}
.ig-pagination span{background: #EBEBEB; opacity: 1; height: 20px; width: 20px; transform: none; flex-shrink: 0; border-radius: 50%;}
.ig-pagination span.active{background: var(--secondaryColour); transform:scale(1) !important;}
.ig-pagination :is(span.active-next-next, span.active-prev-prev){transform:scale(.33) !important;}
.ig-pagination :is(span.active-next, span.active-prev){transform:scale(.5) !important;}
.ig-pagination.swiper-pagination-lock{display: none;}

/*Image Button*/
.image-button-module{padding: 30px 0;}
.image-button-module > div{padding: 0;}
.image-button-module .image-button-slider{width: 100%;}
.image-button-module.list{}
.image-button-module.list .image-button-slider > div{display: flex; flex-wrap: wrap; gap:20px; row-gap: 40px; margin: 0;}
.image-button-module.list .ib-item{width: calc((100%/6) - 16.7px); height: initial;}

.image-button-module .ib-item{ display: flex; flex-direction: column; gap:10px; align-items: center; text-align: center;}
.image-button-module .ib-item a{display: flex; flex-direction: column; gap:10px; align-items: center; text-align: center; color: var(--secondaryColour);
    width: 100%;}
.image-button-module .ib-image{border: 1px solid #E6E5E5; border-radius: 5px; background: var(--mainColour); transition: ease-in-out all .3s;
    height: 240px; width: 100%; display: flex; align-items: center; justify-content: center;}
.image-button-module .ib-image img{max-height: 85%; max-width: 85%; height: auto; width: auto;}
.image-button-module .ib-item:hover .ib-image{box-shadow: 0px 0px 6px #00000029}
.image-button-module .ib-caption{line-height: 24px; font-family: var(--secondaryFont); font-size: 16px; font-weight: bold; 
    line-height: 24px; text-transform: capitalize; color: var(--secondaryColour);}
.image-button-module .ib-link{background: #fafbe9; display: flex; gap:5px; align-items: center; color: var(--secondaryColour); text-decoration: underline; font-size: 16px; line-height: 40px; font-family: var(--secondaryFont); padding: 0 10px;}
.image-button-module .ib-link::before{content: ""; height: 10px; width: 10px; border: solid var(--buttonColour); border-width: 2px 2px 0 0; transform: rotate(45deg);}

.image-button-module.carousel .image-button-slider-container{display: flex; flex-direction: column; gap:20px; align-items: center;}

/*Image Button Arrows*/
.ib-navigation{height: 60px; width: 40px; background: var(--mainColour); position: absolute; top: calc(50% - 30px); transition: ease-in-out all .3s; z-index: 1000;}
.ib-navigation::before{content: ""; height: 16px; width:16px; border:solid #000; border-width: 0 0 3px 3px; position:absolute; top: calc(50% - 8px); 
    left: 15px; transform:rotate(45deg); }
.ib-navigation.ib-prev{left: -50px;}
.ib-navigation.ib-next{right: -50px; transform: rotate(180deg);}
.ib-nav-disabled{opacity: 0; visibility: hidden;}

/*Image Button Pagination*/
.ib-pagination{display: flex; align-items: center; justify-content: center; transform: none !important; margin: 0 auto;}
.ib-pagination span{background: #EBEBEB; opacity: 1; height: 20px; width: 20px; transform: none; flex-shrink: 0; border-radius: 50%;}
.ib-pagination span.active{background: var(--secondaryColour); transform:scale(1) !important;}
.ib-pagination :is(span.active-next-next, span.active-prev-prev){transform:scale(.33) !important;}
.ib-pagination :is(span.active-next, span.active-prev){transform:scale(.5) !important;}
.ib-pagination.swiper-pagination-lock{display: none;}

/********* Check List module *********/
.list-module{padding: 10px 0 30px; margin-top: 30px; margin-bottom: 30px; position: relative;}
.list-module > div{display: flex; flex-direction: column; gap:40px; align-items: center; justify-content: center; position: relative; z-index: 10;}
.list-module > div > h3{text-align: center; width: 100%; font-size: 58px; line-height: 66px; font-weight: bold; padding: 0;}
.list-module .lm-blocks-container{width: 100%; position: relative; display: flex; flex-direction: column; gap:20px;}
.list-module .lm-blocks{width: 100%;}
.list-module.list .lm-blocks > div{gap:20px; display: flex; flex-wrap: wrap;}

.list-module.list .lm-block{width: calc((100%/3) - 14px)}
.list-module .lm-block{border: 1px solid #D6D3D3; background: #fff;}
.list-module .lm-block-header{display: flex; flex-direction: column; gap:10px;}
.list-module .lm-block-heading{padding: 20px 20px 10px 20px; display: flex; gap:10px; align-items: center; position: relative;}
.list-module .lm-block-heading::before{content: ""; height: 80px; width: 8px; background: var(--buttonColour); position: absolute; left: 0; top: 0;
    transition: ease-in-out all .3s;}
.list-module .lm-block-heading h5{font-weight: bold; font-size: 30px; line-height: 36px; padding: 0;}
.list-module .lm-block-icon{height: 50px; width: 50px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;}
.list-module .lm-block-icon img{max-height:100%; max-width:100%; height: auto; width: auto;}
.list-module .lm-block-text{padding: 0 20px; line-height: 28px;}
.list-module .lm-list{padding:20px 20px 30px 20px; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start;}

.list-module .lm-list a{color: var(--secondaryColour); text-decoration: underline;}

.list-module::before{content:""; height: 150px; width: calc(((100vw - 1600px) / 2) + 150px); background: #f3f5df; position: absolute; bottom: 0; right: 0;}
.list-module::after{content:""; height: 150px;  width: calc(((100vw - 1600px) / 2) + 250px); background: #f3f5df; position: absolute; top: 0; left: 0;}

/*List type list*/
.list-module.checklist .lm-block-text{line-height: 20px;}
.list-module.checklist .lm-list{gap:20px;}
.list-module.checklist .lm-list > *{display: flex; gap:10px; align-items: flex-start;}
.list-module.checklist .lm-list > *::before{content: ""; height: 21px; width: 21px; background: url(../images/checklist.svg) center no-repeat; flex-shrink: 0;}

/*List type link*/
.list-module.links .lm-list{gap:5px;}
.list-module.links .lm-list > *{display: flex; gap:10px; align-items: center; padding: 5px 10px; transition: ease-in-out all .3s;}
.list-module.links .lm-list > a::before{content: ""; height: 10px; width: 10px; border:solid var(--buttonColour); border-width: 2px 2px 0 0; transform: rotate(45deg);
    flex-shrink: 0;}
.list-module.links .lm-list > a:hover{background: #fafbe9;}

.list-module.links .lm-block .lm-block-heading::before{background: #E6E5E5;}
.list-module.links .lm-block:hover .lm-block-heading::before{background: var(--buttonColour);}

/*List Module Arrows*/
.lm-navigation{height: 60px; width: 40px; background: var(--mainColour); position: absolute; top: calc(50% - 30px); transition: ease-in-out all .3s; z-index: 1000;}
.lm-navigation::before{content: ""; height: 16px; width:16px; border:solid #000; border-width: 0 0 3px 3px; position:absolute; top: calc(50% - 8px); 
    left: 15px; transform:rotate(45deg);}
.lm-navigation.lm-prev{left: -50px;}
.lm-navigation.lm-next{right: -50px; transform: rotate(180deg);}
.lm-nav-disabled{opacity: 0; visibility: hidden;}

/*List Module Pagination*/
.lm-pagination{display: flex; align-items: center; justify-content: center; transform: none !important; margin: 0 auto;}
.lm-pagination span{background: #EBEBEB; opacity: 1; height: 20px; width: 20px; transform: none; flex-shrink: 0; border-radius: 50%;}
.lm-pagination span.active{background: var(--secondaryColour); transform:scale(1) !important;}
.lm-pagination :is(span.active-next-next, span.active-prev-prev){transform:scale(.33) !important;}
.lm-pagination :is(span.active-next, span.active-prev){transform:scale(.5) !important;}
.lm-pagination.swiper-pagination-lock{display: none;}

/* Calculator */
.calculator { background: #EEEEEB; padding: 40px 0; }
.calculator .monthly-cost { position: relative; }
.calculator-sections>div { margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px dashed #D8D8D8; }
.calculator-sections>div>div:first-child { font-size: 24px; font-weight: bold; color: #303B42; display: flex; align-items: center; height: 60px; line-height: 24px; }
.calculator-sections>div>div:first-child>span { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 17px; background: #C4D82D; margin-right: 10px; }
.calculator-sections>div>div:nth-child(2) { font-size: 14px; line-height: 24px; }
.calculator-items { margin: 10px 0; }
.calculator-items>div { background: #fff; margin-bottom: 1px; padding: 10px 20px; }
.calculator-items>div>div:nth-child(1) { font-size: 16px; font-weight: bold; margin-bottom: 10px; }
.calculator-items>div select { width: 100%; height: 46px; margin-bottom: 10px; }
.calculator-items>div input { width: 100%; }
.calculator-items>div>div:nth-child(3) { font-size: 13px; font-weight: bold; color: #A5A5A2; line-height: 16px; }
.monthly-cost>div { position: absolute; top: 0; right: 0; background: #3C474D 0% 0% no-repeat padding-box; box-shadow: 0px 0px 10px #00000029; border-radius: 40px; padding: 10px 20px; display: flex; flex-direction: column; align-items: center; color: #fff; width:400px; }
.monthly-cost>div>div:first-child { font-size: 24px; line-height: 24px; margin: 10px 0; color: #C4D82D; font-weight: bold; }
.monthly-cost>div>div:nth-child(2) { font-size: 26px; line-height: 24px; margin: 10px 0; font-weight: bold; }
.monthly-cost>div>a { background: #FFFFFF; box-shadow: 0px 0px 6px #00000029; display: flex; align-items: center; justify-content: center; height: 50px; font-size: 18px; font-weight: bold; color: #303B42 !important; width: 100%; margin: 10px 0; }
.monthly-cost>div>div:last-child { font-size: 14px; line-height: 14px; margin: 10px 0 30px; }
.monthly-cost .breakdown { width: 100%; }
.monthly-cost .breakdown>a { color: #fff; font-size: 18px; display: flex; align-items: center; justify-content: center; height: 40px; text-align: center; }
.monthly-cost .breakdown>a:after { content: ''; width: 20px; height: 20px; background: url(../images/arrow-down.svg) no-repeat center; transition: all 0.3s ease-in-out; }
.monthly-cost .breakdown.active>a:after { transform: rotate(180deg); }
.monthly-cost .breakdown>div { display: none; margin-bottom: 10px; }
.monthly-cost .breakdown>div>div { display: flex; align-items: center; justify-content: space-between; font-size: 12px; height: 24px; }
.monthly-cost input, .monthly-cost textarea { background: #fff; color: #303B42; font-size: 18px; text-align: center; height: 40px; margin: 5px 0; border: 0; width: 100%; font-family: inherit; }
.monthly-cost textarea { text-align: left; padding: 5px; resize: none; height: 80px; }
.monthly-cost .add-message { display: block; color: #fff; width: 100%; line-height: 50px; text-align: center; }
.monthly-cost .enquire-button, .monthly-cost .show-enquire { display: flex; background: #C4D82D 0% 0% no-repeat padding-box; box-shadow: 0px 0px 6px #00000029; color: #3C474D; width: 100%; line-height: 50px; text-align: center; margin: 5px 0 10px; font-weight: bold; border: 0; cursor: pointer; align-items: center; justify-content: center; }
.monthly-cost .enquire-button[disabled] { color: #999; }
.monthly-cost .enquire-button[disabled]:after { content: ''; width: 20px; height: 20px; border-radius: 50%; border: 2px solid #3C474D; border-color: #3C474D transparent transparent; animation: linear .5s spin infinite; margin-left: 10px; }
.monthly-cost p { color: #fff; }
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Counter Module */
.counter_module { background: #F3F1F1; padding: 30px 0; }
.counter_module_header { background: #303B42; color: #fff; font-size: 40px; font-weight: bold; line-height: 55px; padding: 32.5px 0; text-align: center; }
.counter_module .container { display: flex; align-items: center; justify-content: center; }
.counter_module .container>a { display: flex; width: 0; flex: auto; }
.counter_module .co_box { padding: 0 0 30px; width: 0; flex: auto; display: flex; flex-direction: column; align-items: center; border: 1px solid #d4d0d08e; border-width: 0 1px 0 0; }
.counter_module .co_box:first-child { border-width: 0 1px; }
.co_box .co_image { display: flex; height: 80px; align-items: center; justify-content: center; }
.co_box .co_counter { font-size: 40px; color: #303B42; font-weight: bold; line-height: 54px; }
.co_box .co_title { color: #222F38; font-size: 16px; line-height: 24px; text-align: center; }

/*Consultation Form*/
.consultation_form { background: url(../images/consultation-bg.png); background-size: cover; padding: 30px 0; width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; display: flex; }
.consultation_form>div { padding: 70px 15px; display: flex; height: 100%; align-items: center; justify-content: center; }
.con_container { width: 810px; display: flex; align-items: center; justify-content: center; text-align: center; flex-direction: column; gap: 20px; position: relative; }
.con_container h2 { font-size: 58px; line-height: 64px; font-family: var(--secondaryFont); color: #fff; font-weight: bold; padding:0 0 0 20px; position: relative; margin: 0 0 20px 0; }
.con_container h2::after { content: ""; height: 100%; width: 12px; background: #5e6819; position: absolute; left: 0; top: 0; }
.con_message_start{color: #fff; font-size: 16px; line-height: 24px;}
.con_steps { font-size: 16px; line-height: 24px; color: #FFFFFF; }
.con_groups { width: 100%; display: flex; flex-direction: column; align-items: center; gap:5px; justify-content: center; }
.con_group { display: flex; flex-direction: column; gap: 20px; align-items: center; justify-content: center; width: 100%; }
.con_group:not(.active) { display: none; }
.con_question { font-size: 20px; font-weight: bold; text-align: center; line-height: 26px; color: #FFFFFF; }
.con_answers { display: flex; flex-direction: column; gap: 15px; width: 100%; }
.con_answer { width: 100%; height: 50px; background: rgba(0, 0, 0, .4); border-radius: 5px; border: 1px solid var(--buttonColour); display: flex; align-items: center; 
    justify-content: center; font-size: 16px; color: #fff; cursor: pointer; transition: ease-in-out all .3s; }
.con_answer.active, .con_answer:hover { background: rgba(0, 0, 0, .7); color: #d3e521;}
.con_controls{display: flex; align-items: center; justify-content: center; gap:20px; margin-top: 25px;}
.back_step { color: #FFFFFF !important; background: rgba(0, 0, 0, .4); font-size: 17px; font-weight: bold; padding:16px 20px;  transition: ease-in-out all .3s;}
.back_step:hover{background: rgba(0, 0, 0, .7);}
.next_step, .con_submit{border-radius: 0; color: #000 !important;}
.con_message { color: #FFFFFF; font-size: 16px; line-height: 24px; }
.con_end, .con_message, .con_submit { display: none; }
.consultation_form[data-active-step='1'] .back_step { display: none; }
.consultation_form.formSection :is(.con_end, .con_message, .con_submit) { display: block; }
.consultation_form.formSection :is(.con_start, .con_steps, .con_message_start, .next_step) { display: none; }
.con_form { display: flex; flex-direction: column; gap: 15px; width: 100%; }
.con_form>div { display: flex; gap: 15px; }
.con_form .con_form_group { display: flex; flex-direction: column; gap: 5px; flex-grow: 1; }
.con_form .con_form_group label { text-align: left; margin: 0; color: #fff; line-height: 24px; font-size: 16px; }
.con_form .con_form_group input { height: 50px; padding: 0 15px; border: none; }
.con_form .con_form_group textarea { height: 120px; resize: none; padding: 10px 15px; border: 0; }

.con_group.last_group .con_form{background: rgba(14, 20, 26, .7); padding: 20px; box-sizing: border-box; width: 1090px;}
