body {
  font-family:'Rubik';
  font-weight:200;
  font-size:18px;
}
h1, h2 {
  font-family:'Baloo Paaji';
}
h1 {
  font-size: 72px;
  letter-spacing: -0.05em;
  color: #0dd595;
  line-height: 67px;
}
h2 {
  font-size:46px;
  color: #0dd595;
  margin-top:0;
  margin-bottom: 15px;
  margin-top: 20px;
  line-height: 1em;
}
.img-responsive {
  max-width:100%;
}

.logoImage img {
  max-width:100%;
}

.section {
  padding:55px 0;
}
.section.border-top {
  border-top:1px solid #efefee;
}

.button {
  background:#0dd595;
  font-weight:500;
  display:inline-block;
  padding:20px 30px;
  color:#fff;
  text-transform:uppercase;
  border-radius:8px;
  -moz-border-radius:8px;
  -webkit-border-radius:8px;
  font-size:19px;
  
-webkit-box-shadow: 0px 6px 0px #159847;
-moz-box-shadow: 0px 6px 0px #159847;
box-shadow: 0px 6px 0px #159847;
-webkit-transition: all .1s ease-in-out;
-moz-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}
.button, .button:hover, .button:focus, .button:active, .button:visited {
  color:#fff;
  text-decoration:none;
  
}
.button i.fa {
  margin-left:15px;
    font-size: 23px;
    position: relative;
    top: 2px;
}
.button:hover, .button:focus {
  background:#29e672;
  -webkit-box-shadow: 0px 2px 0px #159847;
  -moz-box-shadow: 0px 2px 0px #159847;
  box-shadow: 0px 2px 0px #159847;
  -webkit-transform: translate(0, 4px);
  -moz-transform: translate(0, 4px);
  transform: translate(0, 4px);
  -webkit-transition: all 0.05s ease-in-out;
  -moz-transition: all 0.05s ease-in-out;
  transition: all 0.05s ease-in-out;
  cursor:pointer;

}


.header {
  position:absolute;
  top:0;
  left:0;
  z-index:99999;
  width:100%;
  padding:15px 0;
  background:#f5f9f7;
}
.header .mobile-nav-button {
  float:right;
  margin: 0px 0;
  padding:0px 0;
  font-size:28px;
}
.header ul.navbar {
  list-style:none;
  padding:0;
  margin:0;
  text-align:right;
  float:right;
  display:block;
}
.header ul.navbar li {
  list-style:none;
  padding:0;
  margin:3px 7px;
  display:inline-block;
  position:relative;
}
.header ul.navbar li a {
  text-transform:uppercase;
  font-weight:500;
  display:block;
  padding:10px 0px;
  font-size:15px;
  color:rgba(0,0,0,0.7);
  
  transition:all 0.3s;
  -moz-transition:all 0.3s;
  -webkit-transition:all 0.3s;
}
.header ul.navbar li a:hover {
  text-decoration:none;
  color:rgba(0,0,0,0.5);
  transition:all 0.3s;
  -moz-transition:all 0.3s;
  -webkit-transition:all 0.3s;
}
.header ul.navbar li .dropdown {
  position: absolute;
  /* top: 0; */
  left: 0;
  padding: 0;
  list-style: none;
  margin: 0;
  z-index: 999999999;
  width:250px;
  background: #0dd595;
  padding-top:5px;
  padding-bottom:5px;
  display:none;
}
.header ul.navbar li .dropdown li {
  width: 100%;
  text-align: left;
  padding: 0px;
  margin: 0;
}
.header ul.navbar li .dropdown li a {
  padding:8px 15px;
  display:block;
  color:white;
}
.header ul.navbar li .dropdown li a:hover {
  color:rgba(266,266,266,0.8);
}
.header ul.navbar li:hover .dropdown, .header ul.navbar li .dropdown:hover {
  display:block;
}


.hero-section {
  background:#f5f9f7;
  padding-top:175px;
  padding-bottom:85px;
  position:relative;
  border-bottom:1px solid #d8d8d8;
}
.hero-section.cut {
  min-height:440px;
}
.hero-section .background-image {
  position:absolute;
  bottom:0;
  right:15%;
}
.hero-section h1 {
  margin-bottom:25px;
}
.hero-section .subtitle {
  font-size:23px;
  color:#5c5c5c;
  line-height:1.6em;
  margin-bottom:45px;
  padding:5px 10px;
  padding-right:25px;
  background:rgba(245, 249, 247, 0.8);
}
.hero-section.cut .subtitle {
  margin-bottom:0;
}



