.container-fluid:first-child, .container:first-child {
  --bs-gutter-x: 0;
}

.container-fluid:first-child .row {
  --bs-gutter-x: 0;
}

.maincontainer > .container-fluid, .maincontainer > .container-fluid > row, .maincontainer > .container-fluid .nogutter {
  --bs-gutter-x: 0;
}

.maincontainer > .container-fluid > .row {
 --bs-gutter-x: 0;
}


body {
    font-family: 'Assistant',sans-serif;
    font-size: 16px;
    line-height: 1.428571429;
    color: #333;
}


.nav .mod-menu__sub{
  display:none;
}

.nav li:hover .mod-menu__sub{
  display:block;
  position: absolute;
  background:#fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 4px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  box-shadow: 0 6px 12px rgba(0,0,0,.175);
  z-index:999;
}

.nav .mod-menu__sub a{
  color:#000;
  font-weight:normal;
}

.nav .mod-menu__sub a:hover{
  background:#eee;
}

#googlemap .btn {
  margin-top:20px;
  background:#0a5090;
  border:0px;
  width:100%;
}

#googlemap .btn:hover {
  color:#fff;
  background:#3989c5;
}

.whitemiddle .nav {
  width:100%;
  padding-top:53px;
}

.whitemiddle .nav-item {
  width:100%;
}

footer a{
    color:#000;
    text-decoration: none; 
}

footer a:hover{
    text-decoration: underline; 
}

h1 {
  padding-bottom: 9px;
  margin: 0 0 15px 0;
  font-size: 30px;
  color: #0a5090;
}

h5 {
  color: #0a5090;
  padding-bottom: 9px;
}

.featurette p{
  font-size: 16px !important;
}

h2.featurette-heading{
  line-height:40px !important;
  margin-bottom:30px;
}

.page-header {
  padding-bottom: 9px;
  margin: 0 0 20px 0;
  font-size: 30px;
  color: #0a5090;
}

.findoutbutton{
  margin-top: 30px;
  outline: solid 1px #0a5090;
  color: #0a5090;
  padding: 16px 55px !important;
  border-radius: 0 !important;
  text-transform: uppercase;
}

.whitemiddle .nav-item {
  list-style: none;
  background-image: url(/images/bullet.png);
  background-size: 11px;
  background-repeat: no-repeat;
  font-weight: 600;
  padding-left: 5px;
  background-position: center left;
  vertical-align: middle;
}

.whitemiddle{
  position:relative;
  background:white;
  margin-top:-250px;
  z-index:1;
}

.whitemiddlehome{
  margin-top:-100px;
  
}

