/* Responsiveness */
h2, h2.zpheading span, .zphero h2 {
	font-size: clamp(30px, 5vw, 48px) !important;
	line-height: 1.2;
}

p, .zptext, .zptext div, .zptext span {
  font-size: clamp(16px, 2.5vw, 20px) !important;
  line-height: 1.1; 
}

.zpcontainer {
    max-width: 1500px !important;
    width: 100% !important;
}

.services-content-box {
    min-height: 410px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: -125px;
    padding-top: 125px !important;
}

.services-content-box h4 {
  font-size: clamp(22px, 2.5vw, 28px) !important;
  line-height: 1.3;
}

.services-content-box-icon {
	width: 33.33% !important;
	height: auto !important;
    margin-top: -50px;
}

.hero-slider, .main-hero-slider {
    height: 90vh !important;
}

.zpelement:after {
    display: none !important;
}

.main-hero-slider .zpcontainer {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.equal-height {
    display: flex;
    align-items: stretch !important;
}

.space-between-column {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.box-end {
    width: unset !important;
    margin-left: unset !important;
    display: flex !important;
    justify-content: flex-end !important;
}

.equal-height .borderrad {
    margin-top: 50px !important;
    margin-bottom: 0px !important;
}

.button-box-2-left, .button-box {
    /*width: 60% !important;
    margin-left: 40% !important;*/
    display: flex !important;
    justify-content: flex-end !important;
}

.button-animations a {
  font-size: clamp(20px, 2.5vw, 26px) !important;
  line-height: 1.3;
}

.hydra-heading h2 span {
	font-size: clamp(30px, 3vw, 46px) !important;
	line-height: 1.2;
}

.align-bottom {
    display: flex;
}

@media (max-width: 991px) {
    .no-display-mobi {
        display: none !important;
    }
    
    .services-content-box {
        margin-top: -175px;
    	padding-top: 175px !important;
    }
    
    .services-content-box-icon {
        margin-top: -100px;
    }
}

@media (max-width: 1600px) {
    .button-animations {
        width: 40% !important;
    }
}

@media (max-width: 1132px) {
    .services-content-box {
        min-height: 450px;
    }
}

@media (max-width: 1232px) {
    .image-abs {
        display: none !important;
    }
    
    .long-on-tablet {
        width: 100% !important;
    }
}

@media (max-width: 1360px) {
    .button-animations {
        width: 50% !important;
    }
    
    .cta-column {
        width: 100% !important;
    }
}

@media (max-width: 1070px) {
    .button-animations {
        width: 80% !important;
    }
}

@media (max-width: 767px) { 
    .button-animations {
        width: 100% !important;
    }
    
    .services-content-box-icon {
        margin-top: -50px;
    }
    
    .zpimage-with-text-container.zpimage-align-right, .zpimage-with-text-container.zpimage-align-left {
        flex-direction: column-reverse !important;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .zpimage-with-text-container.zpimage-align-right, .zpimage-with-text-container.zpimage-align-left {
        flex-direction: column-reverse !important;
    }
}

/*Open_Hours
.openinghours {
    font-family:Verdana;
    border-radius:4px;
    margin:10px;
    box-shadow: 0 0 10px black;
    padding:0 10px 0 10px;
    overflow: hidden;
    display: inline-block;
}
.openinghourscontent {
    float:left;
}
.openinghourscontent h2 {
    display:block;
    text-align:center;
    margin-top:15px;
    margin-bottom:12px;
}
.openinghourscontent button {
    color:white;
    font-family:Courier New;
    font-size:large;
    font-weight:bolder;
    background-color:#4679BD;
    border-radius:4px;
    width:100%;
    margin-bottom:10px;
}
.today {
    color: green;
}
.opening-hours-table tr td:first-child {
    font-weight:bold;
    color:white;
}
#open-status {
    display:block;
    margin-top:10px;
    margin-bottom:10px;
    text-align:center;
    border:solid lightgrey 1px;
}
.openorclosed:after {
    content:" open during these hours:";
}
.open {
    color:#c20e1a;
    font-weight:bold;
}
.open:after {
    content:" OPEN";
    color: green;
}
.closed:after {
    content:" CLOSED";
    color: red;
}
.opening-hours-table tr td {
    padding:6px;
    color:white;
    border:hidden;
}
end of Open_Hours*/

/* NEW */
.abs-col {
    position: absolute !important;
    right: 0;
}

.image-abs {
    position: absolute;
    right: 0px;
    top: 75px;
}

.blue-filter {
  position: relative;
  display: inline-block;
}

.blue-filter::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(0 100 255 / 42%); /* blue tint */
  mix-blend-mode: multiply; /* try overlay or screen too */
  pointer-events: none;
    width: 100%;
    height: 100%;
}

.small-icon .custom-icon {
    width: 22.5px !important;
    height: 22.5px !important;
}
    
.blue-anchor a {
    color: #03046E !important;
}

.white-anchor a {
    color: white !important;
}    
    
.button-typ-2 a {
    color: white !important;
}

.button-typ-1 a {
    color: #04046E !important;
}

.flex-horz-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.contact-column div {
    font-size: clamp(20px, 4vw, 28px) !important;
}

@media (max-width: 768px) {
    .mobi-vert {
        flex-direction: column !important;
    }
    
    .fifty-space, .quarter-width {
        width: 99% !important;
    margin-left: 0.5%;
    margin-right: 0.5%;
    }
    
    .why-box-container.flex-horz, .flex-horz-center {
        display: flex;
       flex-wrap: wrap !important;
       justify-content: center;
    }
    
    .hydra-heading h2 {
        text-align: center !important;
    }
    
    .button-box-4.zpelem-iconheading {
        width: 70% !important;
        margin-left: 15% !important;
        margin-right: 15% !important;
    }
    
    .why-box {
        width: 49% !important;
        margin-left: 0.5%;
        margin-right: 0.5%;
    } 
    
    .why-box-2 {
        width: 99% !important;
        margin-left: 0.5%;
        margin-right: 0.5%;
    }
    
    .why-box .zpimage-mobile-fallback-fit figure img, .why-box-2 .zpimage-mobile-fallback-fit figure img {
        width: 100px !important;
        height: 100px !important;
    }
    
    .button-box-2-left.zpelem-iconheading {
        width: 80% !important;
        margin-left: 20% !important;
    }
    
    .button-box-5.zpelem-iconheading {
        width: 80% !important;
        margin-right: 20% !important;
    }
    
    .quote span {
        font-size: 22px !important;
    }
    
    .image-caption h2 {
    	text-align: center;
    }
    
    .image-caption figure {
    	margin-right: 15px !important;
    }
    
    .h2-mobi h2.zpheading span {
            line-height: 35px !important;
        font-size: 30px !important;
    }
    
    .image-abs {
        display: none !important;
    }
}

.button-typ-1 h4 h3 span, .button-typ-1 h4 h3, .button-typ-1 h4, .button-typ-1 h3, .button-typ-1 .zpicon-heading, .button-typ-1 .zpelem-iconheading h4.zpicon-heading {
    font-size: clamp(20px, 2vw, 24px) !important;
}

.button-typ-2 h4 h3 span, .button-typ-2 h4 h3, .button-typ-2 h4, .button-typ-2 h5, .button-typ-2 h3, .button-typ-2 .zpicon-heading, .button-typ-2 .zpelem-iconheading h4.zpicon-heading {
    font-size: clamp(18px, 1vw, 22px) !important;
}

.cta-1 p span {
    font-size: clamp(23px, 4vw, 35px) !important;
}

.cta-2 p span {
    font-size: clamp(20px, 4vw, 30px) !important;
}

.zpcontainer-fluid {
    width: 100%;
    margin: auto;
    max-width: 1450px;
}

.theme-navigation-and-icons .theme-menu-area .theme-menu ul li ul li:hover > a {
	background: #C20E1A;
    color: white !important;
}

.same-height {
  display: flex;
}

.same-height .zprow {
  flex: 1;
}

.button-box .zpicon-heading, .button-box-5 .zpicon-heading {
    background: #03046E;
    border-radius: 10px;
    padding: 5px 20px !important;
    text-align: center !important;
}

.button-box .zpicon, .button-box-5 .zpicon {
    background: #C2101D;
    border-radius: 500px;
    padding: 5px 2px 5px 5px !important;
    margin-left: 10px;
}

.button-box-4 {
    width: 40% !important;
    margin-left: 30% !important;
    margin-right: 30%; !important;
}

.button-box-4 .zpicon-heading {
    background: #C2101D !important;
    border-radius: 10px;
    padding: 5px 20px !important;
    text-align: center !important;
}

.button-box-4 .zpicon {
    background: #FFFFFF !important;
    border-radius: 500px;
    padding: 5px 2px 5px 5px !important;
    margin-left: 10px;
}

.button-box-5 {
    width: 60% !important;
    margin-right: 40% !important;
}

.button-box-2-left .zpicon-heading  {
    background: #ffffff;
    border-radius: 10px;
    padding: 5px 20px !important;
    text-align: center !important;
}

.button-box-2 .zpicon-heading,.button-box-3 .zpicon-heading  {
    background: #ffffff;
    border-radius: 10px;
    padding: 5px 20px !important;
    text-align: left !important;
}

.button-box-2 .zpicon, .button-box-2-left .zpicon  {
    background: #C2101D;
    border-radius: 500px;
    padding: 5px 4px 5px 5px !important;
    margin-left: 10px;
}

.button-box-3 .zpicon  {
    background: #C2101D;
    border-radius: 500px;
    padding: 5px 4px 5px 5px !important;
    margin-right: 5px;
}

.button-box-2 {
    width: 100% !important;
}

/*h2, .zshero-banner-style-21 h2.zpheading, .zshero-banner-style-21 h2.zpheading span {
    line-height: clamp(35px, 5vw, 48px) !important;
    font-size: clamp(30px, 5vw, 48px) !important;
}*/

h2 {
    font-weight: 600 !important;
}

.button-animations p span {
    font-size: clamp(20px, 4vw, 26px) !important;
}

.image-caption .zpimageheadingtext-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.why-box {
    width: 19%;
    margin-left: 0.5%;
    margin-right: 0.5%;
}

.why-box-2 {
    width: 24%;
    margin-left: 0.5%;
    margin-right: 0.5%;
    background-color: #F2F2F2 !important;
}

.flex-horz {
    display: flex;
}
.center-center {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.flex-horz-1 {
   display: flex;
   flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
}  

.flex-horz-1 .why-box-2, .flex-horz-1 .why-box {
    width: 49% !important;
}

.flex-horz-1 .why-box {
    width: 30% !important;
}

.zpform-container ul {
    display: flex;
    flex-wrap: wrap;
}

.zpform-container li:nth-child(2), .zpform-container li:nth-child(4) {
    width: 49% !important;
    margin-left: 1%;
}

.zpform-container li:nth-child(1), .zpform-container li:nth-child(3) {
    width: 49% !important;
    margin-right: 1%;
}

.zpform-container li:nth-child(5), .zpform-container li:nth-child(6), .zpform-container li:nth-child(7) {
    width: 100% !important;
}

.hero-slider-2 {
    height: 60vh !important;
}

.hero-slider-smaller {
    height: 75vh !important;
}
 
.theme-breadcrumb-container {
    display: none !important;
}

.third-size {
    width: 30%;
}

.borderrad .zpimage-container {
    border-radius: 15px !important;
}

.theme-logo-parent img {
    width: 250px !important;
    height: auto !important;
}

.not-bold span {
    font-weight: 300 !important;
}

.quarter-width {
    width: 25%;
}

.fifty-space {
    width: 49%;
    margin-left: 0.5%;
    margin-right: 0.5%;
}

.button-animations .zpelement.zpelem-text {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.button-animations .zpelement.zpelem-text:hover {
  transform: scale(1.1); 
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.button-box-2-left, .button-box, .button-box-2, .button-box-4, .button-box-4 {
  cursor: pointer;
}

.button-box-2-left .zpicon-heading, .button-box-2-left .zpicon, .button-box .zpicon-heading, .button-box .zpicon, .button-box-2 .zpicon-heading, .button-box-2 .zpicon, .button-box-4 .zpicon-heading, .button-box-4 .zpicon, .button-box-5 .zpicon-heading, .button-box-5 .zpicon {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.button-box-2-left .zpicon-heading:hover, .button-box-2-left .zpicon:hover, .button-box .zpicon-heading:hover, .button-box .zpicon:hover, .button-box-2 .zpicon-heading:hover, .button-box-2 .zpicon:hover, .button-box-4 .zpicon-heading:hover, .button-box-4 .zpicon:hover, .button-box-5 .zpicon-heading:hover, .button-box-5 .zpicon:hover {
  transform: scale(1.1); 
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.banner {
    background-color: #04046E !important;
}