/***************/
/* General CSS */
/***************/

html{
  margin-top: 0!important;
  padding-top: 0!important;

  body {
    margin-top: 0!important;
    padding-top: 0!important;
  }
  img {
    max-width: 100%;
  }
  a { 

    color:#06357a;
    &:hover {
      color: #6a86af;
    }
  }

  h1,.h1 {
    text-transform: uppercase;
    font-weight: 600;

  }
  h2,.h2,h3,.h3,h4,.h4 {
    font-weight: 300;
    text-transform: uppercase;
  }
}

html,body {
  font-size: 16px;
}

.inner-container {
  margin: 30px auto;
}

.info-content {
  margin: 0 auto;
}

h1,h2,h3,h4 {
  color: var(--primary-colour) !important;
}

h1 {
  font-size: 65px;
  font-weight: bold;
}

h2 {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 20px;
}

h3 {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2em;

}

h4 {
  color: #000!important;
}

span {
  color: #000 !important;
}
a {
  text-decoration: none;

}

a:hover {
  color: var(--secondary-colour);
}

img {
  border-radius: 8px;
}

.is-vertically-aligned-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  text-align: center;
}

.btn-primary {
  padding: 10px 25px;
  border-radius: 5px;
  background-color: var(--primary-colour) !important;
  color: #fff;
  border: none;
  font-weight: 300;
}

.btn-primary:hover {
  background-color: var(--tertiary-colour) !important;
}

.col-sm-12:has(> .inner-container) {
  /* CENTER THE INNER CONTAINERS AS CALC DOESNT WORK WITH AUTO MARGIN */
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;

  /* RAW ELEMENTS TO BE LEFT ALIGNED */
  > * {
    width: 100%;
  }
}
.col:has(> .inner-container) {
  justify-content: center;
  display: flex;
}

.inner-container {
  box-sizing: content-box;
  /* INHERIT MARGIN FROM BOOTSTRAP*/
  margin-inline: calc(-0.5 * var(--bs-gutter-x));
}

 .container-fluid { 
  /* padding: 0 15px; */
  /* overflow: hidden;
  > .row {
    margin: 0;
    > .col-sm-12 {
      padding: 0;
    }
  }
  .row.inner-container {
    width: 100%;
  } */
} 

.navbar {
  justify-content: fl;
  border-top:0px solid var(--secondary-colour);
  margin-top: -2px;
  border-bottom:0px solid var(--secondary-colour)!important;
}

#navbar {
  justify-content: flex-start!important;
 

  @media(min-width:767px) {
    margin-left: -30px;
  }
  @media(min-width:992px) {
    width: 100%;
    justify-content: flex-end!important;
    margin-left: 0;
  }
}

@media (max-width: 575px) {
  [class*="gx-"].row.inner-container {
    max-width: 100%;
    > * {
      padding-inline: 0;
    }
  }
  [class*="g-"].row.inner-container {
    > * {
      padding-inline: 0;
    }
  }
}
@media (min-width: 500px) {
  .inner-container,
  .info-content {
    max-width: 100%;
  }
}
@media (min-width: 576px) {
  .inner-container,
  .info-content {
    max-width: 540px;
  }
  [class*="gx-"].row.inner-container {
    max-width: calc(540px + (0.5 * var(--bs-gutter-x)));
  }
  [class*="g-"].row.inner-container {
    max-width: calc(540px + (0.5 * var(--bs-gutter-x)));
  }
}
@media (min-width: 768px) {
  .inner-container,
  .info-content {
    max-width: 720px;
  }
  [class*="gx-"].row.inner-container {
    max-width: calc(720px + (0.5 * var(--bs-gutter-x)));
  }
  [class*="g-"].row.inner-container {
    max-width: calc(720px + (0.5 * var(--bs-gutter-x)));
  }
}
@media (min-width: 992px) {
  .inner-container,
  .info-content {
    max-width: 960px;
  }
  [class*="gx-"].row.inner-container {
    max-width: calc(960px + (0.5 * var(--bs-gutter-x)));
  }
  [class*="g-"].row.inner-container {
    max-width: calc(960px + (0.5 * var(--bs-gutter-x)));
  }
}
@media (min-width: 1200px) {
  .inner-container,
  .info-content {
    max-width: 1140px;
  }
  [class*="gx-"].row.inner-container {
    max-width: calc(1140px + (0.5 * var(--bs-gutter-x)));
  }
  [class*="g-"].row.inner-container {
    max-width: calc(1140px + (0.5 * var(--bs-gutter-x)));
  }
}
@media (min-width: 1400px) {
  .inner-container,
  .info-content {
    max-width: 1320px;
    margin: 30px auto;
  }
  
  [class*="gx-"].row.inner-container {
    max-width: calc(1320px + (0.5 * var(--bs-gutter-x)));
  }
  [class*="g-"].row.inner-container {
    max-width: calc(1320px + (0.5 * var(--bs-gutter-x)));
  }
}

