/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 03 2026 | 03:32:09 */
:root{
  --c1: #1F2655;
  --c2: #846B92;
  --c3: #17A398; 
  --c4: #66D7D1;
}

body {
    font-family: "League Spartan", sans-serif;
}

#search-lightbox input#s {
    background: #ffffffc4 !important;
    color: var(--c1) !important;
}

.searchform .button.icon i {
    color: #4BA198;
}
input#s::placeholder {
    color: var(--c1) !important;
}


.highlight span {
    background: #4dbcb4;
    padding: 0 0.4rem;
}

.nav-dropdown {
    min-width: 420px; 
  
}
.light, .light * {
  color: #846B92;
}
.px {
  padding-left: 1rem;
  padding-right: 1rem;
}

.mb-0 {
  margin-bottom:0;
}

.col.left .text {
    text-align: left !important;
}

.col.left h2:after {
    margin-left: 0;
}

.header-button a.icon.button {
    background-color: var(--c4) !important;
}

.header:not(.transparent) .header-nav-main.nav > li > a {
    color: var(--c1) !important;
    font-size: 1.5rem;
    margin-left: 10px;
}

.rightbar img {
    width: 54px;
    margin: 0 !important;
      border-radius: 50%;
}

div#topbicon span {
    font-size: 1.3em;
    padding: 0.6rem 1rem;
    margin: 0 0.2rem;
    background: var(--hs-bl);
    color: var(--hs-y);
    border-radius: 5px;
    transition: 0.5s;
}
.mb-0 {
    margin-bottom: 0 !important;
}

.title-icon {
    filter: drop-shadow(4px 4px var(--c4));
    margin-bottom: 0.3rem !important;
    width: 80px !important;
}

.title-icon>img:hover {
    transform: none !important;
}
.title-icon img {
    height: auto !important;
    filter: none !important;
}

.back-to-top {
    background: var(--c2) !important;
    border-color: var(--c2) !important;
    color: #FFF !important;
}

.back-to-top.button.icon i {
    font-size: 1.8em;
    top: 0;
}

.sub-ft h2 {
    font-size: 4rem;
}
.sub-ft h2:after {
    content: none;
}

.sub-ft p {
    font-size: 1.6rem;
    line-height: 1.4;
}

.sub-ft input {
    font-size: 1.3rem !important;
    border: 2px solid var(--c2) !important;
}

    .sub-ft button {
        background-color: var(--c1) !important;
    }

::placeholder {
      color: #693e3e !important;
}



h2 {
  font-size: 3rem;
  line-height: 1;
  color: var(--c3);
}
h2 strong {
    color: var(--c1);
    font-size: 1.4em;
}

/* h2:after {
    content: "";
    width: 390px;
    height: 0.5rem;
    background: var(--c4);
    display: block;
    margin: auto;
    margin-top: -1.18rem;
} */

.our-sv h3 {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: var(--c3);
}
.our-sv .banner {
    aspect-ratio: 10/11;
    padding: 0 !important;
}
body.page p {
  font-size: 1.5rem;
}
.our-sv .col.large-3>.col-inner {
    box-shadow: 3px 3px 6px #e7e7e7;
    margin-bottom: 1rem;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
}

.our-sv .col.large-3 {
    transition: 0.3s ease;
}
.our-sv .col.large-3:hover {
    transform: translateY(-10px);
    transition: 0.3s ease;
}

.our-pr .large-3 {
    flex-basis: 20%;
    max-width: 20%;
    padding: 0 1.7rem;
  transition: 0.2s;
}

.our-pr .large-3.x {
    transform: scale(1.06);
    transition: 0.3s;
}

