/* Override any styles here */
h1,
h2,
.font-bold,
.heading-2 {
  font-weight: 600 !important;
}

.contact-block {
  color: #ffffff;
}

.gravity-form-block input[type="text"],
.gravity-form-block input[type="number"],
.gravity-form-block input[type="email"],
.gravity-form-block input[type="tel"],
.gravity-form-block select,
.gravity-form-block textarea {
  border: 1px solid #7b7b7b !important;
  border-radius: 5px !important;
  padding: 15px 10px !important;
}

.gravity-form-block input[type="submit"] {
  background-color: #15a1dc;
  margin: 0 auto;
  color: white;
  font-weight: 600 !important;
  padding: 15px 60px !important;
  cursor: pointer;
}

.contact-us .gform_wrapper.gravity-theme .gfield_label,
.contact-us .gform_wrapper.gravity-theme .gfield-choice-input + label,
.contact-us .gform_wrapper.gravity-theme .gfield_checkbox label,
.contact-us
  .gform_wrapper.gravity-theme
  .gfield_radio
  label
  .contact-us
  .gform_wrapper.gravity-theme
  .gfield_description,
.contact-us .gfield_description {
  color: white !important;
}

@media (min-width: 1536px) {
  .milestoneText {
    font-size: 70px !important;
  }
}
@media (min-width: 1024px) {
  .milestoneText {
    font-size: 55px !important;
  }
}

.milestoneText {
  font-size: 50px !important;
}
@media (max-width: 1179px) {
  .hero-video {
    height: unset !important;
    min-height: unset !important;
  }
  .hero-video iframe {
    height: 56.25vw;
    position: unset;
    left: 0;
    min-height: unset;
    min-width: unset;
    top: 0;
    transform: translate(0%, 0%) !important;
    width: 100vw;
    height: calc(100vw / 1.79);
  }
}