/*******************/
/* Header & Footer */
/*******************/
#info-area {
  div {
    margin-bottom: 0px;
  }
}

#info-area {
  border-top:1px solid var(--secondary-colour);
  border-bottom:0!important;
  padding-block: 15px;
  a {
    color:var(--info-text-colour);
    &:hover,&:focus {
      color:#046c85!important;
    }
  }
}

#header-contents {
  position: relative;
  padding: 15px 0;
  background: var(--footer-top-colour);


  img {
    border-radius: 0;
  }



  #menu-main-menu {

    margin-bottom: 10px;
    gap:10px;
  }

  .navbar {
    justify-content: center;
    text-align: center;
    margin-top: 0px;
  }
  .nav-link {
    background: #06357a!important;
    border-radius: 8px;
    border-bottom-left-radius: 8px;
    padding: 5px 15px;
    border:1px solid #06357a;
    color:#fff!important;
    font-weight: 300;
    text-transform: uppercase;
    &:hover,&:focus,&.active {
      background: #406399!important;/*btn*/
  
      color: #fff!important;
    }
  }
  &:after {
    /* content:"";
    position: absolute;
    left: 0;
    width: 50%;
    margin-left: -230px;
    top:0;
    height: 100%;
    background-color: #fff; */
    /* border-bottom-right-radius:200px ;
    border-top-right-radius:0px ; */
  }

  .info-content {
    position: relative;
    z-index: 10;
  }

  @media(min-width:992px) {
    .navbar {
      margin-top: 0px;
    }
  }
}

.info-content {
  margin: 0 auto!important;
}
#info-area .info-content {
  margin: 0!important;
  padding: 0;
}




.contact-info,
.contact-info-inner {
  column-gap:20px;
  display: flex;
  @media(min-width:992px){
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    flex-wrap: nowrap;
  }
}



.home-navbar .navbar-brand {
  display: none;
}

.home-navbar .nav-item a {
  color: #fff !important;
}

.navbar-brand img,
.navbar-brand-white img {
  max-height: 100px;
}

.nav-item a {
  font-size: 20px;
  margin-left: 30px;
}

.nav-item a:hover {
  color: var(--secondary-colour) !important;
}

#footer-top-area {
  margin-top: 2px;
  background: #f8f9fa;
  padding: 20px 0;
  border-top:2px solid #06357a;

  img {
    border-radius: 0;
  }
  a {
    &:hover,&:focus {
      color:#6a86af !important;
    }
  }
}

#footer-top-area .inner-container {
  margin: 0 auto;
}

.footer-logo img {
  margin-bottom: 10px;
}

.footer-quick-links h4,
.footer-address h4,
.footer-contact h4 {
  font-size: 18px;
  margin-bottom: 10px;
  text-transform: uppercase;
  color: #fff;
}

.quick-links-list,
.contact-details-footer,
.socials {
  list-style: none;
  padding: 0;
  margin: 0;
}

.quick-links-list li,
.contact-details-footer li,
.socials li {
  margin-bottom: 10px;
}

.quick-links-list li a,
.contact-details-footer li a,
.socials li a {
  text-decoration: none;
  
  font-size: 16px;
}

.social-links {
  margin-top: 20px;
}

.footer-contact .social-links ul.socials {
  display: flex;
  gap: 10px;
}

.footer-contact .social-links ul.socials li a {
  font-size: 18px;
}