.stepper-wrapper {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.stepper-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}
.stepper-item::before {
  position: absolute;
  content: "";
  border-bottom: 2px solid #ccc;
  width: 100%;
  top: 28px;
  left: -50%;
  z-index: 2;
}
.stepper-item::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #ccc;
  width: 100%;
  top: 28px;
  left: 50%;
  z-index: 2;
}
.stepper-item .step-counter {
    position: relative;
    z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #ccc;
    margin-bottom: 6px;
    font-size: 1.3em;
    font-weight: 600;
    align-content: center;
  background-color: #d5d5d5;
}
.stepper-item.active {
  font-weight: bold;
}
.stepper-item.completed .step-counter {
    background-color: var(--c3);
    color: #FFF;
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
}
.stepper-item::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #d5d5d5;
  width: 100%;
  top: 28px;
  left: 50%;
  z-index: 3;
}
.stepper-item::before {
  position: absolute;
  content: "";
  border-bottom: 2px solid #ccc;
  width: 100%;
  top: 28px;
  left: -50%;
  z-index: 2;
}
.stepper-item.completed::after {
  border-bottom: 2px solid var(--c3);
}
.stepper-item:first-child::before {
  content: none;
}
.stepper-item:last-child::after {
  content: none;
}

.our-pr i.fas {
    font-size: 4.2rem;
    margin-bottom: 1rem;
    color: var(--c3);
}

.our-pr h3 {
    line-height: 1.1;
    font-size: 2.1rem;
    color: var(--c1);
    min-height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
}

.our-pr p {
    padding: 0 0.5rem;
    line-height: 1.2;
}

.our-ms {
    width: 96%;
    margin: auto;
    border-radius: 4rem;
    overflow: hidden;
}

.our-ms h2:after {
    margin-left: 0;
}

.our-msx .row-large {
    background-image: url(/wp-content/uploads/2024/05/mission-bg.jpg);
    background-size: cover;
}

.our-ms .row-large:before {
    background-image: url(/wp-content/uploads/2024/05/mission-bg-5.jpg);
    background-size: cover;
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    background-position: bottom;
}

.our-ms .col {
    padding: 0;
}

.our-ms .text {
    padding: 3rem 3rem;
}

.our-ms p {
    font-size: 1.8rem !important;
    line-height: 1.4;
    padding-right: 1rem;
}
.our-ms {
    border-radius: 3rem;
    overflow: hidden;
    max-width: 95%;
    display: block;
    margin: auto;
}

.our-ms h2 {
    font-size: 4.2rem;
}

.our-ms .text:after {
    content: "";
    height: 0.7rem;
    width: 12rem;
    display: block;
    background: var(--c2);
    margin-top: 1rem;
}

.our-vl h2 {
    font-size: 4.2rem;
    color: var(--c1);
}

.our-vl h3 {
    font-size: 2.1rem;
    line-height: 1;
    margin-top: -1.2rem;
}

.our-vl .img:hover {
    transform: scale(1.1);
  transition:0.3s
}
.our-vl .img {
  transition:0.3s
}
.our-vl img {
    height: 340px;
    margin: auto;
    display: block;
    width: auto;
    filter: drop-shadow(5px 5px 0 var(--c4));
    max-height: 250px;
}


.rounded img {
    border-radius: 50%;
}

.our-team h3 {
    font-size: 1.6rem;
}

.our-team h4 {
    font-size: 1.3rem;
}

.our-team .box-text-inner p {
    font-size: 1rem;
    line-height: 1.2;
    text-align: justify;
    margin-top: 1rem;
}

.comm h2 strong {
    color: var(--c1);
}
.comm h2 {
    color: var(--c3);
}
.comm h4 {
    color: var(--c1) !important;
    font-size: 1.4rem !important;
    margin-top: 0.5rem;
}


.blog-sec2 .box-text {
    padding-bottom: 0rem !important;
}

.blog-sec2 .box-blog-post .is-divider {
    display: none !important;
}

.entry-content h2 {
    font-size: 1.8rem !important;
}

.entry-content h3 {
    font-size: 1.8rem !important;
}

section.blog.sec-1 .row, section.blog.sec-2 .row, section.blog.sec-3 .row {
    justify-content: center;
}