.hero .carousel-item img{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.hero .carousel-item {
  height: 400px;
}

.herohome .carousel-item {
  height: 500px;
}

.hero .carousel-caption {
    top:1.25rem;
    bottom:auto;
}


.hero .carousel-caption h1 {
   font-size: 18px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  margin-bottom: 0;
}

.hero .carousel-caption h2 {
  font-size: 38px;
  color: #fff;
  text-align: center;
  font-weight: 100;
  line-height: 1em;
}

.top-tel {
    position: absolute;
    right: 20px;
    color: #174178;
    z-index: 0;
  }

  .top-tel a {
    color: #174178;
    text-decoration: none;
  }

  .top-tel-size {
    font-size: 18px;
    font-weight: 600;
    text-decoration: underline; 
  }
  
  .header-buttons {
    background-color: #afc1df;
    position: absolute;
    top: 60px;
    right: 20px;
    border-radius: 8px;
    padding: 4px;
  }
  
  .btn-blue {
    color: #fff;
    background-color: #3989c5;
    border-color: #3989c5;
    letter-spacing: 2px;
    border-radius: 8px;
  }
  
  .btn-blue:hover {
    color: #fff;
    background-color: #afc1df;
    border-color: #afc1df;
  }
  
  
  .btn-lilac {
    color: #fff;
    background-color: #afc1df;
    border-color: #afc1df;
    letter-spacing: 2px;
    border-radius: 8px;
  }
  
  .btn-lilac:hover {
    color: #fff;
    background-color: #3989c5;
    border-color: #3989c5;
  }
  
  .btn:hover, .btn:focus, .btn.focus {
    color: #333;
    text-decoration: none;
  }

  
  .nav a {
    color:#0a5090;
    font-weight:bold;
    text-transform: uppercase;
  }

  .bottom-footer {
    background-color: #e8e8e8;
    color: #000;
    padding-top: 20px;
  }

  .bottom-footer a {
    color: #000;
  }
  
  
  .boxes{
  background:#bbb;
  min-height: 270px;
}

.boxes h4{
  color:#fff;
}

.boxes .buttons{
  color:#fff;
  background:#5ea4ff;
  padding:16px 55px 16px 55px;
}

.boxdarkblue{
  background:#0b2442;
}


.boxteal{
  background:#42aba5;
}


.boxpurple{
  background:#5e3c84;
}


.boxlightblue{
  background:#64b7e5;
}


.boxblue{
  background:#15437c;
}


.boxmidblue{
  background:#5d90e2;
}


.box-icon img{
  margin-top: -30px;
}

.box-height {
  height: 80px;
}


.greyback {
  background: #f3f3f3;
}


.darkblueback {
  background: #15437c;
  color:#fff;
}




.form-inline.postcodeTownForm {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background:#174178;
  outline: none;
}

.postcodeTownForm {
  background-color: #174178;
  width: 250px;
  padding: 2px;
}


.postcodeTownForm .btn {
  background-color: #235ea9;
  border-radius: 0;
  padding: 14px 11px;
  margin-left: 8px;
}


.styled-select {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.428571429;
  background-image: none;
  border-radius: 0;
  border: none;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
  transition: border-color ease-in-out .15s , box-shadow ease-in-out .15s;
   color: #fff !important;
}

.styled-selectmessage {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.428571429;
  background-image: none;
  border-radius: 0;
  border: none;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
  transition: border-color ease-in-out .15s , box-shadow ease-in-out .15s;
   color: #fff !important;
}

textarea.styled-selectmessage {
  background-color: rgba(33, 76, 131, 0.85); 
  padding:18px; 
  height: 160px;
}

.btn-mid-blue {
  background: #76bce4;
    background-image: none;
  color: #fff;
    margin-top: 15px;
}

.btn-mid-blue:hover {
  background: #76bce4;
    background-image: none;
  color: #000;
}

.buttons {
  padding: 16px 55px !important;
  font-size: 16px !important;
  border-radius: 0 !important;
  text-transform: uppercase;
}

.iframe-container {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
  margin-bottom: 30px;
}

.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.postcodeTownForm input {
  background-color: #174178;
}

.styled-select{
  float:left;
  width:70%;
  padding:28px;
}

.postcodeTownForm .btn{
  float:right;
  width:25%;
}

.postcodeTownForm{
  overflow: hidden;
}

#contact-map{
  position: relative;
}

#googlemap {
  height: 800px;
  padding: 0;
  margin: 0;
}

.bg-dark-blue-semi {
  background: rgba(30,80,146,.85);
}

.map-form {
  padding: 30px 50px 80px 50px;
}

.map-form h4 {
  font-size: 22px;
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 20px;
}

.text-white {
  color: #fff;
}

.text-light-blue {
  color: #76bce4;
}

.map-form h3 {
  font-size: 28px;
  margin-bottom: 0;
}

.map-form form label {
  font-weight: 100;
}

.map-form form label {
  color: #fff !important;
}

.map-form #Send{
  background: #76bce4;
  border:0px;
  width:66%;
}

.map-form #Send:hover{
  color:#000;
}

.formValidation{
  font-size:12px;
  text-align:right;
  display:block;
 }
 
 .formValidation span{
  color:#e88d8d;
 }

#contact-map #mapform h2 {
  display:none;
}

#mapform h2 {
  color: #76bce4;
  font-size: 24px;
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 20px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

.map-form form .form-control {
  background-color: #0a5090;
  border-radius: 0;
  color: #fff !important;
}

.map-form input {
  background: rgba(33,76,131,.85);
    background-color: rgba(33, 76, 131, 0.85);
  padding: 24px 20px;
  font-size: 16px;
  line-height: 1.428571429;
  color: #fff !important;
  border: none;
  border-radius: 0;
}

.map-form .formControls {
  margin-bottom:25px;
}

.map-form ::placeholder {
  color: #fff !important;
  opacity: 1; /* Firefox */
}

.map-form textarea {
  border:0px;
}

.map-form input {
  padding:12px;
  margin-bottom:3px;
}

.linkedin-block{
  margin-bottom:20px;
}

.bottom-footer p {
  padding:15px;
}

.whitemiddle #mapform{
  background: rgba(30,80,146,.85);
  padding: 30px 50px 80px 50px;
}


.whitemiddle #mapform .form-control {
  background: rgba(33,76,131,.85);
  padding: 16px 20px;
  font-size: 16px;
  line-height: 1.428571429;
  color: #fff !important;
  border: none;
  border-radius: 0;
}