#footer-area {
  padding: 10px 0;
  color: #fff!important;
  background-color: var(--primary-colour)!important;
  a {
    color:#fff!important;
    &:hover,&:focus {
      color:#6a86af!important;
    }
  }
}


#footer-area p {
  margin: 0;
  font-size: 14px;
}


.inner-page-header {
  background-image: url("/wp-content/uploads/galaxy.webp");
  background-size: cover;
  background-position: center;
  position: relative;
  padding: 20px 0;
}

.inner-page-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 1;
}

.inner-page-header .inner-container {
  position: relative;
  z-index: 2;
  color: #333;
  text-align: center;
}

/*************/
/* Home page */
/*************/

#nav-hero-wrapper {
  position: relative;
  overflow: hidden;
}

#background-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.home-hero,
#nav-area {
  position: relative;
  z-index: 2;
}




.scroll {
  .home-navbar {
    img {
      padding: 5px 0;
      max-height: 70px;
    }
  }
}

.home-navbar {
  img {
    padding: 10px 0;
    transition:0.5s ease all;
  }
}

.home-navbar {
  background: transparent !important;
}

.btn.btn-primary {
  text-transform: uppercase;
  &:hover,&:focus {
    color: #fff!important;
    background-color: #406399!important;
  }
}

.home-hero {
  background-size: cover;
  height: 60vh;
  position: relative;
  font-size: 1.2rem;
  align-items: center;
  overflow: hidden;
  display: flex;
  background: url('/wp-content/uploads/IMG_9104.webp');
  background-size: cover!important;
  background-position: center;
  border-top:2px solid #06357a;
  border-bottom:2px solid #06357a;


  .container {
    &:before {
      content: "";
      position: absolute;
      left: 0;
      top:0;
      height: 100%;
      width: 100%;
      background: #0006;
    }
  }
  &:after {
    /* content: "";
    z-index: 10;
    position: absolute;
    left: 0;
    background-size: 100% 100% ;
    background-repeat: no-repeat;
    background-position: bottom;

    width: 100%;
    height: 40%;
    bottom:-10%;
    background-image: url('/wp-content/uploads/overlay-graphic-1.png'); */
  }
  &:before {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    background-size: 100% 100% ;
    background-repeat: no-repeat;
    background-position: bottom;
    transform: rotate(-180deg);

    width: 100%;
    height: 40%;
    bottom:70%;
    background-image: url('/wp-content/uploads/overlay-graphic-1.png');
  }

  h1 {
    margin-top: 0!important;
  }

  .btn-wrappers {
    margin-top: 30px;
  }
  .btn-primary {
 
    box-shadow:none!important;
    background-color: #06357a!important;
    color: #fff!important;
    &:hover,&:focus {
      background-color: #406399!important;
      color: #fff!important;
    }
  }
}

.btn-wrapper.centre{
  display:flex;
  justify-content: center;
  width: 100%;
}


.btn {
  border:1px solid #fff!important;
}

.home-hero .inner-container {
  z-index: 2;
  padding: 20px;
  display: flex;
  flex-direction: column;
}

.content-column {
  color: #fff;
  text-align: left;
}

.content-column h1 {
  margin-bottom: 30px;
  margin-top: 100px;
  color: #fff !important;
}

.button-group {
  display: flex;
  gap: 15px;
  margin-top: 40px;
}

.contact-button {
  background-color: var(--primary-colour) !important;
  color: white;
  padding: 10px 20px;
  text-transform: uppercase;
}

.contact-button:hover {
  background-color: var(--secondary-colour) !important;
}

.learn-more-button {
  background-color: #fff !important;
  color: var(--primary-colour) !important;
  border: 1px solid var(--primary-colour) !important;
  padding: 10px 20px;
  text-transform: uppercase;
}

.learn-more-button:hover {
  background-color: var(--secondary-colour) !important;
  color: #fff !important;
}

.home-services {
  text-align: center;
  padding: 50px 0;
}

.home-services p {
  /* max-width: 70%; */
  /* margin: 0 auto 50px; */
}

.services-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}






.home-cta .inner-container,
.home-projects .inner-container {
  margin: 0px auto;
}

.home-cta,
.accent-section {
  background-color: #f5f5f5;
}