.blog-sec3 h5 {
    font-size: 1.6rem;
}

.blog-sec3 p.from_the_blog_excerpt {
    font-size: 1.2rem;
}

/* footer */
ul.footer-link li {
    margin-bottom: 0px;
}
ul.footer-link li a {
    color: white;
    text-decoration: underline;
    font-size: 1.3rem;
    font-weight: 400 !important;
}
.footer2 .text-logo p {
    font-size: 1.4rem;
    line-height: 1.2;
}

.absolute-footer.dark {
    color: #f9f9f982;
    background: #161537;
}
#footer .img .img-inner {
    overflow: hidden;
    padding: 5px;
}

#footer .right .icon-box p {
    margin-bottom: 0 !important;
}

#footer .right .icon-box img {
    width: 40px;
}

#footer .right .icon-box {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

#footer .right {
    background-image: url("/wp-content/uploads/2025/05/footer-icon-right.jpg");
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 30%;
}

#footer .right h3 {
    margin-top: 2rem;
    font-size: 2rem;
}

#footer .right .text p {
    margin-bottom: 0.6rem;
    line-height: 1.2;
}

#footer .right a.button {
    background: #66d7d1;
    color: #1c2d5a;
    margin: 1.1rem 0;
}

#footer .right a {
    color: #FFF;
    font-weight: 700;
}

div#popmake-3021 .pum-content {
    text-align: left;
}

#popmake-3021 button.pum-close.popmake-close {
    right: 0;
    top: 6px !important;
    padding: 3px 6px !important;
    background: none !important;
    color: #939393 !important;
    box-shadow: none !important;
}

div#wpforms-3017-field_13 * {
    font-size: 1rem !important;
    margin-bottom: 0.5rem !important;
}

div#wpforms-3017-field_13 {
    margin-bottom: 1rem !important;
    background: #ebebeb;
    padding: 1rem 1rem 0.2rem;
}

div#wpforms-3017-field_13 p:last-child {
    margin-bottom: 0 !important;
}

.full-5st .large-3 {
  flex-basis: 20%;
  max-width: 20%;
}

.full-5st h2 {
    margin-bottom: 4rem;
}

.full-5st h2 span {
    color: #FFF;
    font-size: 3.9rem;
    border-bottom: 4px solid #66D7D1;
    padding: 0.6rem;
}

.full-5st {
    padding: 5rem 0 !important;
    padding-bottom: 0 !important;
}

.full-5st .icon-box-img {
    width: 200px !important;
    height: 200px;
    background: #66d7d1;
    padding: 45px !important;
    border-radius: 50%;
  transition: 0.5s ease;
}
.full-5st .icon-box-img:hover {
    background: #17A398;
    transition: 0.5s ease;
}

.full-5st .icon-box-text p {
    color: var(--c1) !important;
    font-weight: 700 !important;
    line-height: 1.1;
    font-size: 1.9rem !important;
}

.full-5st p.lead {
    color: #FFF !important;
    font-weight: 700;
    font-size: 1.4rem !important;
}

.full-5st .button.primary {
    background: #66d7d1 !important;
    color: #1f2655;
    font-size: 2rem;
    border: none !important;
  transition: 0.5s ease;
  border-radius: 2rem !important;
}

.full-5st .button.primary:hover {
	background: #17A398 !important;
    border: none !important;
    color: #1f2655;
  transition: 0.5s ease;
}

a.button.alert {
    background-color: #17A398;
    color: #202652;
    border-radius: 22px !important;
    overflow: hidden;
}

.wwd p {
    font-size: 5rem !important;
    margin-bottom: 0;
      margin-top: -6rem;
}


.sommerville .button.title {
    font-size: 2rem;
    background: #66D7D1;
    border: none;
}

.sommerville h2 span {
    background: #66d7d1;
    padding: 1.1rem 1.6rem;
    border-radius: 1.5rem;
}