/* Single Post */
.hero_post {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  height: 40vh;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
@media (min-width: 1500px) {
  .hero_post {
    height: 55vh;
  }
  .hero_post .heading-1 {
    line-height: 3.4rem;
  }
}
.hero_post .layer {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  z-index: 0;
}

.hero_post .heading-1 {
  position: relative;
  z-index: 1;
  line-height: 2.9rem;
}

.article_post p {
  margin: 1rem 0;
}

.article_post h1,
.article_post h2 {
  margin: 1.5rem 0;
}

.article_post h1 {
  font-size: 3rem;
}

.article_post h2 {
  font-size: 2.7rem;
}

.article_post h3 {
  font-size: 2.2rem;
}
@media (max-width: 1024px) {
  .article_post h1 {
    font-size: 2.5rem;
  }

  .article_post h2 {
    font-size: 2rem;
  }

  .article_post h3 {
    font-size: 1.8rem;
  }
}
.article_post strong,
.article_post h1,
.article_post h2 {
  font-weight: 700 !important;
}

.article_post ul {
  margin-left: 40px;
}

.article_post ul li::before {
  content: "\2022";
  color: #15a1dc;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}

.article_post .wp-block-image img {
  margin: 10px auto;
}

.article_post a {
  color: #15a1dc;
}

.swiper {
  width: 100%;
  height: 80vh;
}

.swiper .swiper-slide {
  position: relative;
  overflow: hidden;
  border-radius: 0;
}

.swiper-slide iframe {
  height: 56.25vw;
  left: 50%;
  min-height: 100vh;
  min-width: 177.77vh;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
}

.swiper-slide .slide-info {
  align-items: flex-end;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  padding-right: 8rem;
  position: absolute;
  z-index: 10;
  width: 100%;
}

.swiper-slide .slide-content {
  font-size: 1.5rem;
}

.swiper-slide .text-block {
  padding: 0.75rem 2rem;
}

.swiper .swiper-slide img {
  object-fit: cover;
  position: absolute;
  height: 0;
  inset: 0;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-position: top;
  width: 0;
  z-index: 5;
}

@media only screen and (max-width: 768px) {
  .swiper-slide .slide-info {
    align-items: center;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.swiper-button-prev,
.swiper-button-next {
  background: rgba(255, 255, 255, 0.6);
  border-radius: 100%;
  padding: 2rem;
}

.blog-content {
  width: 100%;
}

.blog-image {
  height: 350px;
  margin-bottom: 10px;
  position: relative;
  margin-right: 0;
  width: 100%;
}

.blog-block {
  display: block;
}

@media only screen and (min-width: 768px) {
  .blog-image {
    margin-right: 5%;
  }
}

.background-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -10;
  margin: 0;
  display: block;
  overflow: hidden;
  padding: 0;
}

.background-image img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  height: 0px;
  max-height: 100%;
  min-height: 100%;
  width: 0px;
  min-width: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: top;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after,
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  color: #132a4f;
}

.pagination {
  display: flex;
  justify-content: center;
  padding-top: 2rem;
}

.pagination .nav-previous {
  margin-right: 1rem;
}

.pagination .pagination-nav a {
  display: inline-block;
  border-radius: 0.5rem;
  background-color: #132a4f;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 700;
  text-transform: capitalize;
  letter-spacing: 0.025em;
  color: #ffffff;
}

.pagination .pagination-nav a:hover {
  background-color: #a5c55e;
}

.hubspot-portal-info {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
  background: #eff2f5;
  text-align: center;
  border-radius: 0.5rem;
}

.hubspot-portal-info p {
  margin-bottom: 1rem;
}

.hubspot-form-info {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.hubspot-form-question {
  margin-right: 1rem;
  font-weight: bold;
}

.cta_neutral {
  margin-top: 1rem;
  display: inline-block;
  border-radius: 0.5rem;
  background-color: #b9b9b9;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 700;
  text-transform: capitalize;
  letter-spacing: 0.025em;
  color: #ffffff;
}

@media (min-width: 1024px) {
  .cta_neutral {
    margin-top: 0px;
  }
}

.cta_neutral:hover {
  background: #a5c55e;
}
img.aligncenter {
  margin: auto;
}

.hero-block.fullscreen-overlay {
  position: relative;
  min-height: 100vh; /* allows it to grow if content is too tall */
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: left;
  padding: 2rem;
  overflow: hidden;
  flex-direction: column; /* ensures vertical stacking */
}

/* On small screens, allow content to dictate height */
@media (max-width: 768px) {
  .hero-block.fullscreen-overlay {
    height: auto;
    padding: 3rem 0rem;
    min-height: 80vh;
  }
  .logo_header {
    width: 170px;
  }
}

.hero-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.vimeo-background {
  width: 100vw;
  height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
  min-height: 100vh;
  min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.image-background {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
}
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #030e21fc;
  opacity: 0.65;
}

.hero-content {
  position: relative;
  z-index: 1;
  padding: 0 40px;
}

.eyebrow {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 12px;
  color: #ffffff;
  margin-bottom: 40px;
  max-width: 900px;
}

.headline {
  font-family: "Montserrat", Sans-serif;
  font-size: 65px;
  font-weight: 600;
  line-height: 1.2em;
  color: #ffffff;
  margin-bottom: 40px;
  max-width: 900px;
}

@media (max-width: 1024px) {
  .headline {
    font-size: 48px;
  }
}

@media (max-width: 768px) {
  .headline {
    font-size: 36px;
  }
  .description,
  .headline,
  .eyebrow {
    margin-bottom: 20px;
  }
}

@media (max-width: 480px) {
  .headline {
    font-size: 28px;
  }
}

.description {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 40px;
  max-width: 800px;
}

.cta-button {
  background-color: #51b0ed;
  font-family: "Roboto", Sans-serif;
  font-size: 17px;
  font-weight: 500;
  border-radius: 10px 10px 10px 10px;
  padding: 14px 14px 14px 14px;
  color: white;
  display: inline-block;
}

.cta-button:hover {
  background: #009ee2;
}

@media (max-width: 768px) {
  .image-gallery .grid > div,
  .image-gallery .grid > a {
    grid-column: 1 / -1; /* span full width of the grid */
    width: 100%; /* ensure full width */
  }
}

.el_content_section h2 {
  font-family: "Montserrat", Sans-serif;
  font-size: 48px;
  font-weight: 600;
  -webkit-text-stroke-width: 0px;
  stroke-width: 0px;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #030303;
  line-height: 1;
}
hr {
  height: 2px;
  background: #000;
  margin: 35px 0;
  width: 90%;
}
.el_content_section .header {
  width: 43.695%;
  padding-left: 20px;
}
.el_content_section .header p {
  font-family: "Open Sans", Sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 2.9px;
  color: #54595f;
  line-height: 1;
  margin-bottom: 20px;
}
.el_content_section .content {
  flex: 1;
}

/* Responsive styles */
@media (max-width: 768px) {
  .el-padding {
    padding: 50px 20px;
  }
  .el-container {
    flex-direction: column;
    gap: 20px;
  }
  .el_content_section .header {
    width: 100%;
    padding-left: 0;
  }
  .el_content_section h2 {
    font-size: 35px;
  }
}

.elementor_what_we_offer_section {
  background-color: #1d3747;
  padding: 100px 20px 100px 20px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.elementor_what_we_offer_section .overlay-bg {
  background-color: #1d304e;
  opacity: 0.89;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.elementor_what_we_offer_section .subtitle {
  font-family: "Montserrat", Sans-serif;
  font-size: 36px;
  font-weight: 400;
  -webkit-text-stroke-width: 0px;
  stroke-width: 0px;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #ffffff;
  line-height: 1;
  text-align: center;
}
.elementor_what_we_offer_section .heading {
  font-family: "Montserrat", Sans-serif;
  font-size: 55px;
  font-weight: 600;
  -webkit-text-stroke-width: 0px;
  stroke-width: 0px;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #ffffff;
}
.elementor_what_we_offer_section .list {
  margin-top: 30px;
  padding-top: 30px;
  padding-bottom: 30px;
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
}
.elementor_what_we_offer_section .list > div {
  padding: 25px;
}
.elementor_what_we_offer_section .list h3 {
  font-family: "Montserrat", Sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 20px;
}
.elementor_what_we_offer_section .list p {
  text-align: center;
  font-family: "Roboto", Sans-serif;
  font-weight: 400;
  color: #fbfbfb;
}
@media (max-width: 768px) {
  .elementor_what_we_offer_section {
    padding: 50px 20px 50px 20px;
  }
  .elementor_what_we_offer_section .list > div {
    padding: 4px;
  }
}
@media (max-width: 768px) {
  .elementor_what_we_offer_section .heading,
  .elementor_what_we_offer_section .subtitle {
    font-size: 35px;
  }
}

.elementor_video_testimonies {
  background-color: #51b0ed;
  color: white;
  overflow: hidden;
}
.elementor_video_testimonies .heading {
  font-family: "Montserrat", Sans-serif;
  font-size: 55px;
  font-weight: 700 !important;
  -webkit-text-stroke-width: 0px;
  stroke-width: 0px;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #fbfbfb;
  line-height: 1;
}
.elementor_video_testimonies .subtitle {
  font-family: "Montserrat", Sans-serif;
  font-size: 36px;
  font-weight: 400;
  -webkit-text-stroke-width: 0px;
  stroke-width: 0px;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #fbfbfb;
  line-height: 1;
}
.elementor_video_testimonies .list {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .elementor_video_testimonies .heading,
  .elementor_video_testimonies .subtitle {
    font-size: 35px;
  }
}
.video_block {
  position: relative;
  width: 100%;
  max-width: 560px;
  height: 400px;
  margin: 20px auto;
  cursor: pointer;
}
.video_overlay img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.video_iframe iframe {
  width: 100%;
  height: 100%;
  display: block;
}
.video_block .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60px;
  color: white;
  opacity: 0.8;
}
.video_overlay,
.video_iframe {
  width: 100%;
  height: 100%;
}

.elementor_content_image > div {
  display: flex;
  align-items: center;
  gap: 40px;
}
.elementor_content_image .subtitle {
  font-family: "Montserrat", Sans-serif;
  font-size: 33px;
  font-weight: 500;
  -webkit-text-stroke-width: 0px;
  stroke-width: 0px;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #030303;
  line-height: 1;
  margin-block-end: 8px;
}
.elementor_content_image .heading {
  font-family: "Montserrat", Sans-serif;
  font-size: 55px;
  font-weight: 600;
  -webkit-text-stroke-width: 0px;
  stroke-width: 0px;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #030303;
  line-height: 1;
}
@media (max-width: 768px) {
  .elementor_content_image .heading,
  .elementor_content_image .subtitle {
    font-size: 35px;
  }
}

.card-testimonial {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  padding: 32px;
  flex-direction: column;
  display: flex;
  gap: 20px;
}
.card-testimonial p {
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8em;
}

.card-testimonial > div img {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  object-fit: cover;
}
.card-testimonial > div h4 {
  color: #000000;
  font-size: 20px;
}
.card-testimonial > div p {
  color: #54595f;
  font-size: 15px;
  font-weight: 300;
  font-style: italic;
}