.cta-container {
  background-color: #ffffff;
  padding: 30px;
  margin: 0 auto;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  display: flex;
  align-items: center;
}

.cta-text {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cta-text h3 {
  margin-bottom: 0;
}

.cta-text p {
  margin: 20px 0;
}

.cta-icon img {
  width: 50px;
  margin-top: 10px;
}

.cta-image {
  text-align: center;
}

.cta-image img {
  width: 600px;
  height: 400px !important;
  display: block;
  margin: 0 auto;
  border-radius: 8px;
  mask-image: url("/wp-content/uploads/galaxy-swirl-template2.webp");
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-image: url("/wp-content/uploads/galaxy-swirl-template2.webp");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
}



.home-figure {
  font-size: 50px;
  font-weight: 900;
  background: linear-gradient(
    90deg,
    var(--primary-colour),
    var(--secondary-colour)
  );
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0;
}

.home-projects {
  text-align: center;
  padding: 50px 0;
}

.home-projects {
  padding: 30px 0;
  text-align: center;
}

.home-projects h2 {
  margin-bottom: 30px;
}

.home-projects .row {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.home-projects .figure img {
  width: 100%;
  border-radius: 8px;
  margin-top: 25px;
}

.home-projects h3 {
  font-size: 20px;
  margin: 20px 0 10px;
}

/*****************/
/* About Us Page */
/*****************/

.about-us-intro {
  padding: 50px 0;
}

.about-us-border {
  border-right: 3px solid var(--tertiary-colour);
}

.about-us-intro p {
  padding-left: 20px;
}

.about-us-intro .row {
  display: flex;
  align-items: center;
}

.accent-section .inner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px 0;
}

.accent-section .row {
  display: flex;
  align-items: center;
}

.accent-section .col {
  flex: 1;
}

.accent-section .col img {
  max-width: 100%;
  height: auto;
}

.team-gallery {
  padding: 50px 0;
}

.team-gallery .col {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.team-gallery .figure {
  margin: 30px 0 0 0;
}

.team-gallery .figure img {
  border-radius: 50%;
  width: 150px !important; 
  height: 150px !important; 
  object-fit: cover;
}

.team-gallery h4,
.team-gallery p {
  margin-top: 10px;
}

.team-gallery .col-1, 
.team-gallery .col-2, 
.team-gallery .col-3 {
    flex: 0 0 auto;
    width: 33.333%; 
}

.team-gallery .col {
    display: flex;
    flex-direction: column;
    align-items: center;
}


/******************/
/* Services Pages */
/******************/

.service-container {
  gap: 30px;
  margin-top: 70px;
}

.service-tile {
  display: block;
  background-color: #f9f9f9;
  border-radius: 8px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-tile:hover {
  transform: translateY(-10px);
  box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.2);
}

.service-tile img {
  max-width: 100px;
  margin-bottom: 15px;
}

.service-tile h3 {
  font-size: 1.5rem;
  margin-bottom: 10px;
  color: var(--primary-colour);
}

.service-tile p {
  margin-bottom: 20px;
}

.service-two-intro,
.service-two-more-info {
  padding: 50px 0;
}

.service-two-intro .inner-container .row {
  display: flex;
  align-items: center;
}

.more-info-icons {
  text-align: center;
  margin-top: 50px;
  margin-left: 0;
}

/*****************/
/* Contact Page */
/*****************/

.contact-page {
  padding: 40px 20px;
}

.contact-page-tel,
.contact-page-email {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.contact-page-tel .fa,
.contact-page-email .fa {
  margin-right: 8px;
  font-size: 20px;
}

.contact-page-tel .fa:hover,
.contact-page-email .fa:hover {
  color: var(--primary-colour) !important;
}

.contact-page-tel a,
.contact-page-email a {
  display: flex;
  align-items: center;
  color: var(--primary-colour);
  text-decoration: none;
}

.contact-page-tel a:hover,
.contact-page-email a:hover {
  color: var(--secondary-colour);
}

.contact-page-tel a br,
.contact-page-email a br {
  display: none;
}

#default-form .form-control {
  border-radius: 5px;
  border: 1px solid #ddd;
  padding: 10px;
  font-size: 16px;
  margin-bottom: 15px;
  background-color: #fff;
  color: #333;
}

#default-form .form-control::placeholder {
  color: #999;
}

#default-form .form-label {
  font-weight: bold;
  color: var(--primary-colour);
}