a.button.success {
    background: #66D7D1;
    color: var(--c1);
}

.sommerville .bg {
    background-size: cover !important;
}

.sommerville button.flickity-button.flickity-prev-next-button.next {
    width: 100%;
    background: url(/wp-content/uploads/2025/05/next-i.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left;
    margin-left: 1rem;
}

.sommerville ol.flickity-page-dots {
    transform: translateY(40px);
}

.sommerville .flickity-page-dots .dot {
    width: 24px;
    height: 24px;
}

.sommerville-info h3 {
    font-size: 3.2rem !important;
    border-bottom: 7px solid #17a398;
}

.sommerville-info p {
    margin: 0 !important;
    height: 100%;
    background: #B3E3E2;
    padding: 1rem 2rem;
    display: flex;
    align-items: center;
    border-radius: 1.2rem;
    transition: 0.5s ease;
    color: var(--c1);
    font-weight: 400;
    line-height: 1.2;
    font-size: 1.8rem !important;
}

.sommerville-info p:hover {
    background: #17A398;
    transition: 0.5s ease;
}

.sommerville-info a {
    color: var(--c1);
    text-decoration: underline;
}

.sommerville-info.hastings h3 {
    border-bottom: 7px solid #846B92;
}


.sommerville.hastings button.flickity-button.flickity-prev-next-button.next {
    background: url(/wp-content/uploads/2025/05/next-2-i.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left;
    margin-left: 1rem;
}
.sommerville-info.hastings p {
    background: #B6A3C1;
}

.sommerville-info.hastings p:hover {
    background: #846B92;
    transition: 0.5s ease;
}

a.button {
    display: inline-flex;
    align-items: center;
}

.full-5st .button {
    border-radius: 2rem !important;
}

.sv-menu .ux-menu {
    flex-direction: row;
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    align-content: stretch;
}

.sv-menu .ux-menu-link, .sv-menu .ux-menu-link a {
    display: inline-block;
    min-height: unset !important;
    font-size: 1.5rem;
    font-weight: 700;
}

.sv-menu .ux-menu-link--active a {
    color: #FFF !important;
}

.sv-menux, .sv-menux .col {
    margin: 0 !important;
    padding: 0;
}
.sv-menu {
    background: #B3E3E2;
    border-bottom: 3px solid #3eb9b7;
    padding: 0 !important;
}
.sv-menu .ux-menu-link {
    padding: 0.5rem 2rem;
    text-align: center;
    display: flex;
    line-height: 1.2;
}

.sv-menu .ux-menu-link:not(:last-child) {
    border-right: 2px dashed #e6e0ec;
}

.sv-menu .ux-menu-link--active {
    background: #846B92;
    border-radius: 0;
    border: none !important;
    margin-left: -1px !important;
}

div#footer_popup .lead {
    font-weight: 700;
    text-align: center;
    font-size: 2rem;
    line-height: 1.1;
}

.some-intro p {
    font-size: 1.2rem !important;
    margin-bottom: 0.3rem;
    font-style: italic;
}

div#footer_popup {
    border-radius: 1rem;
    padding: 3rem 2rem !important;
    max-width: 90% !important;
}

#footer_popup button.mfp-close {
    background: #00386d;
    z-index: 9999;
    right: 4rem;
    top: 2rem !important;
    mix-blend-mode: darken !important;
    opacity: 0.7;
}

div#footer_popup legend.wpforms-field-label {
    font-size: 1.3rem;
    line-height: 1.2;
}

div#footer_popup label.wpforms-field-label {
    font-size: 1.2rem;
  line-height: 1.2;
}

div#footer_popup label.wpforms-field-label-inline {
    font-size: 1.1rem;
  line-height: 1.2;
}

div#footer_popup button#wpforms-submit-3017 {
    font-size: 1.3rem;
    padding: 0 2rem;
    font-weight: 700;
}