.services-box {
  display:block;
  background:#0dd595;
  padding:35px;
  overflow:hidden;
  position:relative;
  color:#fff;
  text-decoration:none;
  height:140px;
  margin-bottom:30px;
}
.services-box h3 {
  float: left;
  width: 70%;
  font-weight: 400;
  font-size: 26px;
  line-height:34px;
  margin:0;
  padding:0;
  position:absolute;
  top:0;
  bottom:0;
  left:30px;
  height:32px;
  margin:auto;
  z-index:9999;
  -webkit-transition:all 0.5s;
  -moz-transition:all 0.5s;
  transition:all 0.5s;
}
.services-box .arrow {
  position:absolute;
  top:0;
  bottom:0;
  right:30px;
  margin:auto;
  height: 44px;
  font-size: 32px;
  z-index:9999;
}
.services-box:before {
  content: ' ';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 400px 200px;
  border-color: transparent transparent #40d7ac transparent;
  position: absolute;
  top: 0;
  right: 0;
  padding-right: 73px;
  -webkit-transition:width 0.5s;
  -moz-transition:width 0.5s;
  transition:width 0.5s;
}
.services-box:hover {
  color:#fff;
}
.services-box:hover:before {
  width:100%;
  height:100%;
  background:#40d7ac;
  border:none;
  
  -webkit-transition:width 0.5s;
  -moz-transition:width 0.5s;
  transition:width 0.5s;
}
.services-box:hover h3 {
  left:55px;
  
  -webkit-transition:all 0.5s;
  -moz-transition:all 0.5s;
  transition:all 0.5s;
}


.section.carousel-section {
  background:url('/assets/image/poly-background.png') center center;
  background-size: 100%;
}
.section.carousel-section h2 {
  color:#fff;
}
.section.carousel-section .text-carousel {
  width:80%;
  margin:auto;
}
.section.carousel-section .text-carousel p, .section.carousel-section .text-carousel ul {
    font-size: 21px;
    color: #fff;
    line-height: 1.6em;
}
.section.carousel-section .text-carousel p a {
  color:#fff;
  text-decoration:underline;
}
.section.carousel-section .text-carousel ul {
  width:100%;
  margin:auto;
  text-align:left;
  margin-bottom:20px;
}

.footer {
  padding: 25px 0;
  padding-top:80px;
  padding-bottom:30px;
  background: #1a723f;
  color: rgba(266,266,266,0.7);
  font-size:17px;
}
.footer a {
  color: rgba(266,266,266,0.7);
}
.footer ul, .footer ul li {
  list-style:none;
  margin:0;
  padding:0;
}
.footer ul li {
  margin:3px 0;
}
.footer ul li a:hover {
  text-decoration:none;
  color:rgba(266,266,266,0.9);
}
.footer .social-icons {
  margin:15px 0;
  margin-top:30px;
}
.footer .social-icons ul li {
  display:inline-block;
  margin-right:10px;
  font-size:28px;
}
.footer .contact-details ul li i.fa {
  width:20px;
  text-align:center;
  margin-right:5px;
}

.footer-form label {
  display:block;
  font-size:14px;
  line-height:21px;
  margin-bottom:5px;
}
.footer h2 {
  color:rgba(266,266,266,0.8);
  margin-top:0;
  padding-top:0;
}
.footer-form input, .footer-form textarea, .footer-form select {
  margin-bottom:15px;
  display:block;
  width:100%;
  padding:3%;
  border:1px solid #ccc;
}
.footer-form textarea {
  height:110px;
}
.footer-form button {
  width:100%;
  margin-top:4px;
  padding:12px 0;
  text-align:center;
  outline:none;
  border:none;
  font-weight:700;
  font-size:16px;
  background:#0dd595;
  color:#fff;
}
.footer-form button:hover {
  background:#fff;
  color:#1a723f;
}
.footer .copyright {
  margin-top: 40px;
  padding-top: 25px;
  /* padding-bottom: 25px; */
  border-top: 1px solid rgba(266,266,266,0.2);
}

.basic-page {
  line-height:1.8em;
}
.basic-page a {
  color:#0dd595;
}

.testimonial-section {
  background:rgba(13, 213, 149, 0.1);
  padding:60px 0;
  padding-bottom:30px;
}
.testimonial-box {
  background:#fff;
  padding:25px;
  margin-bottom:30px;
  
  -webkit-box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.05);
  -moz-box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.05);
  box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.05);
  font-size:16px;
}
.testimonial-box .author {
  font-weight:bold;
}