#default-form #contact-button {
  background-color: var(--secondary-colour);
  border: none;
  padding: 10px 20px;
  font-size: 18px;
  color: #fff;
  cursor: pointer;
  border-radius: 5px;
  transition: background-color 0.3s ease;
}

#default-form #contact-button:hover {
  background-color: var(--primary-colour);
}

#default-form .req-field {
  font-size: 14px;
  color: var(--primary-colour);
}

#home-hero{
  img {
    max-height: 200px!important;
  }

}

/*****************/
/* Media Queries */
/******************/


@media (max-width: 992px) {
  .contact-info {
    text-align: left;
    padding: 10px 0;
  }


  #home-hero {
    min-height: 45vh;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;

    img {
      max-height: 100px!important;
    }
  }

  .content-column h1 {
    margin-top: 50px;
  }

  #home-hero h1 {
    font-size: 2.8rem;
  }

  #home-hero p {
    font-size: 1rem;
  }

  #content-area .service-two-intro .inner-container ,
  #content-area .accent-section .inner-container ,
  #content-area .service-two-more-info .inner-container ,
  #content-area .home-cta .cta-container  {
    flex: 1 1 100%; 
    max-width: 100%; 
    text-align: center; 
    margin: 0 auto !important
  };

}

@media (max-width: 768px) {
  .info-content .col-sm-4 {
    text-align: center;
    margin-bottom: 10px;
  }

  .nav-item a {
    font-size: 16px;
    margin: 0 10px;
  }

  #home-hero {
    flex-direction: column;
    padding: 60px 15px;
  }

  #home-hero .content-column {
    text-align: center;
    margin: 0 auto;
  }

  #home-hero h1 {
    font-size: 1.8rem;
    margin-top: 0;
  }

  #home-hero p {
    font-size: 0.9rem;
  }

  .btn-wrappers .btn {
    font-size: 0.9rem;
    padding: 8px 12px;
  }

  .home-hero {
    background-size: contain;
  }

  .home-hero::before {
    width: 100%;
    /* background: white; */
  }

  .row .col {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 10px;
  }

  .button-group {
    flex-direction: column;
  }

  .services-list {
    flex-direction: column;
    align-items: center;
  }

  .service-card {
    max-width: 340px;
    margin-bottom: 20px;
  }

  .cta-content {
    flex-direction: column;
    text-align: center;
  }

  .cta-text {
    padding-right: 0;
    margin-bottom: 20px;
  }

  .home-services .row {
    display: flex;
    /* flex-direction: column; */
    align-items: center;
  }

  .service-card {
    width: 90%;
    margin-bottom: 20px;
  }

  #footer-top-area .row {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #footer-top-area .col-md-3 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 20px;
  }

  .footer-logo img {
    max-width: 120px;
  }

  .social-links .socials li {
    margin: 0 5px;
  }

  .accent-section .inner-container,
  .service-two-intro .inner-container {
    max-width: 90%;
    margin: 0 auto !important;
    text-align: center;
  }
  .team-gallery .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; 
  }
  
  .team-gallery .col {
    flex: 1 1 100%; 
    max-width: 100%;
    margin-bottom: 20px; 
  }

}

@media (max-width: 480px) {
  .contact-info-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .contact-info-inner a {
    margin: 5px 0;
  }
  #home-hero h1 {
    font-size: 1.4rem;
    color: var(--secondary-colour) !important;
  }

  #home-hero p {
    font-size: 0.85rem;
  }

  .btn-wrappers .btn {
    display: block;
    width: 100%;
    margin: 5px 0;
  }

  .contact-info {
    flex-direction: column;
    align-items: center;
    gap: 5px;
  }

  .contact-info a {
    margin-left: 0;
    text-align: center;
  }

  .cta-container {
    padding: 20px;
  }

  .cta-text h3 {
    font-size: 20px;
  }

  .cta-text p {
    font-size: 14px;
  }

  .service-card {
    width: 90%;
  }

  .service-card h3 {
    font-size: 16px;
  }

  .service-card img {
    width: 80px;
  }

  .home-projects,
  .cta-container {
   
  }

  .cta-image img {
    height: 200px !important;
  }

  .footer-contact .social-links ul.socials {
    justify-content: center;
  }

  .about-us-border h2 {
    text-align: center;
    font-size: 30px;
  }

  .about-us-intro p {
    text-align: center;
    padding-left: 0;
  }

  .accent-section .inner-container {
    max-width: 90%;
    margin: 0 auto;
    text-align: center;
  }

  

  .home-services figure img{
    max-width: 90%;
  }

  .service-two-intro, .service-two-more-info {
    text-align: center;
    max-width: 90%;
    margin: 0 auto;
  }

  
}


