html{color:#222;font-size:1em;line-height:1.4}::-moz-selection{background:var(--main);text-shadow:none;color:#fff;}::selection{background:var(--main);text-shadow:none;color:#fff;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.browserupgrade{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
:root {

    --main: #c47097;
    --grey: #2E2E2E;
    --darkmain: #AA336A;/*#882955;*/
}




body::-webkit-scrollbar {
    width: 0.5rem;
}

body::-webkit-scrollbar-thumb {
    background-color: var(--main);
    border-radius: 0.7rem;
}

body::-webkit-scrollbar-track {
    background-color: var(--grey);
    border-radius: 0.7rem;
}

/* Browsers without `::-webkit-scrollbar-*` support */
@supports not selector(::-webkit-scrollbar) {
    html {
        scrollbar-width: thin;
        scrollbar-color: var(--grey) var(--main);
    }
}


html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
a{-webkit-transition:all 0.3s ease;
         -moz-transition:all 0.3s ease;
               -o-transition:all 0.3s ease;
                     transition:all 0.3s ease;
text-decoration: none;
color: var(--grey); font-weight: 600;}
a img{-webkit-transition:all 0.3s ease;
         -moz-transition:all 0.3s ease;
               -o-transition:all 0.3s ease;
                     transition:all 0.3s ease;}
a:hover{}
.smoothie{-webkit-transition:all 0.3s ease;
         -moz-transition:all 0.3s ease;
               -o-transition:all 0.3s ease;
                     transition:all 0.3s ease;}
h1,h2,h3,h4,h5,h6{margin: 0 0 10px 0; color: var(--grey); font-weight: 900; letter-spacing: 0px; font-family:'Libre Baskerville', sans-serif;}

p{margin: 0 0 10px 0;}
strong{font-weight: 800;}
img, iframe{max-width: 100%;}

.imageholder{width: 100%; max-width: 1920px; margin: 0 auto;}
.imageholder img{width: 100%;}

.container{width: 100%; max-width: 1920px; margin: 0 auto; font-family:'Lato', sans-serif; font-weight: 400; color: #222; box-shadow: 0 30px 90px rgba(0,0,0,0.25), 0 7px 20px rgba(0,0,0,0.05); font-size: 15px;}
body{background: #f7f7f7;}
.header{display: flex; justify-content: space-between; align-content: center; flex-wrap: wrap; position: fixed; top: 0; left:0; width: 100%; z-index: 5000;  background: var(--white); padding: 30px 7%; transition: all 0.3s ease;}
/*
.container{width: 100%;}
.header{width: 100%; left: 0;}
*/
.thelogo{transition: all 0.3s ease; }
.logo{width: 320px; padding: 0;}


.navigation{display: flex; justify-content: flex-end; flex-wrap: wrap; outline: 0px solid red;}
.navlink{color: #fff; letter-spacing: 0px; font-size: 14px; font-weight: 400; position: relative; text-transform: uppercase; display: flex; align-items: center; padding: 0; margin-left: 40px;}


/*2023 Adjustments*/
.header{background: rgba(255,255,255,0);background: linear-gradient(180deg,rgba(0,0,0,.58),transparent);}
.upperheadnav{color: #fff;}
.textlogo{color: #fff;}
.currentnav{text-decoration: underline}
.contactnav{background: none; padding: 0 40px 0 0;}


.menu{background-color:transparent;border:none;cursor:pointer;display:flex;padding:0}.line{fill:none;stroke:var(--white);stroke-width:6;transition:stroke-dasharray 600ms cubic-bezier(.4,0,.2,1),stroke-dashoffset 600ms cubic-bezier(.4,0,.2,1)}.line1{stroke-dasharray:60 207;stroke-width:6}.line2{stroke-dasharray:60 60;stroke-width:6}.line3{stroke-dasharray:60 207;stroke-width:6}.opened .line1{stroke-dasharray:90 207;stroke-dashoffset:-134;stroke-width:6}.opened .line2{stroke-dasharray:1 60;stroke-dashoffset:-30;stroke-width:6}.opened .line3{stroke-dasharray:90 207;stroke-dashoffset:-134;stroke-width:6}


.current{font-weight: 900; color: var(--main);}
.current .navlinker{width: 100%; background: #fff; opacity: 0;}

.hero{width: 100%; padding: 0; height:98vh; overflow: hidden; position: relative; z-index: 5;}
.herocover{position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: flex-start; align-items: center; padding: 0 7%;}
.herocoverbg{position: absolute; top: 0; left: 0; bottom: 0; right: 0; opacity: 0.2; background-color: #feda6a; background: var(--grey); background: var(--grey); z-index: 3; pointer-events: none;}
.heroimage{width: 40%; min-width: 340px; z-index: 100000; margin: 0 auto;}
.heroimage img{width: 100%;}
.herotext{position: absolute; bottom: 0; left: 0; z-index: 4; background: rgba(255,255,255,1); padding-left: 7%;max-width: 700px;}
.heroheader{color: #575859; padding: 40px 40px 0 0; margin-bottom: 30px; }
.heroheader h1{font-size: 30px; color: #575859;font-weight: 400;}

.herodiagonal{width: 100px; height: 100%; position: absolute; left: 100%; top: 0; background: linear-gradient(to top right,rgba(255,255,255,1) 0%,  rgba(255,255,255,1) 50%, rgba(255,255,255,0) 50.1%);}

.herosub{font-size: 20px; line-height: 22px; font-weight: 500; color: #fff;}
.homeherosub{margin-bottom: 40px;}

.herolinkholder{display: flex; justify-content: space-between; flex-wrap: wrap; padding: 20px 0;}

.herolink{padding: 10px; background:#000; color: #fff; font-size: 14px; font-weight: 800; letter-spacing: 0px; display: flex; justify-content: space-between; align-items: center; margin-right: 20px; border-radius: 10px;}
.herolink i{font-size: 30px; opacity: 0.5; margin-left: 30px;}
.herolink:hover{opacity: 1; background: #8e2217;}
.heroslideshow{width: 100%; height: 100%; position: relative; z-index:1;}
.heroslideshow img{width: 100%; height: 100%; object-fit: cover; position: relative; z-index: 4;}

.topslide{object-position: top center;}
.centerslide{object-position: center center;}
.bottomslide{object-position: bottom center;}


.shallowhero{width: 100%; padding: 0; height: 45vh; overflow: hidden; background: linear-gradient(to bottom,rgba(255,255,255,1) 0, rgba(255,255,255,1) 89.9%,  rgba(246,246,246,1) 50%, rgba(246,246,246,1) 100%); position: relative;}
.shallowhero img{width: 100%; height: 100%; object-fit: cover; position: relative; z-index: 2;}
.shallowherotext{font-size: 30px; line-height: 1.2; position: absolute; bottom: 0; left: 0; z-index: 4; background: rgba(255,255,255,1); padding-left: 7%;max-width: 700px;color: #575859; padding: 40px 40px 30px 7%;}

.homecontent{width:100%; margin:0; padding: 40px 7%; background: #fff;}
.hometext{width: 67%;}

.cards {
    width: 100%;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    -webkit-justify-content: center;
    max-width: 820px;
}
/*
.card--1 .card__img, .card--1 .card__img--hover {
    background-image: url('https://images.pexels.com/photos/45202/brownie-dessert-cake-sweet-45202.jpeg?auto=compress&cs=tinysrgb&h=750&w=1260');
}

.card--2 .card__img, .card--2 .card__img--hover {
    background-image: url('https://images.pexels.com/photos/307008/pexels-photo-307008.jpeg?auto=compress&cs=tinysrgb&h=750&w=1260');
}*/
.card__img{position: relative;}
.card__img img{top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.card__like {
    width: 18px;
}

.card__clock {
    width: 15px;
  vertical-align: middle;
    fill: #AD7D52;
}
.card__time {
    font-size: 12px;
    color: #AD7D52;
    vertical-align: middle;
    margin-left: 5px;
}

.card__clock-info {
    float: right;
}

.card__img {
  visibility: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 235px;
  border-top-left-radius: 12px;
border-top-right-radius: 12px;
  
}

.card__info-hover {
    position: absolute;
    padding: 16px;
  width: 100%;
  opacity: 0;
  top: 0;
}

.card__img--hover {
  transition: 0.2s all ease-out;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
  position: absolute;
    height: 235px;
  border-top-left-radius: 12px;
border-top-right-radius: 12px;
top: 0;
  
}
.card {
  
  transition: all .4s cubic-bezier(0.175, 0.885, 0, 1);
  background-color: #fff;
    width: 100%;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 40px 40px 0 rgba(22,24,34,.2);
    padding-bottom: 40px;
}
.card:hover {
  box-shadow: 0px 30px 18px -8px rgba(0, 0, 0,0.1);
    transform: scale(1.10, 1.10);
}

.card__info {
z-index: 2;
  background-color: #fff;
  border-bottom-left-radius: 12px;
border-bottom-right-radius: 12px;
   padding: 16px 24px 24px 24px;
}

.card__category {
   
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 2px;
    font-weight: 500;
  color: #868686;
}

.card__title {
    margin-top: 5px;
    margin-bottom: 10px;
    font-family: 'Libre Baskerville', serif;
}

.card__by {
    font-size: 12px;
    
    font-weight: 500;
}

.card__author {
    font-weight: 800; font-size:16px;
    text-decoration: none;
    color: var(--main);
}

.card:hover .card__img--hover {
    height: 100%;
    opacity: 0.2;
}

.card:hover .card__info {
    background-color: transparent;
    position: relative;
}

.card:hover .card__info-hover {
    opacity: 1;
}

.cardlink{position: absolute; bottom: 0; left: 0; padding: 10px 24px; width: 100%; background: var(--main); background: #000; color: #fff; }
.cardlink:hover{background: var(--darkmain); z-index: 1000000;}
.aboutgrid {display: grid; grid-gap: 30px; grid-template-columns: 1fr 1fr 1fr 1fr; width: 100%;}
.servicegrid {display: grid; grid-gap: 30px; grid-template-columns: 1fr 1fr; width: 100%;}


.box {position: relative; overflow: hidden; min-height: 250px; box-shadow: 0 60px 60px 0 rgba(0,0,0,.2); box-shadow: 0 40px 40px 0 rgba(22,24,34,.2); border-radius: 10px; background: #fff; position: relative;}
/*fallback for ie - setting width less than 100% breaks the grid*/
.box{width: 100%; display: inline-block;}



.boximage{width: 100%; height: 200px; position: relative; transition: all 0.3s ease; overflow: hidden; z-index: 3;}
.boxtext{padding: 20px; font-weight: 400; color: #575859; margin-bottom: 10px;}
.boxlink{font-weight: 700; color: var(--main);}

.boxcover{position: absolute; top: 0; left: 0; width: 100%; height: 200px; z-index: 4; background: rgba(215,51,35,0.4); display: flex; justify-content: center; flex-wrap: wrap; align-items: center;}
.boxicon{font-size: 48px; color: #fff; transition:transform .8s ease-in-out; display: none;}
.boxicon img{max-width: 50px;}
.box:hover .boxicon{ transform: rotate(720deg) scale(1.3,1.3);}
.box:hover{box-shadow:  0rem 0.875rem 1.5rem 0rem rgba(32,46,66,0.059);}
.box:hover .boximage img{transform: scale(1.1,1.1);}

.boxtextheader{font-weight: 700; font-size: 16px;}
.boxtextsub{font-size: 13px;}

.casecarousel{width: 100%; height: 500px;}

.swiper-container {}
.swiper-slide {width: 100%; height: 100%; position: relative;}
.swiperimage{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; filter: grayscale(0)}
.swipercover{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; background: rgba(75,93,13,0.8);background: rgba(26,26,26,0.8); }
.swipertext{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 3; display: flex; justify-content: center; flex-wrap: wrap; align-items: center; flex-direction: column; padding: 0; text-align: center;}
.swipertext h3{color: #fff; margin-bottom: 10px; font-size: 32px; max-width: 60%}
.swipertext h4{color: #fff; margin-bottom: 20px; font-size: 24px; max-width: 60%}
.swipertext p{color: #fff; margin-bottom: 30px; font-size: 16px; max-width: 50%;}
.swipertext a{padding: 15px 30px; background: var(--main); color: #fff; border-radius: 10px; font-size: 13px; }
.swipertext a:hover{background: var(--darkmain); }

.objectfit img{width: 100%; height: 100%; object-fit: cover; position: relative;}
.objectfit{background-size: cover; background-position: center center;}
.compat-object-fit img{opacity: 0;}


.outeracc{width: 100%; background: #f6f6f6;}
.accreditation{width: 100%;  margin: 0 auto; padding: 30px 10%; display: flex; justify-content: center; flex-wrap: wrap; outline: 0px solid red;}
.accreditation a{margin: 10px 20px;}
.accreditation img{margin: 10px 20px; height: 70px; -webkit-filter: grayscale(1); filter: grayscale(1); opacity: 0.5; transition: all 0.3s ease;}
.accreditation img:hover{-webkit-filter: grayscale(0); filter: grayscale(0); opacity: 1;}

.bodylink{padding: 10px 20px; border: 1px solid var(--grey); text-transform: uppercase; color: var(--grey); font-size: 14px; letter-spacing: 1px;}
.bodylink:hover{opacity: 1; background: var(--grey); color: #fff;}

.homegridholder{width: 100%; padding: 40px 7%; background: #f6f6f6; display: flex; justify-content: space-between; flex-wrap: wrap;}

.homegrid{width: calc(67% - 20px); 

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    grid-auto-rows: minmax(300px, auto);
    grid-gap: 40px;
}



.eachhomegrid{background: #fff; box-shadow: 0 15px 45px rgba(0,0,0,0.25), 0 7px 10px rgba(0,0,0,0.05);transition: all 300ms ease;  overflow: hidden; position: relative; display: flex; justify-content: flex-start; align-items: flex-start;}
.eachhomegrid:hover{box-shadow:  0rem 0.875rem 1.5rem 0rem rgba(32,46,66,0.059);}
.eachgridcover{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 5; background: rgba(215,51,35,0.4); transition: all 0.3s ease;}
.eachgridimage{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 4; transition: all 0.3s ease;}
.eachgridimage img{object-fit: cover; width: 100%; height: 100%;}
.eachhomegrid:hover .eachgridimage{transform: scale(1.1,1.1);}
.eachgridtitle{width: 100%; font-weight: 300; z-index: 10; font-size: 32px; font-weight: 600; line-height: 1.2; padding: 20px; color: #fff;}
.eachhomegrid:hover .eachgridcover{background: rgba(215,51,35,0.8);}

.homegridside{width: calc(33% - 20px); background: #fff; display: flex; justify-content: center; align-content: center; flex-wrap: wrap; position: relative; overflow: hidden;transition: all 300ms ease;box-shadow: 0 15px 45px rgba(0,0,0,0.25), 0 7px 10px rgba(0,0,0,0.05);}
.sidegridcover{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 5; background: rgba(26,26,26,0.4); transition: all 0.3s ease;}
.sidegridimage{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 4; transition: all 0.3s ease;}
.sidegridimage img{object-fit: cover; width: 100%; height: 100%;}
.homegridside:hover .sidegridimage{transform: scale(1.1,1.1);}
.sidegridtitle{width: 100%; font-weight: 900; text-transform: uppercase; z-index: 10; font-size: 38px; line-height: 36px; padding: 0 20px; color: #fff; margin-bottom: 20px;}
.sidegridtext{width: 100%; font-weight: 400; z-index: 10; font-size: 16px; line-height: 16px; padding: 0 20px; color: #fff;}

.homegridside:hover .sidegridcover{background: rgba(26,26,26,0.8);}
.homegridside:hover{box-shadow:  0rem 0.875rem 1.5rem 0rem rgba(32,46,66,0.059);}

.eachnews{width: 100%; padding: 0; display: flex; justify-content: space-between; flex-wrap: wrap; font-weight: 300; align-items: center; background: #f7f7f7;}
.eachnewsimage{width: 30%;}
.eachnewsimage img{width: 100%; height: 100%; object-fit: cover;}
.eachnewscontent{width: 70%; padding:  20px;}
.eachnewstitle{font-weight: 700; text-transform: uppercase; font-size: 20px; margin-bottom: 5px;}
.eachnewsdate{font-size: 12px; font-weight: 300; margin-bottom: 10px;}
.eachnewstext{font-size: 14px; font-weight: 300;}


.footer{width: 100%; background: #fff; padding: 20px 7%; font-size: 12px;  display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; background: var(--grey); background: #000;  color: #fff;}
.footleft{width: calc(100% - 240px);}
.infinity{width: 220px;}
.footnav{width: 100%; display: flex; justify-content: flex-start; flex-wrap: wrap; margin-bottom: 10px;}
.footnav span{margin: 0 5px;}
.footnavlink{color: #fff;}
.footersocial{display: flex; justify-content: flex-end; flex-wrap: wrap;}
.footersocial a{color: #fff; margin-left: 20px; font-size: 22px;}
.footersocial a:hover{ }
.footersocial a.gplink:hover{color: #ff0000;opacity: 1;}
.footersocial a.twlink:hover{color: #55acee;opacity: 1;}
.footersocial a.lilink:hover{color: #0077B5;opacity: 1;}
.footersocial a.fblink:hover{color: #3b5998;opacity: 1;}
.footersocial a.instalink:hover{color: #DD2A7B;opacity: 1;}
.copy span{margin: 0 5px;}
.copy a{color: var(--main); font-weight: 700;}

.copyright{padding-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,0.2); margin-bottom: 15px; display: inline-block;}
.vat{color: #ccc; margin-bottom: 0;}





.bodyh{margin: 30px 0 20px 0; font-weight: 500; letter-spacing: 0px;}


.breadcrumbs{font-size: 12px; background: rgba(255,255,255,0.5); width: 75%; margin:0; padding: 20px 7% 20px; background: #f7f7f7;}
.breadcrumbs a{color: var(--grey);}
.breadcrumbs span{margin: 0 5px;}



/* ==========================================================================
   NEWS
   ========================================================================== */
.newstextcontent{width: 100%;}
.newsimagecontent{width:100%; margin: 60px auto; outline: 0px solid red;box-shadow: 0 30px 90px rgba(0,0,0,0.25), 0 7px 20px rgba(0,0,0,0.05);}

.newsboxes{width:calc(100% - 80px); max-width: 1420px; margin: 0 auto; padding-bottom: 40px; display: grid;  
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-auto-rows: minmax(300px, auto);  
  grid-gap: 20px;  }

.newsbox{box-shadow: 0 30px 90px rgba(0,0,0,0.25), 0 7px 20px rgba(0,0,0,0.05);  background:  #fff; position: relative; padding-bottom: 40px; padding-top: 225px; overflow: hidden;}
.newsbox:hover .homeboximage img{transform: scale(1.2,1.2);}
.newsbox:hover .homeboxlink{background-position: 0 -100%; color: #fff; letter-spacing: 2px;}
.newsbox:hover .hblightlink{background-position: 0 -100%; color: #004275;}
.embed-container {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 0;
	height: 0;
}
.embed-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    border: none;
}


.eachmedia{background: #fff; min-width: 55%; width: 100%; position: relative; margin-bottom: 15px; display: block; overflow: hidden;}
.eachmediaimage{width: 100%; position: absolute; top: 0; left: 0; height: 100%; overflow: hidden; z-index: 2; transition: 0.3s all ease;}
.eachmediacover{position: absolute; z-index: 3; top: 0; left: 0; right: 0; bottom: 0;background: rgba(215,51,35,0.4); transition: all 0.3s ease;}
.eachmediaimage img{width: 100%; height: 100%; object-fit: cover;}
.eachmediacontent{position: relative; z-index: 5; width:100%; height: 100%; text-align: right; padding: 20px 20px 20px 100px;}
.eachmediadetails{width: 50%; margin-left: 50%; padding: 40px 20px; text-align: left; position: relative; background: #fff;}
.eachmedianame{font-size: 32px; font-weight: 900; text-transform: uppercase; margin-bottom: 5px;color: #fff;}

.eachmediajob{font-weight: 400; font-size: 14px; opacity: 1;color: #fff; display: none;}
.eachmedialink{font-weight: 300; font-size: 12px;  color: var(--grey);}

.eachmedia:hover{opacity: 1; box-shadow: 0 30px 90px rgba(0,0,0,0.25), 0 7px 20px rgba(0,0,0,0.05);}
.eachmedia:hover .eachmediaimage img{transform: scale(1.1,1.1);}
.eachmediadate{position: absolute; top: 0; left: 0; background: var(--main); z-index: 5; text-transform: uppercase; padding: 10px 20px; text-align: center;}
.mediaday{font-size: 14px; display: block; margin: 0; font-weight: 800; color: #fff;}
.mediamonth{font-size: 16px; display: block; margin: 0; font-weight: 400; color: #fff;}
.mediayear{font-size: 14px; display: block; margin: 0; font-weight: 800; color: #fff;}

.newsheader{display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center;}
.newsdate{display: inline-block; padding: 10px 20px; color: #fff; background: var(--main); font-size: 14px; text-align: center; width: 80px;}
.newsh1{width: calc(100% - 100px);}
.newsh1 h1{margin: 0; padding: 0;}
.tweeter{width:500px; max-width: 100%; margin: 60px auto; box-shadow: 0 30px 90px rgba(0,0,0,0.25), 0 7px 20px rgba(0,0,0,0.05);}
/* ==========================================================================
   SERVICES
   ========================================================================== */
.servicesgrid{width: 100%; 

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-auto-rows: minmax(300px, auto);
    grid-gap: 40px;
}

.eachservice{background: #fff; min-width: 55%; width: 100%; position: relative; margin-bottom: 15px; display: block; }
.eachserviceimage{width: 100%; position: absolute; top: 0; left: 0; height: 100%; overflow: hidden; z-index: 4;}
.eachserviceimage img{width: 100%; height: 100%; object-fit: cover;}
.eachservicedetails{width: 63%; padding: 40px 20px; text-align: left; position: relative; background: rgba(255,255,255,0.9); z-index: 5; transition: all 0.3s ease;}
.eachservicename{font-size: 18px; font-weight: 600; text-transform: uppercase; margin-bottom: 5px;color: var(--grey);}
.eachserviceposter{font-size: 12px; font-weight: 400; }
.eachservicejob{font-weight: 400; font-size: 12px; opacity: 0.6;color: var(--grey);}
.eachservicelink{font-weight: 300; font-size: 12px;  color: var(--grey);}
.eachservice:hover{opacity: 1; box-shadow: 0 30px 90px rgba(0,0,0,0.25), 0 7px 20px rgba(0,0,0,0.05);}
.eachservice:hover .eachservicedetails{background: rgba(255,255,255,1);}
.leftdetails{margin: 0 37% 0 0;}
.rightdetails{margin: 0 0 0 37%;}


.eachservicegrid{background: #fff; box-shadow: 0 15px 45px rgba(0,0,0,0.25), 0 7px 10px rgba(0,0,0,0.05);transition: all 300ms ease;  overflow: hidden; position: relative; border-radius: 5px; width: 100%; height: 300px; display: block; margin-bottom: 20px;}
.eachservicegrid:hover{box-shadow:  0rem 0.875rem 1.5rem 0rem rgba(32,46,66,0.059);}
.eachservicecover{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 5; background: rgba(124,156,203,0.5); transition: all 0.3s ease;}
.eachserviceimg{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 4; transition: all 0.3s ease;}
.eachserviceimg img{object-fit: cover; width: 100%; height: 100%;}
.eachservicegrid:hover .eachserviceimg{transform: scale(1.1,1.1);}
.eachservicetitle{position: absolute; top: 20px; left: 20px; width: calc(100% - 40px); font-weight: 500; text-transform: uppercase; letter-spacing: 2px; z-index: 10; font-size: 24px; padding: 0 10px; color: #fff; background: rgba(124,156,203,0.9); border-radius: 2px;}
.eachservicetitle{position: absolute; top: 0; left: 0; width: calc(100% - 0px); font-weight: 500; text-transform: uppercase; letter-spacing: 2px; z-index: 10; font-size: 20px; padding: 10px 20px; color: #fff; background: rgba(124,156,203,0.9); background: rgba(0,48,64,0.3); border-radius: 2px;}
.eachservicetext{position: absolute; bottom: 20px; left: 20px; width: calc(100% - 40px); color: #fff; font-weight: 400; z-index: 10; font-size: 16px; transition: all 0.3s ease;}
.eachservicelink{position: absolute; bottom: 20px; left: 20px; width: calc(100% - 40px); color: #fff; font-weight: 600; text-transform: uppercase; letter-spacing: 1px;  z-index: 10; font-size: 18px; opacity: 0; transform: translateY(100%); transition: all 0.3s ease;}

.eachservicegrid:hover .eachservicetext{transform: translateY(100%); opacity: 0;}
.eachservicegrid:hover .eachservicelink{transform: translateY(0); opacity: 1;}
.eachservicegrid:hover .eachservicecover{background: rgba(124,156,203,0.8);}
.eachservicegrid:hover .eachservicearrow{display:inline-block;-webkit-animation:bounceRight 1s alternate ease infinite;animation:bounceRight 1s alternate ease infinite}

.heroquotetext{max-width: 80%;}
.heroquote{font-size: 30px; line-height: 38px;}
.quotesub{font-size: 14px; font-weight: 500; color: #fff; margin-bottom: 40px;}

.quotee{font-size: 14px; color: #aaa; font-style: italic;}

.folderpage{position: absolute; top: 20px; right: 20px; color: #fff; z-index: 5;}
/* ==========================================================================
   FORM
   ========================================================================== */

.contactcontent{display: flex; justify-content: space-between; flex-wrap: wrap;}
.contactinfo{width: 45%;}
.contactmap{width: 50%;}

.eachcontact{display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: center; margin-bottom: 10px;}
.contacticon{margin-right: 20px; min-width: 40px; text-align: center;}
.gm-style-mtc div{font-size: 12px !important;}

.contactsocial{display: flex; justify-content: flex-start; flex-wrap: wrap; padding: 0 15px;}
.contactsocial a{color: var(--grey); margin-right: 20px; font-size: 16px;}
.contactsocial a:hover{ }
.contactsocial a.gplink:hover{color: #ff0000;opacity: 1;}
.contactsocial a.twlink:hover{color: #55acee;opacity: 1;}
.contactsocial a.lilink:hover{color: #0077B5;opacity: 1;}
.contactsocial a.fblink:hover{color: #3b5998;opacity: 1;}

.theform{width:100%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; padding: 0; box-shadow: 0 15px 45px rgba(0,0,0,0.25), 0 7px 10px rgba(0,0,0,0.05); padding: 40px; margin: 40px 0 0;}
.halfinput{width:  49%; position: relative;}
.fullinput{width: 100%; position: relative;}
.theform label{font-size: 12px;}
.textinput{width: 100%; border:1px solid #f9f9f9; padding: 10px; font-size: 0.8rem; background: rgba(0,0,0,0.05); background: #fff; outline: 1px solid #aaa; color: #0C0C0B; margin-bottom: 20px;}
.textinput:focus{outline: 1px solid #0f0f0f; background: #f6f6f6;}
.submitbutton{width: 100%; border:1px solid var(--grey); border-radius: 2px; color: #fff; padding: 15px; transition: 0.4s; cursor: pointer; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; background: var(--grey)}
.submitbutton:hover{background: #fff; color: var(--grey);}
textarea{height: 200px; text-align: left;}
.smallprint{font-size: 12px;}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */

.testimonial{width:100%; margin: 40px auto; outline: 0px solid red;box-shadow: 0 0px 0px rgba(0,0,0,0.25), 0 7px 20px rgba(0,0,0,0.05); background: var(--grey); text-align: center; position: relative; padding: 40px 80px; border-radius: 0px;}
.testimonialbody{color: var(--grey); font-weight: 400;  color: #fff;}
.testimonialname{color: var(--main); font-weight: 700; font-size: 20px; margin-bottom: 20px;}
.testimonialcase{margin-bottom: 20px;}
.testimonialcase a{color: var(--grey); font-weight: 700; font-size: 16px;}
.testimonialcase a:hover{color: var(--main); }
.testimonialstars{color: #fff; font-weight: 700; font-size: 20px; width: 100%; text-align: center;}
.testimonialquote{width: 100%; text-align: center; opacity: 1; font-size: 144px; line-height: 84px; color: #fff; font-family: "Times New Roman", Times, serif;}
.checked {color: orange;}
/* ==========================================================================
   GDPR
   ========================================================================== */

.privacylinks{width: 100%; padding: 40px 40px 20px; background: var(--grey); display: flex; justify-content: space-between; flex-wrap: wrap; }
.privacylink{width: calc(50% - 10px); margin-bottom: 20px; padding: 10px; background: #fff; color: var(--grey); transition: all 0.3s cubic-bezier(.25,.8,.25,1); text-transform: uppercase; font-weight: 300; font-size: 14px;}
.privacylink:hover{background: rgba(255,255,255,0.5); }
.privacycontent{padding: 40px 0;}



.ptable{margin: 20px 0;}
.ptable tr td{padding: 20px; border: 1px solid #ccc;}
.ptable thead th{padding: 20px; background: var(--grey); }
.ptable thead th p strong{font-weight: 700; color: #fff;}

.sitemapul{}
.sitemapul ul{padding: 10px 0 0 20px; margin-bottom: 20px;}
.sitemapul li{margin-bottom: 5px;}


.eachuseful{width:100%; background:var(--grey); padding:20px 20px 40px 20px; margin-bottom:20px; position:relative;}

.usefullink{position:absolute; bottom:0; right:0; padding:10px; color: #fff; background: var(--main);}
.usefullink:hover{background: #fff; color: var(--grey);}


.has-tooltip:hover + .tooltip,
.has-tooltip:focus + .tooltip,
.has-tooltip.hover + .tooltip {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1) rotate(0deg);
  pointer-events: inherit;
}
.has-tooltip:hover + .textinput { background-color: yellow;}
.has-tooltip{color: var(--grey);}
.tooltip {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.75) rotate(5deg);
  transform-origin: bottom center;
  padding: 10px 30px;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.75);
  text-align: center;
  color: #fff;
  transition: 0.15s ease-in-out;
  opacity: 0;
  width: 100%;
  max-width: 100%;
  pointer-events: none;
  z-index: 5;
}
.tooltip.blue {
  background: rgba(26,26,26, 0.75);
}
.tooltip.blue:after {
  border-top: 5px solid rgba(26,26,26, 0.75);
}

.tooltip:hover {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1) rotate(0deg);
  pointer-events: inherit;
}
.tooltip img {
  max-width: 100%;
}
.tooltip:after {
  content: "";
  display: block;
  margin: 0 auto;
  widtH: 0;
  height: 0;
  border: 5px solid transparent;
  border-top: 5px solid rgba(0, 0, 0, 0.75);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
}


/* ==========================================================================
   MODAL
   ========================================================================== */

.modal {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 0vh;
  background-color: transparent;
  overflow: hidden;
  transition: background-color 0.25s ease;
  z-index: 1200001;
}
.modal.open {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  transition: background-color 0.25s;
}
.modal.open > .content-wrapper {
  transform: scale(1);
}
.modal .content-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 80%;
  max-width: 1000px;
  margin: 0;
  padding: 2.5rem;
  background:#f7f7f7;
  border-radius: 0.3125rem;
  box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.5);
  transform: scale(0);
  transition: transform 0.25s;
  transition-delay: 0.15s;
    max-height: 90vh;
    overflow: auto;
}
.modal .content-wrapper .close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  background-color: transparent;
  font-size: 1.5rem;
  transition: 0.25s linear;
    cursor: pointer;
}
.modal .content-wrapper .close:before, .modal .content-wrapper .close:after {
  position: absolute;
  content: '';
  width: 1.25rem;
  height: 0.125rem;
  background-color: black;
}
.modal .content-wrapper .close:before {
  transform: rotate(-45deg);
}
.modal .content-wrapper .close:after {
  transform: rotate(45deg);
}
.modal .content-wrapper .close:hover {
  transform: rotate(360deg);
}
.modal .content-wrapper .close:hover:before, .modal .content-wrapper .close:hover:after {
  background-color: tomato;
}
.modal .content-wrapper .modal-header {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  padding: 0 0 1.25rem;
}
.modal .content-wrapper .modal-header h2 {
  font-size: 1.5rem;
  font-weight: bold;
    color: var(--main);
}
.modal .content-wrapper .modal-content {
  position: relative;
  display: flex; flex-wrap: wrap;
}
.modal .content-wrapper .modal-content p {
  font-size: 0.875rem;
  line-height: 1.75;
    width: 100%;
}
.modal .content-wrapper .modal-footer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin: 0;
  padding: 1.875rem 0 0;
}
.modal .content-wrapper .modal-footer .action {
  position: relative;
  margin-right: 0.625rem;
  padding: 0.625rem 1.25rem;
  border: none;
  background-color: slategray;
  border-radius: 0.25rem;
  color: white;
  font-size: 1rem;
  font-weight: 600;
    text-transform: uppercase;
  overflow: hidden;
  z-index: 1;
}
.modal .content-wrapper .modal-footer .action:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.2);
  transition: width 0.25s;
  z-index: 0;
}
.modal .content-wrapper .modal-footer .action:first-child {
  background-color: var(--main);
}
.modal .content-wrapper .modal-footer .action:last-child {
  background-color: #ac291c;
}
.modal .content-wrapper .modal-footer .action:hover:before {
  width: 100%;
}
/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (min-width: 1920px) {
.heroslideshow{left: calc( (100% - 1920px)/2); width: 1920px;}
}

@media only screen and (min-width: 1220px) {.navigation{display: flex!important;}.ham{display: none;}}
@media only screen and (max-width: 1220px) {
    
    .header{align-items: center; z-index: 501;}
    .ham{display: block;}
    .navigation{display: none; width: 100%; height: auto; text-align: right; padding-top: 40px;}
    .navlink{display: block; width: 100%; margin: 0; font-size: 18px; margin-bottom: 10px; background: none; padding: 0; color: #fff;}
    .searchlink{display: block; background: none; padding: 0; margin-bottom: 10px;}
    .header{padding: 20px 5%;}
    .fillbg{background: rgba(26,26,26,0.9);}
    .herotext{max-width: calc(800px - 80px);}
    .herolinkholder{justify-content: flex-start;}
    .heroquoteheader{font-size: 18px; line-height: 20px;}
    .homegrid{width: calc(55% - 20px);}
    .homegridside{width: calc(45% - 20px);}

 
    .shallowherotext{font-size: 40px; line-height: 35px;}
    .contactinfo{width: 100%; margin-bottom: 20px;}
    .contactmap{width: 100%; height: 300px;}
  .aboutgrid {display: grid; grid-gap: 30px; grid-template-columns: 1fr 1fr; width: 100%;}  


.navigationbefore{display: none;}
    
}
@media only screen and (max-width: 800px) {
    .logo{width: 240px;}

    .homecontent{width: 100%; padding: 40px 5%;}
    .herocover{padding: 0 5%;}
    
    .footer{padding: 20px 5%;}
.heroquoteheader{font-size: 15px; line-height: 20px;}
    .footleft{width: 100%; margin-bottom: 20px;}
    .infinity{width: 100%; }
    .footersocial{justify-content: flex-start;}
    .footersocial a{color: #fff; margin-left: 0; margin-right: 20px;}

    .homegridholder{width: 100%; padding: 40px 5%;}
    .eachhomegrid{width: 100%; margin-bottom: 20px; height: 300px;}
    .eachmedia{margin-bottom: 40px;}
    
    .eachmediadetails{width: 100%; margin-left: 0; padding: 40px 20px 60px; text-align: left; position: relative; background: #fff;}
    .newsh1 h1{font-size: 20px;}
    .privacylink{width: 100%; }
    .homegrid{width: 100%;}
    .homegridside{width: 100%; height: 300px;}
    .hometext{width: 100%;}
    
    .shallowherotext{font-size: 30px; line-height: 25px;}
    
.ptable tr td{padding: 5px;}
.ptable thead th{padding: 5px; }
    

    .aboutgrid {display: grid; grid-gap: 30px; grid-template-columns: 1fr; width: 100%;}  
    .servicegrid {display: grid; grid-gap: 30px; grid-template-columns: 1fr; width: 100%;}  

    
    .herotext{padding: 0 5%;}
    
    .herolink{margin-bottom: 20px; font-size: 13px; padding: 10px;}
}

.hidden{display:none!important}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-only.focusable:active,.sr-only.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;white-space:inherit;width:auto}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}