@charset "UTF-8";

:root {
  --container: 100%;
  --bodyfont: "Mulish", sans-serif;
  --secondaryfont: "Philosopher", sans-serif;
  --regularfontweight: 500;
  --boldfontweight: 800;
  --defaultfontsize: 1em;
  --defaultlineheight: 1.5;
  --white: #ffffff;
  --black: #000000;
  --grey: #e6e6e6;
  --teal: #19ebc6;
  --blue: #afe5f7;
  --purple: #fdcbff;
}

.sc-fb-container {padding: 40px; background: #f1f1f1; margin: 0 0 20px 0;}
.sc-fb-required-desc {font-size: 1rem!important;}

*, *:before, *:after {box-sizing: border-box; print-color-adjust: exact; -webkit-print-color-adjust: exact; margin: 0; padding: 0;}

html {line-height: var(--defaultlineheight); -webkit-text-size-adjust: 100%; scroll-behavior: smooth;}
html:focus-within {scroll-behavior: smooth;}
body {margin: 0; font-size: var(--defaultfontsize); background: var(--white); min-height: 100vh; -webkit-font-smoothing: antialiased; text-rendering: optimizespeed; font-family: var(--bodyfont); color: var(--black); overflow-x: hidden;}
main {display: block;}

button, input, optgroup, select, textarea {height: 50px; font-family: inherit; font-size: var(--defaultfontsize); line-height: var(--defaultlineheight); margin: 0; font-weight: var(--regularfontweight); text-transform: none;}
input, textarea, select {width: 100%; background: var(--white); border: 1px solid var(--white);}
input, optgroup, select, textarea {-webkit-appearance: none;}
input, select {padding: 0 10px;}
button, [type="button"], [type="reset"], [type="submit"] {-webkit-appearance: button; cursor: pointer; width: auto; padding: 0 10%; background: var(--teal); border: none; font-weight: var(--boldfontweight);}
button, input {overflow: visible;}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {border-style: none; padding: 0;}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {outline: 1px dotted ButtonText;}
fieldset {padding: 0.35em 0.75em 0.625em;}
legend {color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal;}
progress {vertical-align: baseline;}
textarea {overflow: auto; resize: none; height: 150px; padding: 10px;}
[type="checkbox"], [type="radio"] {padding: 0;}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {height: auto;}
[type="search"] {-webkit-appearance: textfield; outline-offset: -2px;}
[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
::-webkit-file-upload-button {-webkit-appearance: button; font: inherit;}
:-webkit-autofill {-webkit-box-shadow: 0 0 0 1000px var(--white) inset; box-shadow: 0 0 0 1000px var(--white) inset; -webkit-text-fill-color: var(--black);}

pre, code, kbd, samp {font-family: monospace, monospace; font-size: var(--defaultfontsize);}
small {font-size: 80%;}
sub, sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
b, strong {font-weight: var(--boldfontweight);}
a {background-color: transparent; text-decoration: underline; color: var(--black); font-weight: var(--boldfontweight);}
a:not([class]) {text-decoration-skip-ink: auto;}
abbr[title] {border-bottom: none; text-decoration: underline;}
a img {border: none; outline: none;}
h1, h2, h3, h4, h5, h6 {overflow-wrap: break-word; line-height: calc(1em + 0.5rem); margin: 0; padding: 0 0 10px 0; font-weight: var(--boldfontweight); font-style: normal; color: inherit;}
p {margin: 0; padding: 0 0 20px 0; overflow-wrap: break-word;}
p:last-child {padding-bottom: 0;}
p.seeformerrors {color: #fd0101;}
p, li, label {line-height: var(--defaultlineheight); font-size: 1.1rem;}
ul, ol {margin: 0 0 20px 20px; padding: 0;}
li p {padding: 0;}
li li, li p, p label, label p {font-size: var(--defaultfontsize);}

hr {box-sizing: content-box; overflow: visible; margin: 0 auto 20px auto; clear: both; height: 1px; background: var(--black); border: none;}

img, picture, video, canvas, svg, iframe {display: block; max-width: 100%;}
img.seecmsimagedefault, img.seecmsimagedefaultundefined {display: inline-block; margin: 0 0 20px 0;}
img.seecmsimageleft, img.seecmsimageleftundefined {float: left; margin: 0 20px 20px 0;}
img.seecmsimageright, img.seecmsimagerightundefined {float: right; margin: 0 0 20px 20px;}
img.seecmsimagecentre, img.seecmsimagecentreundefined {display: block; margin: 0 auto;}

details {display: block;}
summary {display: list-item;}
template {display: none;}
[hidden] {display: none;}

.textright {text-align: right;}
.textleft {text-align: left;}
.textcenter {text-align: center;}
.smalltext {font-size: 1rem!important;}

/* div:after, form:after, ul:after, input:after, section:after, article:after, header:after, footer:after, nav:after, aside:after, hgroup:after {clear: both; content: ""; display: block; height: 0; visibility: hidden;} */

table {width: 100%; margin: 0 0 20px 0; border: 0!important; border-collapse: separate!important; border-spacing: 2px!important;}
table th {padding: 10px; font-size: var(--defaultfontsize); color: var(--black); background: var(--teal); font-weight: var(--regularfontweight); border-collapse: separate!important; text-align: left; border: 0!important; border-spacing: 2px!important;}
table td {padding: 10px; font-size: var(--defaultfontsize); color: #000000; background: #f1f1f1; font-weight: var(--regularfontweight); border-collapse: separate!important; text-align: left; border: 0!important; border-spacing: 2px!important;}
table th p, table td p {font-size: var(--defaultfontsize); padding: 0;}
table th a {color: var(--white)!important;}

.slick-slide {outline: none!important;}

.embed-container {position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;}
.embed-container iframe, .embed-container object, .embed-container embed {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

/* New form builder */
.sc-fb p {padding: 0;}
.sc-fb p.sc-fb-field-radio {padding: 0 0 5px 0;}
.sc-fb .sc-fb-field-name {padding: 0 0 5px 0;}
.sc-fb .sc-fb-field-option {padding: 0 0 20px 0;}
.sc-fb .sc-fb-field-option .sc-fb-field-notes {font-style: italic;}
.sc-fb input, .sc-fb select, .sc-fb textarea {margin: 0 0 5px 0;}
.sc-fb input[type="checkbox"], .sc-fb input[type="radio"] {margin: 0 10px 0 0; float: none;}
.sc-fb input[type="submit"] {margin: 15px 0;}
.sc-fb .sc-fb-submit-errors {color: #fd0101; padding: 0 0 20px 0;}
.sc-fb .sc-fb-field-error {color: #fd0101; float: right;}
.sc-fb .sc-fb-field-required {color: #fd0101; margin-left: 8px; font-weight: 600;}
.sc-fb .sc-fb-required-desc {text-align: right;}
.required {font-weight: 500; margin-left: 8px; color: #fd0101;}

.searchresult h3 img {width: auto; float: left; margin: 0 10px 0 0;}

.sitemap ul ul {margin: 0 0 0 20px;}

.form .row.thirds, .form .row.halves {display: flex;}
.form .row.thirds .input {width: 33%;}
.form .row.halves .input {width: 50%;}

.bg-blue {background: var(--blue);}

h1, h2, h3, h4 {padding: 0; margin: 0 0 20px 0; font-weight: 700; line-height: 1.1; font-family: var(--secondaryfont);}
h1 {font-size: 6rem; letter-spacing: -2px;}
h2 {font-size: 3rem; line-height: 1;}
h3 {font-size: 2.6rem;}
h4 {font-size: 1.1rem; padding: 0 0 5px 0; font-weight: 800; font-family: var(--bodyfont); position: relative; display: inline-block;}
h4:after {width: 100%; height: 2px; content: ""; display: block; position: absolute; bottom: 0; left: 0; visibility: visible; background: var(--purple);}
ul li {padding: 0 0 10px 0;}

.cookiesnotice-wrap {position: fixed; bottom: 0; left: 0; z-index: 999; background: var(--black); max-width: 20%; clip-path: polygon(0% 0%, 100% 100%, 0% 100%);}
.cookiesnotice {padding: 220px 60px 20px 20px; position: relative;}
.cookiesnotice p {padding: 0 0 10px 0; color: var(--white); font-size: 100%;}
.cookiesnotice p a.cookieslink {color: var(--white); text-decoration: underline; display: inline-block; position: relative;}
.cookiesnotice p.buttons {padding: 0; font-size: 110%;}
.cookiesnotice p.buttons a {display: inline-block; color: var(--white); text-decoration: underline; box-sizing: border-box;}
.cookiesnotice p.buttons span {display: inline-block; margin: 0 10px;}

.cookiesnotice p.blockbutton {font-size: 100%; padding: 0; margin: 10px 0 0;}
.cookiesnotice p.blockbutton a {display: inline-block; text-decoration: none; background: var(--white); color: var(--black); padding: 8px 15px;}

.cookiesnotice .heading {font-size: 140%; padding: 0; margin: 0; font-weight: 700; font-family: var(--secondaryfont); letter-spacing: 1px; max-width: 230px; line-height: 1.1;}
.cookiesnotice .moreinfo {display: none; padding: 0; margin: 0;}
.cookiesnotice a {color: var(--white); cursor: pointer;}

.importantnotice {padding: 10px 20px; text-align: center; background: var(--black); position: relative; z-index: 200}
.importantnotice p {color: var(--white); font-size: 1.1rem; line-height: 1.2}

.cookiesnotice-wrap.open {clip-path: polygon(0% 0%, 100% 0, 100% 100%, 0% 100%);}
.cookiesnotice-wrap.open .cookiesnotice {padding: 20px;}
.cookiesnotice-wrap.open .moreinfo {display: block;}
.cookiesnotice-wrap.open .heading {max-width: unset;}
.cookiesettings {position: relative; padding: 20px 140px 0 0; margin: 0 0 20px 0;}
.cookiesettings .onoffswitch {position: absolute; top: 30px; right: 20px; width: 90px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none;}
.cookiesettings .onoffswitch-checkbox {display: none;}
.cookiesettings .onoffswitch-label {display: block; overflow: hidden; cursor: pointer; border: 2px solid #999999; border-radius: 20px;}
.cookiesettings .onoffswitch-inner {display: block; width: 200%; margin-left: -100%; transition: margin 0.3s ease-in 0s;}
.cookiesettings .onoffswitch-inner:before, .onoffswitch-inner:after {display: block; float: left; width: 50%; height: 30px; padding: 0; line-height: 30px; font-size: 90%; font-weight: 700; color: white; box-sizing: border-box;}
.cookiesettings .onoffswitch-inner:before {content: "ON"; padding-left: 10px; background-color: var(--teal); color: var(--black);}
.cookiesettings .onoffswitch-inner:after {content: "OFF"; padding-right: 10px; background-color: #eeeeee; color: #999999; text-align: right;}
.cookiesettings .onoffswitch-switch {display: block; width: 18px; margin: 6px; background: #ffffff; position: absolute; top: 0; bottom: 0; right: 56px; border: 2px solid #999999; border-radius: 20px; transition: all 0.3s ease-in 0s;}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {margin-left: 0;}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {right: 0;}

.page-title h1 {font-size: 4rem; font-family: var(--secondaryfont); font-weight: 400; padding: 0 0 40px; margin: 0; letter-spacing: -3px; line-height: 0.8; position: relative;}
.page-title h1:after {width: 100px; height: 5px; position: absolute; bottom: 0; left: 0; background: var(--teal); content: ""; visibility: visible; display: block;}
.page-title .content {padding: 180px 120px 20px;}
.page-title {position: relative;}
.page-title:after {width: 18%; height: 80%; background: var(--teal); position: absolute; top: 0; right: 0; content: ""; visibility: visible; display: block;}

.contentblock {position: relative;}
.contentblock:after {width: 30.3%; height: 91%; background: var(--blue); position: absolute; bottom: -95px; left: 0; content: ""; visibility: visible; display: block;}
.contentblock .content-wrap {background: none!important; position: relative; z-index: 1;}
.defaultpage.contentblock:after {height: 100%; display: none;}

.footerblock {position: relative;}
.footerblock:after {width: 30.2%; height: 115%; background: var(--purple); position: absolute; bottom: 0; right: 0; content: ""; visibility: visible; display: block;}
.footerblock .footer-wrap {background: none!important; position: relative; z-index: 1;}

.arrowbutton a {color: var(--black); text-decoration: none; padding: 0; position: relative; transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -ms-transition: all 0.5s ease; -o-transition: all 0.5s ease;}
.arrowbutton a:after {font-family: "Font Awesome 6 Free"; font-variant: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-weight: 900; content: "\f061"; margin-left: 5px; transition: all 0.4s ease;}
.arrowbutton a:hover:after {transform: translateX(5px); color: var(--teal);}

.nav {padding: 0 0 20px 0;}
.nav ul {margin: 0; padding: 0; gap: 20px; align-items: center;}
.nav li {list-style: none; font-size: 1.1rem;}
.nav li a {text-decoration: none; color: var(--black);}
.nav li a.button {background: var(--white); padding: 15px 20px; display: block;}

.title-wrap {position: relative; margin: 30px 0 0 0;}
.title-wrap .content {padding-block: 40px; position: relative; z-index: 2;}
.title-wrap:after {width: 20%; height: 100%; content: ""; visibility: visible; display: block; background: var(--blue); position: absolute; bottom: 0; left: 0;}

.header-wrap {width: 100%; top: 0; left: 0; z-index: 10;}
.header.content {padding-block: 30px 0; align-items: flex-end; justify-content: space-between; position: relative; z-index: 2;}
.header a.logo {color: var(--black); text-decoration: none; font-family: var(--secondaryfont); font-weight: 700; font-size: 3vw; letter-spacing: -1.5px; display: block;}
.header a.logo img {width: 100%;}
.header .right {margin-left: auto;}

.banners-wrap {position: relative; z-index: 1;}
.banners-wrap:after {width: 18%; height: 100%; background: var(--teal); position: absolute; right: 0; content: ""; visibility: visible; display: block; top: -120px}
.banners {position: relative; grid-template-columns: 1fr 100px 100px 1.5fr; align-items: center; z-index: 2;}
.banners .bannertext {position: relative; z-index: 2; grid-column: 1 / span 3; grid-row: 1; padding: 20px 0 20px 80px; display: flex; flex-direction: column;}
.banners .bannertext:after {width: 50px; height: 2px; position: absolute; bottom: 20px; left: 80px; background: var(--teal); content: ""; visibility: visible; display: block;}
.banners .bannertext h1 {font-size: 8rem; font-family: var(--secondaryfont); font-weight: 400; padding: 0 0 25px 0; margin: 0; letter-spacing: -5px; line-height: 0.9;}
.banners .bannertext h1 span {display: block;}
.banners .bannertext h1 strong {display: block; margin-left: -60px; font-weight: 400;}
.banners .bannertext br {display: none!important;}
.banners .bannertext h2 {font-weight: 900; padding: 0; max-width: 420px; font-size: 1.7rem; line-height: 1.2; letter-spacing: -0.5px;}
.banners .bannertext p {max-width: 60%;}
.banners .images {grid-column: 3 / -1; grid-row: 1;}
.banners .images .image img {width: 100%;}
.banners .slick-dots {position: absolute; bottom: 0; left: 0; margin: 0; padding: 0; width: 100%; display: flex; justify-content: flex-start; z-index: 15;}
.banners .slick-dots li {list-style: none; width: 0.8%; height: 0; padding-bottom: 0.8%; margin: 0 6px 0 0;}
.banners .slick-dots li button {width: 100%; height: 0; padding: 0; padding-bottom: 100%; border-radius: 50%; background: var(--grey); text-indent: -9999px; border: none;}
.banners .slick-dots li:hover button, .banners .slick-dots li.slick-active button {background: var(--teal);}

.content-wrap {background: var(--white);}
.content {max-width: var(--container); width: 100%; margin: 0 auto; padding: 80px 120px;}
.content.default {column-gap: 80px; grid-template-columns: 1fr 1.5fr;}
.content.grid-halves {column-gap: 80px;}
.content .withpaddingright {padding-right: 120px;}
.content .inner {max-width: 70%;}
.content.verticalcenter {align-items: center;}

.defaultpage .banners .bannertext h1 {font-size: 7.5vw;}

.clientlogos {padding-block: 60px; max-width: 100%!important;}
.clientlogos .logo img {max-height: 120px; max-width: 90%; margin: 0 auto;}
.clientlogos .slick-slide {min-height: 100%; display: flex!important; align-items: center; float: none!important; justify-content: center!important;}
.clientlogos .slick-track {display: flex!important; align-items: center;}

/* CW logos */
.clientlogos {display: grid; grid-template-columns: repeat(14, 1fr); gap: 10px; grid-auto-rows: auto;}
.clientlogos > * {min-width: 0;}
.clientlogos:after, .clientlogos *:after {display: none;}
.clientlogos h2 {grid-column: 2/12;}
.clientlogos .arrowbutton {grid-column: 12/14; align-self: center; padding: 0;}
.clientlogos .logo-slider {grid-column: span 2; display: flex; flex-direction: column; padding: 10px; background: white; justify-content: center; border: 2px solid var(--blue);}
.clientlogos .logo-slider:nth-of-type(1), .clientlogos .logo-slider:nth-of-type(14) {grid-column: 2 / span 2;}
.clientlogos .logo-slider:nth-of-type(2n + 3) {border-color: var(--purple);}
.clientlogos .logo-slider:nth-of-type(5n) {border-color: var(--teal);}

.featureimage img {width: 100%; height: 100%; object-fit: cover;}

#logos-all .logo-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;}
#logos-all .logo-grid .logo {margin: auto 0;}
.footer #logos-all {display: none;}
.fancybox-is-open .fancybox-bg {background: #1e1e1e7a;}

.logosmain {display: flex; width: 102%; margin-left: -2%;}
.logosmain .logo {background: var(--white); width: 18%; margin: 0 0 2% 2%; height: 0; padding-bottom: 18%; position: relative;}
.logosmain .logo img {max-height: 70%; position: absolute; top: 50%; left: 0; right: 0; margin: 0 auto; transform: translate(0, -50%); -webkit-transform: translate(0, -50%); -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -o-transform: translate(0, -50%); max-width: 80%;}

/* .defaulttitle {display: flex; flex-direction: row; justify-content: space-between;} */
.backbutton {display: inline-block; text-decoration: none; background: var(--blue); color: var(--black); padding: 8px 20px; margin: 0 0 80px;}
.backbutton {transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -ms-transition: all 0.5s ease; -o-transition: all 0.5s ease;}
.backbutton p {font-size: 1.1rem; font-weight: 800; padding: 0;}
.backbutton:hover {background-color: #84cbe2; opacity: 1;}
.backbutton.bottom {margin-top: 60px;}

.gallery {display: grid; grid-template-columns: repeat(6, 1fr); gap: 40px; align-items: center;}
.gallery.gallerygrid .thumb img {margin: 0 auto; max-height: 200px;}

.workslidersection {background: #dadbdc;}
.workslidersection .content {padding: 0;}
.workslidersection .slick-slide div {display: block!important;}

.homefeatureimages .content {grid-template-columns: repeat(2, 1fr); max-width: 100%; padding: 0;}
.homefeatureimages .content .image {background: #dddddd;}
.homefeatureimages .content .image:first-child {background: #cccccc;}

.blocks {position: relative;}
.blocks .content {position: relative; z-index: 2;}
.blocks:before {width: 30%; height: 100%; content: ""; visibility: visible; display: block; background: red; position: absolute; top: 0; left: 0;}
.blocks.block-bg-blue:before {background: var(--blue);}
.blocks.block-bg-purple:before {background: var(--purple);}
.blocks.block-bg-teal:before {background: var(--teal);}
.blocks.blockrightcenter:before {top: 50%; right: 0; left: auto; transform: translate(0, -50%); -webkit-transform: translate(0, -50%); -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -o-transform: translate(0, -50%); height: 50%;}
.blocks.blockleftcenter:before {top: 50%; right: auto; left: 0; transform: translate(0, -50%); -webkit-transform: translate(0, -50%); -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -o-transform: translate(0, -50%);}
.blocks.block-half-height:before {height: 60%;}

.introsection h2 {font-size: 4rem;}

.workslider {position: relative;}
.workslider .slick-next {width: 60px; height: 60px; display: flex; align-items: center; align-content: center; justify-content: center; background: var(--teal); outline: none; border: none; position: absolute; right: 40px; top: 50%; transform: translate(0, -50%); -webkit-transform: translate(0, -50%); -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -o-transform: translate(0, -50%); padding: 0;}
.workslider .slick-prev {display: none!important;}

.services .service {border-bottom: 1px solid var(--purple); padding: 25px 0;}
.services .service .heading {font-size: 2.5rem; display: flex; margin: 0; align-items: center; cursor: pointer;}
.services .service .heading i {margin-left: auto;}
.services .service .text {display: none; padding: 20px 70px 0 0;}
.services .service .text h2, .services .service .text h3, .services .service .text h4 {font-size: 1.5rem; line-height: 1.3; font-family: var(--bodyfont);}
.services .service .text p {font-size: 1rem;}
.services .service:last-child {border-bottom: 0;}

.casestudypage .banners .bannertext {width: 115%; padding: 0;}
.casestudypage .banners .bannertext h1 {font-size: 7rem;}
.casestudypage .banners .bannertext p {max-width: 75%;}
.casestudypage .banners .bannertext:after {display: none;}

.projectimages {grid-template-columns: repeat(3, 1fr); gap: 40px;}
.projectimages .image {background: #cccccc; height: 500px;}
.projectimages .image img {width: 100%;}

footer {position: relative;}
footer:after {width: 40%; height: 110%; content: ""; visibility: visible; display: block; background: var(--blue); position: absolute; bottom: 0; right: 0;}
.footer.content {padding-block: 70px 40px; position: relative; z-index: 2; grid-template-columns: 2fr 1fr;}
.footer p {font-size: 0.8rem; margin: 0 0 20px; padding: 0;}
.footer p.links {display: flex; gap: 10px; margin: 0; flex-wrap: wrap;}
.footer p.links a {font-weight: 400;}
.footer a {transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -ms-transition: all 0.5s ease; -o-transition: all 0.5s ease;}
.footer a:hover {opacity: 0.7;}
.footer p a {color: var(--black); text-decoration: none;}
.footer h3 {font-size: 1.3rem; padding: 0; margin: 0; font-family: var(--bodyfont); font-weight: 700;}
.footer .contactlinks {font-size: 4rem; font-weight: 700; margin: 0 0 20px 0; font-family: var(--secondaryfont); line-height: 1;}
.footer .contactlinks a {line-height: 1;}
.footer .right {text-align: center; gap: 20px;}
.footer .right p {margin: 0 0 5px; line-height: 1;}
.footer .right img {max-height: 220px; margin: 0 auto 10px auto;}

#aboutus .grid {gap: 20px; align-items: center;}
.featureicons {gap: 20px;}
.featureicons img {max-width: 200px; min-width: 0;}

@media screen and (max-width: 1800px){
  .banners .bannertext h1 {font-size: 7rem;}
}

@media screen and (max-width: 1620px){
  .cookiesnotice-wrap {clip-path: none;}
}

@media screen and (max-width: 1570px){
  .banners-wrap .content {padding-bottom: 60px!important;}
  .banners {grid-template-columns: repeat(2, 1fr); gap: 0;}
  .banners .bannertext {grid-column: 1;}
  .banners .bannertext h1 {font-size: 6rem;}
  .banners .images {grid-column: 2; width: 120%; right: 20%;}
  .banners .bannertext h1 strong {margin-left: -30px;}

  .content, .page-title .content {padding-inline: 70px;}
}

@media screen and (max-width: 1440px){
  .footer .contactlinks {font-size: 3rem; line-height: 1.2;}
}

@media screen and (max-width: 1400px){
  .banners {position: relative;}
  .banners .bannertext {padding: 40px 0 40px 20px;}
  .banners .bannertext:after {left: 20px; bottom: 40px;}
  .banners .bannertext, .banners .images {grid-row: 2;}
}

@media screen and (max-width: 1260px){
  #aboutus .grid {grid-template-columns: auto 1fr; gap: 40px;}
  .clientlogos h2 {font-size: 2.5rem;}

  p, li, label {font-size: 1rem;}
}

@media screen and (max-width: 1160px){
  .banners .bannertext h1 {font-size: 5rem;}
  .banners .bannertext h2 {font-size: 1.5rem;}
}

@media screen and (max-width: 1140px){
  .footer.content {padding-block: 40px;}
  .footer .right {display: flex; flex-direction: column;}
  .footer .right img {max-height: 140px;}
}

@media screen and (max-width: 1020px){
  .content, .page-title .content {padding-inline: 40px;}

  #aboutus .grid {grid-template-columns: 1fr; gap: 20px;}
  .featureicons {flex-direction: row;}

  .clientlogos h2 {font-size: 2.2rem;}
  .clientlogos .logo-slider:nth-of-type(n+20) {display: none;}
}

@media screen and (max-width: 950px){
  .footer .contactlinks {font-size: 2.75rem;}
  .banners:before {font-size: 5.25rem;}
}

@media screen and (max-width: 880px){
  .banners:before {font-size: 4.75rem;}

  .footer.content {grid-template-columns: 1fr; gap: 20px;}
  .footer .right {flex-direction: row; justify-content: flex-start; align-items: flex-start;}
  .footer .right img {margin: 0 0 10px 0;}
  .footer .right div {order: -1;}
}

@media screen and (max-width: 925px){
  .banners {display: flex; flex-direction: column; align-items: flex-start;}
  .banners:before {margin-bottom: 0;}
  .banners .bannertext, .banners .images {width: 100%;}
  .banners .bannertext {margin: 0 0 30px 0; position: relative; top: auto; transform: none; -webkit-transform: none; -moz-transform: none; -ms-transform: none; -o-transform: none; padding: 0 0 20px;}
  .banners .bannertext:after {left: 0;}
  .banners .slick-dots {justify-content: flex-start;}
  .banners .bannertext h1 {font-size: 4rem;}
  .banners .bannertext h1 strong {margin-left: 0;}
  .banners .bannertext h2 {font-size: 1.2rem; line-height: 140%;}
  .contentblock .content-wrap, .footer-wrap, .bottom-footer-wrap, .content-wrap {padding: 0 25px;}
  .banners .bannertext h2, .banners .bannertext p {max-width: 100%;}
  .banners .bannertext:after {bottom: 0;}
  .banners .images {right: 0;}

  .header.content {flex-direction: column; align-items: flex-start; gap: 20px;}
  .header .right {margin: 0;}
}

@media screen and (max-width: 700px){
  .content {padding-inline: 20px;}

  .maincontent .maincontentblock {display: block;}
  .introblock:after {width: 35%; top: -120px;}
  .page-title h1 {font-size: 4rem;}

  #logos-all .logo-grid {grid-template-columns: repeat(1, 1fr);}
  .header {padding: 30px 20px 100px 20px;}
  .header .right {display: none;}

  h2 {font-size: 1.3rem;}
  h3 {font-size: 1.7rem;}
  h4, .footer .blockbutton p {font-size: 1rem;}
  .maincontent .maincontentblock p, .servicescontentblock p {font-size: 0.9rem;}
  .servicescontentblock li {font-size: 0.8rem;}
  .footer p, .bottom-footer p, .icons .icon a {font-size: 0.7rem;}
  .maincontent .maincontentblock {padding: 0;}

  .blocks:before {width: 100%;}

  .page-title {margin-bottom: -80px;}
  .page-title .content {padding: 160px 20px 40px;}
  .page-title h1 {padding: 0 0 20px;}

  .servicesicons .content {padding: 60px 0 0 0;}

  .banners .bannertext h1 {letter-spacing: -2px;}
  .defaultpage .banners .bannertext h1 {font-size: 4rem;}

  .clientlogos {grid-template-columns: repeat(10, 1fr);}
  .clientlogos h2, .clientlogos .arrowbutton {grid-column: 1/-1; margin: 0; padding: 0 20px;}
  .clientlogos .logo-slider:nth-of-type(10) {grid-column: 2/span 2;}
  .clientlogos .logo-slider:nth-of-type(n+14) {display: none;}
}

@media screen and (max-width: 575px){
  .footer .contactlinks {font-size: 2.25rem;}
  .page-title h1 {font-size: 3rem; letter-spacing: -2px;}
  .page-title:after {width: 10%;}

  .cookiesettings {padding-right: 0;}
  .cookiesettings .onoffswitch {position: relative; right: auto; top: auto;}
}

@media screen and (max-width: 500px){
  .header a.logo {max-width: 300px;}

  .icons .slick-next, .icons .slick-prev {position: absolute; top: 50%; left: 0; transform: translate(0, -50%); -webkit-transform: translate(0, -50%); -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -o-transform: translate(0, -50%); width: auto; height: auto; background: none; padding: 0; border: none; outline: none; z-index: 10; cursor: pointer; font-size: 2rem;}
  .icons .slick-next {left: auto; right: 0;}
  
  .icons {width: 100%; display: flex; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;}
  .icons .icon {width: 33.333%; padding: 0 10px; margin: 0 0 30px 0;}
  .icons .icon img {max-height: 80px;}
  
  /* .header {padding: 30px 0 170px 0;} */
  .header a.logo {font-size: 2rem;}
  .contentblock:after {width: 65%;}
  .maincontent .content {padding: 40px 0;}
  .content .left, .content .right, .footer .left, .footer .right {width: 100%;}
  /* .content .left {padding: 0 0 30px 0;} */

  .page-title {margin-bottom: -40px;}
  .page-title .content {padding-inline: 0;}

  .importantnotice p  {font-size: 1rem}

  .clientlogos {grid-template-columns: repeat(3, 1fr);}
  .clientlogos .logo-slider {grid-column: auto;}
  .clientlogos .logo-slider:nth-of-type(1), .clientlogos .logo-slider:nth-of-type(10) {grid-column: auto;}
  .clientlogos .logo-slider:nth-of-type(n+13) {display: none;}
  
  footer:after {height: 105%;}
  .footer {padding: 40px 20px;}
  .footer:before {display: none;}
  .footer .contactlinks {font-size: 1.75rem;}
  .footer .right {text-align: left;}
  .footer .right h3 {font-size: 2.2rem;}
  .footer .right p, .clientlogos h4 {font-size: 1.1rem;}
  .footer .right p {font-size: 0.9rem;}
  .footerblock:after {width: 37%; height: 53%;}
  .bottom-footer {padding: 0 0 30px 0;}
  .icons .icon:after {width: 20px; height: 1px; bottom: -10px;}
  .footer .contactlinks {line-height: 1.4;}

  .sc-fb-container {padding: 20px;}

  .gallery {grid-template-columns: repeat(2, 1fr);}

  .banners .bannertext h1 {font-size: 4rem;}
  .defaultpage .banners .bannertext h1 {font-size: 2.5rem;}

  .sc-fb input[type="submit"] {width: 100%;}
}

@media screen and (max-width: 400px){
  .footer .contactlinks {font-size: 1.5rem;}

  .banners .bannertext h1 {font-size: 3.6rem;}
}