.home {
  #home-nav-area {
    background-color: transparent;
  }
  &.scroll{
    #home-nav-area {
      background-color: #025870;
    }
  }
}




.home-wavey {
  margin-top: -116px; /*height of nav bar*/
  padding-top: 116px;
}


@keyframes wave-skew {
  0% {
    transform: skewX(10deg) skewY(3deg) translateX(-50%) translateY(-50%);
    left: 50%;
  }
  50% {
    transform: skewX(15deg) skewY(5deg) translateX(-50%) translateY(-50%);
    left: 46%;
  }
  100% {
    transform: skewX(10deg) skewY(3deg) translateX(-50%) translateY(-50%);
    left: 50%;
  }
}



.position-relative:has(.position-relative__image-background) {
  aspect-ratio: 2.5;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color:#fff;

  &.banner {
    aspect-ratio: 4;
  }

  h1,h2,h3,h4 {
    color:inherit!important;
  }
  div {
    position: relative;
    z-index: 100;
    flex-direction: column;
    /* padding: 60px; */
  }

  &:after {
    content:"";
    position: absolute;
    left: 0;
    top:0;
    width: 100%;
    height: 100%;
    background: #0006;
  }
  .position-relative__image-background {
    width:100%;
    object-fit: cover;
    aspect-ratio: 2.5;
    height: 100%;
    position: absolute;
  }
}


blockquote {
  position: relative;
  display: inline-block;
  padding: 5px 20px!important;
  margin-left: 10px;
  font-style: italic;
  display: block!important;
  width: 100%!important;

  p {
    font-size: 1rem;
    display: block!important;
    width: 100%!important;
  }
  &:before, &:after {
    content: "";
    background-image: url('/wp-content/uploads/decor-66.png');
    width: 14px;
    height: 20px;
    left: 0px;
    top:0px;
    position: absolute;
    background-position: top left;
    background-size: contain;
    
    background-repeat: no-repeat;
  }
  &:after {
    display: none;
    background-image: url('/wp-content/uploads/decor-99.png');
    bottom:20px;
    left: auto;
    right: 0px;
    top:auto;
    content: "";
  }
}


.service-card {
  color:inherit;

  h1,h2,h3,h4 {
    color: inherit!important;
  }
}

.theme-3 {
  background-color: #98afba;
  color:#fff;
  border-top:2px solid  var(--secondary-colour);
  border-bottom:2px solid  var(--secondary-colour);

  h1,h2,h3 {
    color:#fff!important;
  }
}

.col {
  position: relative;
  z-index: 1;
}

.theme-1 {
  background-color: var(--secondary-colour);
  color:#000;
  border-top:2px solid var(--secondary-colour);
  border-bottom:2px solid var(--secondary-colour);
  position: relative;
  border:1px solid  var(--primary-colour);
  border-top-right-radius: 16px!important;
  border-bottom-left-radius: 16px!important;
}

.theme-4 {
  border-top-right-radius: 16px!important;
  border-bottom-left-radius: 16px!important;
  background-color: #fff;
  color:#000;
  border:1px solid  var(--primary-colour);
}