.whitemiddle #mapform .form-control::placeholder {
  color: #fff;
  opacity: 1; /* Firefox */
}

.whitemiddle #mapform * {
  border:0px;
}

.boxdarkblue .btn-box-bottom-right,
.boxteal  .btn-box-bottom-right{
  background:#2cd1cc;
}

.boxpurple .btn-box-bottom-right{
  background:#8f59c2;
}


/* LOCATION STYLING */
/* Issy's styles */
.location-cta .location-cta-heading{
  font-weight: bold;
  font-size: 1.25rem;
}

.location-cta p{
  font-weight: normal;
  font-size: 1.125rem;
}

.location-cta a{
  text-decoration: none;
}

.location-cta .cta-arrow{
  font-size: 2rem;
}

.location-cta .seagreen-cta{
 background-color: #42ABA5;
 height: 100%;
}

.location-cta .seagreen-cta:hover .seagreen-button{
  background-color: #4CC4BD;
 }

.location-cta .seagreen-cta .seagreen-button{
  background-color: #3B9E99;
 }

.location-cta .skyblue-cta{
  background-color: #64B7E5;
  height: 100%;
 }

 .location-cta .skyblue-cta:hover .skyblue-button{
  background-color: #6FCCFF;
 }

 .location-cta .skyblue-cta .skyblue-button{
  background-color: #4897C3;
 }


.location-cta .icon{
  height: 69px;
  width: auto;
}

.location-contact-card {
  background-color: #1c5a99;
  color: white;
  padding: 2rem;
  height: 100%;
}
.location-map-container {
  min-height: 300px;
  width: 100%;
  height:100%;
}
.location-contact-card a {
  color: #cde6ff;
}
.location-contact-card a:hover {
  color: #ffffff;
}

.location-map{
margin-left: calc(.5 * var(--bs-gutter-x));
margin-right: calc(.5 * var(--bs-gutter-x));
}


.location-map button{
max-width:80px;
}



/* TESTIMONIAL STYLING */
.testimonial-section {
  background-color: #174682;
  color: white;
  padding: 3rem 1rem;
}

.testimonial-img {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  object-fit: cover;
  position: relative;
}