.footer-logos {
  margin-top:25px;
}
.footer-logos img {
  width:150px;
  margin:2px 0;
}
.footer-logos .horz img {
  width:auto;
  height:75px;
}


.news-item {
  background:#f5f9f7;
  border-radius:12px;
  padding:20px;
  margin:15px 0;
}
.news-item .image-container {
  height:280px;
  overflow:hidden;
}
.news-item .image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.news-item h2 {
  margin-top:0;
  padding-top:0;
  font-size:37px;
}
.news-item .button {
  border:none;
  box-shadow:none;
  color:#fff;
  padding:10px 25px;
}


.pager-main {
  text-align:center;
  font-size:13px;
}
.pager-main div.title {
  font-size:13px;
  margin-right:5px;
  line-height:35px;
  display:inline-block;
}
.pager-main span {
  margin:20px 7px;
  background:#efefee;
  text-align:center;
  width:35px;
  height:35px;
  line-height:35px;
  font-size:13px;
  display:inline-block;
  border:1px solid #ccc;
}

#requestInfoButton {
    background: #0dd595;
    font-weight: 500;
    display: inline-block;
    padding: 20px 30px;
    color: #fff;
    text-transform: uppercase;
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    font-size: 19px;
    -webkit-transition: all .1s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    color: #fff;
    text-decoration: none;
    margin:0;
    
    position:fixed;
    right:-97px;
    top:150px;
    transform: rotate(-90deg);
    z-index:999999;
    opacity:0.9;
}
#requestInfoButton:hover {
  background: #29e672;
}




/* Accordion Container */
.accordion {

}

/* Individual Sections */
.accordionSection {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-bottom: 12px;
  overflow: hidden;
  background-color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: border-color 0.2s ease;
}

.accordionSection:hover {
  border-color: #cbd5e1;
}

/* Accordion Title Wrapper */
.accordionTitle {
  padding: 16px 20px;
  background-color: #f8fafc;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  transition: background-color 0.2s ease;
}

.accordionTitle:hover {
  background-color: #f1f5f9;
}

/* Adjusting your existing H2 inside the title block */
.accordionTitle h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: #1e293b;
  padding-right: 20px; /* Space for the icon */
}

/* Dynamic + / - Indicator */
.accordionTitle::after {
  content: '+';
  font-size: 1.5rem;
  font-weight: 400;
  color: #64748b;
  transition: transform 0.2s ease;
}

/* Active State Styles (When section is expanded) */
.accordionSection.active {
  border-color: #94a3b8;
}

.accordionSection.active .accordionTitle {
  background-color: #f1f5f9;
  border-bottom: 1px solid #e2e8f0;
}

.accordionSection.active .accordionTitle::after {
  content: '−'; /* True minus sign character */
  transform: rotate(180deg); /* Optional smooth rotation effect */
}

/* Content Area */
.accordionContent {
  padding: 24px;
  display: none; /* Hidden by default */
  background-color: #ffffff;
  color: #334155;
}

/* Basic internal typography spacing fixes */
.accordionContent h3 {
  margin-top: 0;
  font-size:1.2rem;
  color: #0f172a;
}
.accordionContent p:last-child {
  margin-bottom: 0;
}

/* 1. The main container distributed evenly across the page */
.accreditations-box {
    display: flex;
    flex-wrap: wrap;         /* Allows logos to wrap onto a new line on mobile screens */
    justify-content: center; /* Centers them horizontally */
    align-items: center;     /* Vertically aligns logos of different heights */
    gap: 2rem;               /* Even spacing between each logo */
    width: 100%;
    max-width: 1200px;       /* Keeps the row from getting excessively wide on huge monitors */
    margin: 0rem auto;       /* Centers the entire box on the page */
    padding: 1rem;
}

/* 2. The uniform "box" for each individual logo */
.accreditations-box .contain {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 160px;            /* Forces every logo container to be the exact same width */
    height: 80px;            /* Forces every logo container to be the exact same height */
}

/* Ensure the <a> tags inside the container don't break the flex sizing */
.accreditations-box .contain a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

/* 3. The magic trick to normalize different image sizes */
.accreditations-box img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;     /* Scales the image down nicely so it never stretches or clips */ /* OPTIONAL: Makes all logos greyscale for a clean, cohesive look */
    opacity: 0.7;            /* OPTIONAL: Subtly dims them so they don't distract from core content */
    transition: all 0.3s ease;
}

/* OPTIONAL: Brings back the full color/brightness when a user hovers */
.accreditations-box .contain:hover img {
    opacity: 1;
}

.accreds-section {
  background:#efefee;
  padding:20px 0;
  padding-bottom:30px;
}