.theme-2 {
  background-color: #406399;
  color:#fff;

  border-top:2px solid var(--secondary-colour);
  border-bottom:2px solid var(--secondary-colour);
  position: relative;

  h1,h2,h3 {
    color:#fff!important;
  }

  .icon {
    filter:brightness(1000%);
  }



  .btn-primary {
 
    /* background-color: #000!important;
    color: #fff!important; */
    &:hover,&:focus {
      background-color: #fff!important;
      color: #000!important;
    }
  }
 

  &:after {
    content:"";
    position: absolute;
    top:0;
    left: 0px;
    width: 100%;
    height: 100%;
    background-image: url('/wp-content/uploads/waves.png');
    background-size: cover;
    background-position: center center;
    opacity: 0.15;
    /* background-attachment: fixed; */
  }
}
.icon-wrapper {
  align-items: center;
  column-gap:10px;

  p {
    margin-left: 1rem;
    margin-bottom: 0px;
  }
}
.icon {
  height: 60px;
  width: 60px;
  margin-top: 0px!important;
  img {
    margin-top: 0px!important;
    height: 60px!important;
    object-fit: contain;
    width: auto!important;

  }
}

.justify-content-center.btn-wrappers {
  text-align: center;
  .btn-wrapper {

  }
}

.btn-primary {
  font-size: 1.2rem;
  background-color: var(--primary-colour);
  color:#fff!important;

  &:hover,&:focus {
    background-color: var(--secondary-colour)!important;
  }
}
.dropdown-menu{
  background-color: #000;
  padding: 0!important;
  margin: 0 0 0 30px!important;
  border:1px solid #fff;
  overflow: hidden;
  a {
    color:#fff;
    margin: 0;
    &:hover,&:focus,&.active {
      background-color:var(--primary-colour);
      color:#fff!important;
    }
  }
}


.product-image-control {
  figure {
    margin-bottom: 0px;
    border:2px solid #000;
    border-bottom:1px solid #000;
  }
  img {
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 0;
    width: 100%!important;
  }

  p {
    margin-bottom: 0px;
    color:#fff;
  }

  .linked-block-content {
    padding: 5px 0;
    border:2px solid #000;
    border-top:0;
    background-color: var(--primary-colour)!important;
  }
}

html .has-large-font-size {
  font-size: 1.5rem!important;
}

.wp-admin  {
  .animation {
    opacity: 1!important;
  }
}
.animation {
	&.fade {
		opacity: 0;
		transition: all 1s ease;
	}
	&.fade-up {
		opacity: 0;
		transform: translateY(40px);
		transition: all 0.5s ease;
	}
	&.animation-active {
		&.fade {
			opacity: 1;
		}
		&.fade-up {
      opacity: 1;
			transform: translateY(0px);
		}
	}
}
[id$="-section"] {
	&:has(.has-animation.animation-fade) {
		opacity: 0;
	}
	&:has(.has-animation.init.animation-fade) {
		transition: 1s ease opacity;
	}
	&:has(.has-animation.animation-active.animation-fade) {
		opacity: 1;
	}
	&:has(.has-animation.animation-fade-up) {
		opacity: 0;
		transform: translateY(50px);
	}
	&:has(.has-animation.animation-active.animation-fade-up) {
		opacity: 1;
		transform: translateY(0px);
	}
	&:has(.has-animation.init.animation-fade-up) {
		transition: 1s ease opacity, 1s ease transform;
	}
}

.slick {
  img {
    /* aspect-ratio: 1; */
    object-position: center;
    object-fit: cover;

  }
}




.slick-slider-multi .slick-slide{
  margin-left:30px;

  img {
    width: 100%;
  }
  figure {
    margin: 0px;
  }
}

.w-100 {
  .btn-wrapper {
    width: 100%!important;
    .btn {
      width: 100%;
    }
  }
}
.rounded,.btn {
  border-radius: 16px !important;
  border-bottom-left-radius: 16px !important;
  overflow: hidden;
}

.overlay-graphic {
  position: relative;

}

.decor {
  position: relative;
  &:before {
    content:"";
    background-image:url('/wp-content/uploads/line-decor.png');
    width: 100%;
    height: 120px;
    background-size: contain;
    background-position: left;
    background-repeat: no-repeat;
    left: -80px;
    position: absolute;
    margin-top:-220px;
    opacity: 0.1;
    filter:grayscale(100%);
  }

  &.rev {
    &:before {
      margin-top:-60px;
      left:auto;
      right: 0px;
      transform: rotate(180deg);
    }
  }
  &.flip {
    &:before {
      margin-top:-50px;

      transform: scaleY(-1);
    }
  }
  &.flip.rev {
    &:before {
      transform: scaleY(-1) rotate(180deg);
    }
  }
  /* border-top:2px solid #06357a; */
}