.quote-icon {
  position: absolute;
  right: 10px;
  top: 10px;
  background-color: #37b3a8;
  color: white;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.author-line {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin-top: 1.5rem;
  padding-top: 0.75rem;
}

  input[type=number]::-webkit-outer-spin-button,
  input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  input[type=number] {
    -moz-appearance: textfield; /* Firefox */
  }



/* SERVICES STYLING */
.service-container {
  padding-right: calc(var(--bs-gutter-x) * 1.5);
  padding-left: calc(var(--bs-gutter-x) * 1.5);
}
  
.service-card {
  border: none;
  border-bottom: 5px solid #0B2442;
  height: 100%;
  padding: 2rem;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
  border-radius: 0;
  text-decoration: none;
}
.service-icon {
  width: 75px;
  height: 75px;
  background-color: #0B2442;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  padding:50px;
}
.service-card .arrow {
  display: flex;
  justify-content: end;
  font-size: 1.6rem;
  color: inherit;
  color: #0B2442;
}
.service-card h5 {
  font-weight: 600;
  color: #0B2442;
}


.service-card.green { border-color: #42ABA5; }
.service-card.green .service-icon { background-color: #42ABA5; }
.service-card.green h5 { color: #42ABA5 !important; }
.service-card.green .arrow { color: #42ABA5 !important; }

.service-card.blue { border-color: #64B7E5; }
.service-card.blue .service-icon { background-color: #64B7E5; }
.service-card.blue h5 { color: #64B7E5 !important; }
.service-card.blue .arrow { color: #64B7E5 !important; }

.service-card.midblue { border-color: #5D90E2; }
.service-card.midblue .service-icon { background-color: #5D90E2; }
.service-card.midblue h5 { color: #5D90E2 !important; }
.service-card.midblue .arrow { color: #5D90E2 !important; }



/* TESTIMONIAL STYLING */
.carousel-item {
  text-align: center;
}

.testimonial-box {
  background: white;
  border-radius: 8px;
  padding: 2rem;
  margin: 2rem auto;
  position: relative;
  max-width: 800px;
  box-shadow: 0 5px 10px rgba(0,0,0,0.1);
  border-bottom: 6px solid #43C3B6;
}



.testimonialquote-icon {
  background: #43C3B6;
  color: white;
  font-size: 2rem;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -62px auto 20px auto;
}


.testimonial-author {
  margin-top: 1.5rem;
  border-top: 1px solid #ccc;
  padding-top: 1rem;
  font-size: 0.95rem;
  color: #333;
  text-align:left;
}

.testimonial-author strong {
  font-weight: 700;
}

.testimonial-content{
 color:#000;
 text-align:left;
 min-height:120px;
    
}

.carousel-indicators [data-bs-target] {
  background-color: #fff;
  opacity: 0.4;
  width:5px;
  height:5px;
  border-radius:50%;
}

.carousel-inner{
    padding-bottom:40px;
}


.carousel-indicators .active {
  opacity: 1;
}



/* CONTACT BLOCK STYLING */

.hero-section {
  background-image: url('/images/offices/Bristol.jpg'); /* Replace with your image */
  background-size: cover;
  background-position: center;
  min-height: 500px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.overlay-box {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 2rem 3rem;
  border-radius: 0;
  max-width: 750px;
  width: 100%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.overlay-box h2 {
  font-weight: 600;
  color: #15437c;
}

.overlay-box p {
  font-size: 1.2rem;
  color: #333;
}

.hero-section .btn-primary {
  background-color: #15437c;
  border: none;
  padding: 0.75rem 2rem;
  font-weight: bold;
  border-radius:0;
}

.hero-section .btn-primary:hover {
  background-color: #4b78af;
}


/* FAQ BLOCK STYLING */

.faq-accordion .accordion-button.faq-header {
  background-color: #235aa6;
  color: white;
  font-weight: bold;
  font-size: 1.2rem;
  padding: 1rem;
  border: none;
}

.faq-accordion .accordion-button::after {
  content: '+';
  font-size: 2rem;
  transform: none;
  background-image: none;
  margin-left: auto;
  line-height: 1.1rem;
}

.faq-accordion .accordion-button:not(.collapsed)::after {
  content: '−'; /* En dash */
}

.faq-accordion .accordion-body {
  border: 1px solid #235aa6;
  padding: 1.25rem;
  background-color: white;
}

.faq-accordion .accordion-item {
  border: none;
  margin-bottom: 1rem;
}

.minheight{
  min-height:200px;
}

.ordercompleft{
  float:left;
  width:100px;
  text-align:right;
  margin-right:10px;
  font-weight:bold;
  color:#0a5090;
}

.orderwrap{
  clear:both;
}


.rsform-block-property-value .formControls,
.rsform-block-paper-copy-required .formControls,
.rsform-block-office .formControls,
.rsform-block-product .formControls,
.rsform-block-amount-to-pay .formControls{
  max-width:300px;
}


.formContainer > .row:nth-of-type(n+3) .col-sm-3 {width:0}
.formContainer > .row:nth-of-type(n+3) .col-sm-9 {width:100%}




@media (min-width: 768px) {
  .map-form-on-top {
    left: 200px;
    position: absolute;
    top: 60px;
    z-index: 100;
    margin-bottom: 60px;
    width: 100%;
  }
}

  
@media (min-width: 300px) {
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
}
  
@media (min-width: 1201px) {
    .nav {
      padding-top: 18px;
      float: left;
    }
}


@media (min-width: 768px) {
    .top-tel {
      top: 20px;
    }
}

@media (min-width: 1400px) {
    .btn-blue {
        padding: 15px 50px;
    }
    
    .btn-lilac {
      padding: 15px 50px;
    }
}


@media (min-width: 998px) {
    .location-cta button { max-width:80px; }
}


@media (max-width: 768px) {
    

    .topheaderbuttons{
      width:100%;
      display:block !important;
      overflow:hidden !important;
      margin: auto !important;
    }
    
    .topheaderbuttons * {
      position:relative !important;
      top:auto;
      left:auto;
      right:auto;
    }
    
    .top-tel{
      padding:20px;
      padding-top:0px;
      text-align: center;
    }
    
    .topheaderbuttons .mod-custom{
      padding:20px;
      padding-top:0px;
      text-align: center;
    }
    
    
    .topheaderbuttons .mod-custom .header-buttons{
      padding-top:10px;
      padding-bottom: 10px;
    }
    
    .topheaderlogo{
      width:95% !important;
    }
    
    .header_logo{
      margin:auto;
    }
    
    
    
    .topheadermenu{
      position:absolute;
      left:10px;
    }
    
    
    .herohome .carousel-item {
      height: 200px;
    }
    
    
    .topheader .row{
        max-width:97%;
    }
    
    .row{
        padding-right:0;
        padding-left:0;
        --bs-gutter-x:0 !important;
    }
    
    .nav {
        display: block;
    }
    
    .featurette-image{
        display:none;
    }

}