div#footer_popup .wp-editor-tabs button {
    border-radius: 3px 3px 0 0 !important;
}

#footer .right a:hover {
    border-bottom: 2px solid #66d7d1;
}


.mdp-readabler-trigger-button-box button {
	border-radius: 50px !important;
}

button#mdp-readabler-trigger-button span {
    border-radius: 50px;
    line-height: 0 !important;
}
@media and (max-width: 480px){
	
.flickity-page-dots {
    transform: scale(0.4) translateX(-36px) !important;
    bottom: 0 !important;
}
	
.back-to-top {
    background: var(--c2) !important;
    border-color: var(--c2) !important;
    color: #FFF !important;
    width: 2.7rem;
    height: 2.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
  z-index: 999;
}
  
  #footer p {
    font-size: 1rem;
}
  #footer .img .img-inner img {
    width: 100% !important;
}
  
  #footer .spot-i img {
    width: 30px !important;
}
  #footer .stack {
    width: 65%;
    display: flex;
    margin: 0;
}
  
  #footer .is-border {
    border: none;
}
  
  .html.header-social-icons a.icon.button.circle {
    width: 3rem;
    height: 3rem;
    background: #1f2655;
    border: none;
    color: #FFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.5rem;
}
  .html.header-social-icons .button.icon.circle>i:only-child {
    top: 0;
    font-size: 1.6rem;
    color: #FFF;
}
  
  .off-canvas:not(.off-canvas-center) .nav-vertical li>a {
    color: #1f2655;
    font-size: 1.2rem;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}
  .nav:not(.nav-slide) .active>.children {
    padding-bottom: 10px;
}
  
  .cta:before {
    content: "";
    width: 89px;
  }
  
  .full-5st {
    padding: 2rem 0 !important;
}
  
.full-5st h2 {
    margin-bottom: 2rem;
    font-size: 1.8rem;
    z-index: 999999;
    position: relative;
    display: block;
}
  
  .full-5st .large-3 {
    flex-basis: unset !important;
    max-width: unset !important;
}
  .full-5st .button.primary {
    margin: 0;
    margin-bottom: 1rem;
    line-height: 1;
}
  
  .full-5st .icon-box-img {
    width: 100px !important;
    height: 100px;
    padding: 1.5rem !important;
}
  
  .full-5st p.lead {
    margin-bottom: 0.5rem;
}
  
  .full-5st .icon-box-text p {
    font-size: 1.5rem !important;
}
  
  .full-5st .icon-box-left {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    align-items: center;
}
  
  .cta.full-5st .button.primary {
    font-size: 1.2rem;
    margin: 0;
    margin-bottom: 0.5rem;
}
  .ux-menu.sv-menu {
    display: none;
}
  .wwd p {
    line-height: 1;
    font-size: 2.7rem !important;
}

.wwd {
    min-height: unset !important;
}
  
  .wwd p {
    margin-top: 0;
}
    
.sommerville {
    padding-top: 2rem !important;
    min-height: 60vh !important;
}
  
  .sommerville h2 span {
    display: block;
    text-align: center;
}
  
  .sommerville-info h3 {
    font-size: 2.5rem !important;
    text-align: center;
}
.sommerville-info .col p {
    display: block;
    font-size: 1.4rem !important;
    width: 86%;
    margin: 0 auto !important;
}
  
  .sommerville-info .col {
    padding-bottom: 1rem !important;
}
  
  div#footer_popup {
    border-radius: 1rem;
    padding: 2rem 0.9rem !important;
    max-width: 100% !important;
}

.some-intro p {
    font-size: 1.1rem !important;
    margin-bottom: 0.3rem;
    font-style: italic;
}
  button.mfp-close {
    background: #00386d;
    z-index: 9999;
    right: 0.5rem;
    top: 1rem !important;
    mix-blend-mode: darken !important;
    opacity: 0.7;
}
  div#wp-wpforms-3017-field_6-wrap {
    margin-top: 2rem;
}
}