img {
  border-radius: 30px;
}

.seperator {
  margin-right: 30px;
  padding-right: 45px;
  /* width:calc(100% - 30px); */
  position: relative;
  &:after {
    content: "";
    position: absolute;
    right: 0;
    top:50%;
    height: 50%;
    transform: translateY(-50%);
    border-right: 2px solid #e9e9e9;
  }

  &.start {
    margin-right: 0px;
    padding-right: 0px;
    
    margin-left: 30px;
    padding-left: 45px;
    &:after {
      left: 0;
      right: auto;
    }
  }

  @media(max-width:767px) {
    margin-inline: 0!important;
    padding-inline:10px!important ;
  }
}

.rel {
  z-index: 100;
  position: relative;
  .container {
    >* {
      z-index: 100;
      position: relative;
    }
  }
}

#content-area figure.size-full.default {
  border-radius: 0!important;
  img {
    border-radius: 0!important;
  }
}
#content-area figure.size-full:not(.default) img {
  border-radius: 30px;
  aspect-ratio: 1.2;
  object-fit: cover;
}


  #content-area .theme-1 figure.size-full img {
    border-radius: 0px;
  }


.graphic-back {
  min-height: 360px;
  width: calc(100% + 30px);
  border-radius: 0;
  padding: 0 15px;
  img {
    border-radius: 0;
  }
  &:before {
    content: "";
    position: absolute;
    left: 0;
    z-index: 10;
    background-size: 100% 100% ;
    background-repeat: no-repeat;
    background-position: bottom;
    transform: rotate(-180deg);

    width: 100%;
    height: 40%;
    bottom:70%;
    background-image: url('/wp-content/uploads/overlay-graphic-1.png');
  }
  &.rev {
    overflow: hidden;
    &:before{ 
      content: "";
      transform: rotate(0deg);
      bottom:-10%;
    }
  }
}

.container-fluid {
  padding: 0 15px!important;
}

.gallery {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;

  figure {
    width: 50%;
    padding: 15px;

    img {
      width: 100%;
      aspect-ratio: 1.2;
      object-fit: cover;
    }
  }

  @media(max-width:992px) {
    margin: 0px;
    padding-inline: 0px!important;
    figure {
      width: 33.3%;
      padding: 5px;
    }
  }

  @media(max-width:767px) {
    margin: 0px;
    padding-inline: 0px!important;
    figure {
      width: 50%;
      padding: 5px;
    }
  }
}

.w-100 a{
  min-width: 100%;
}

#header-c {
  .row {
    margin-inline:-15px!important;
  }
}

.container-fluid .graphic-back {
  margin: 0 -15px;
}

.s9-container.theme-2, .s9-container.theme-1 {
  margin: 0 -15px;
  border-radius: 0!important;
}


.btn-wrappers {
  z-index: 100;
  position: relative;
}


.sticky-wrapper {
  position:sticky;
  top:10px;
}

@keyframes scroll-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

.marquee {
  /* display: flex; */
  white-space:nowrap;
  text-transform: uppercase;
  color:#06357a;
  width: 100%;
  overflow: hidden;
  padding-top: 15px;
  font-weight: 300;
  ul {
    display: inline-block;
    li {
      font-size: 1.2rem;
      margin-right: 10vw;
      display: inline-block;
      font-weight: 300;
    }
  }

  .inner{
    display: inline-block;
    animation: scroll-left 40s linear infinite;
  }
  
  
}


.theme-1,.theme-2 {
  overflow: hidden;
  .container {
    padding-inline:20px;
  }
  .row {
    margin: 0!important;
  }
}

.fa-home,.fa-phone,.fa-envelope {
  color:#06357a!important;
  margin-top: 1rem;
  margin-bottom: 0.5em!important;
}


.wcc-title,.wcc-btn  {
  font-family: var(--heading-font)!important;
  font-weight: 300!important;

}

.error404  {
  .container-fluid {
    padding: 0!important;
  }
  .content-column{ 

    position: relative;
    z-index: 1;
  }

}