/* Testimonial Styling */

.testimonials .title p {

  margin: 0;

}

.single-testimonials .content-area {

  padding: 15px;

  width: 100%;

  max-width: 1200px;

  margin: auto;

  box-sizing: border-box;

}

.single-testimonials .gform_footer input[type="submit"]~p {

  display: none;

}

.bt-content-wrap:has(.review-modal.active) {

  position: relative;

  z-index: 10003;

}

img.grid-image {

  min-height: 270px;

  object-fit: cover;

}

body .testimonials img.experience-logo {

  max-width: 178px;

}

body .testimonials img.google-logo {

  width: 30px;

  height: 30px;

  object-fit: cover;

}

.testimonials .slide .details .fa-star {

  pointer-events: none;

}

.testimonials:has(.testimonial-slider[data-type="full-width"]) button[data-controls="next"] {

  right: 50px;

}

.testimonials:has(.testimonial-slider[data-type="full-width"]) button[data-controls="prev"] {

  left: 50px;

}

.testimonials:has(.testimonial-slider[data-type="full-width"]) .slide {

  margin-right: 0;

  padding: 100px 0;

}

.testimonials:has(.testimonial-slider[data-items="1"]) {

  max-width: 60%;

  margin: auto;

}

.testimonials:has(.testimonial-slider[data-type="full-width"]) p {

  line-height: 1.2;

  font-size: 24px;

}

.testimonial-slider .slide:not(.slide[data-background="image"]) {

  background: white;

}

.slide[data-background="image"] {

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  position: relative;

}

.testimonials .overlay {

  background: unset;

  position: absolute;

}

.slide[data-background="image"] .overlay {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  z-index: 1;

}

.single-testimonials .entry-content h2,

.single-testimonials .entry-content h2 a {

  text-align: center;

  font-size: 50px !important;

}

.testimonial-slider .read-more {

  display: block;

}

.single-testimonials .testimonial-slider h3,

.site-content .testimonial-slider h3,

.page .testimonial-slider h3 {

  font-size: 26px;

  margin: 5px 0;

}

.single-testimonials h5.testi_subtitle,

.site-content h5.testi_subtitle,

.page h5.testi_subtitle  {

  font-size: 20px;

  margin: 0;

}

.slide[data-background="image"] p,

.slide[data-background="image"] .testi_subtitle,

.slide[data-background="image"] .content p:first-child:before {

  color: white;

}

.slide[data-background="image"] .content,

.slide[data-background="image"] .details {

  z-index: 2;

}

.testimonials:has(.testimonial-slider[data-type="full-width"]) .slide .content,

.testimonials:has(.testimonial-slider[data-type="full-width"]) .slide .details {

  max-width: 60%;

  text-align: center;

  margin: auto;

}

.review-modal .wpcf7 input:not([type="submit"]), 

.review-modal .wpcf7 textarea, 

.review-modal .wpcf7 select {

  margin: 8px 0 20px;

}

.review-modal {

  background: rgba(0, 0, 0, 0.70);

  width: 100%;

  height: 100%;

  z-index: 10000;

  top: 0;

  left: 0;

  position: fixed ;

}

.review-modal .center {

  width: auto;

  height: auto;

  padding: 30px;

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  background-color: white;

  min-width: 680px;

  max-width: 100%;

}

.review-modal.form-visible .center {

  min-width: 800px;

  text-align: left;

}

.review-modal form p:has(input[type="submit"]) {

  float: right;

  margin-top: 20px;

}

.review-modal .close {

  float: right;

  cursor: pointer;

  font-size: 28px;

}

.review-modal .rating {

  margin-bottom: 10px;

}

.testimonials .title i.fa-star {

  font-size: 32px;

  display: inline-block !important;

}

.review-modal .rating .selected i.fa-star.fa-regular,

.testimonials i.fa-star:not(.fa-regular),

.review-modal form .gfield.rating,

.review-modal {

  display: none;

}

.testimonials i.fa-star {

  color: #e9d758;

  cursor: pointer;

  font-size: 50px;

}

.review-modal .rating .selected i.fa-star:not(.fa-regular) {

  display: block;

}

.review-modal .rating>div {

  display: inline-block;

}

.review-modal button {

  display: block;

  margin: 20px auto;

}

.review-modal form .hidden {

  display: none;

}

.bt-content .review-modal .gform_wrapper .gform_body input, 

.bt-content .review-modal .gform_wrapper .gform_body textarea, 

.bt-content .review-modal .gform_wrapper .gform_body select,

.review-modal input, 

.review-modal textarea, 

.review-modal select {

  margin-bottom: 0;

  width: 100%;

}

.review-modal .gform-theme--foundation .gform_fields {

  row-gap: 20px;

}

.review-modal p:not(form p) {

  font-size: 34px;

  margin-bottom: 20px;

  line-height: 38px;

}

.testimonials .review-button {

  text-align: center;

  margin: 50px auto;

}

.testimonials .review-button button,

.review-modal button {

  background: white;

  font-size: 1em;

  padding: 20px 30px;

  font-weight: bold;

  line-height: 1;

  cursor: pointer;

}

.testimonials .review-button button:hover,

.review-modal button:hover {

  border: 1px solid black;

}

.tns-inner {

  margin-right: 50px;

  position: relative;

}

.tns-outer {

  position: relative;

}

.tns-nav {

  text-align: center;

}

.testimonials:has(.testimonial-slider[data-nav="white"]) .tns-ovh::before {

  border-left: 15px solid rgb(0, 0, 0, .3);

}

.testimonials:has(.testimonial-slider:not([data-nav="white"]))  .tns-ovh::before {

  border-left: 15px solid rgb(255, 255, 255, .3);

}

.testimonials .tns-ovh::before {

  height: 96%;

  position: absolute;

  z-index: 1;

  content: '';

  bottom: 0px;

  top: 0;

  right: auto;

  left: 0;

  filter: blur(15px);

  background: inherit;

}

.testimonials:has(.testimonial-slider[data-nav="white"]) .tns-ovh::after {

  border-right: 15px solid rgb(0, 0, 0, .3);

}

.testimonials:has(.testimonial-slider:not([data-nav="white"])) .tns-ovh::after {

  border-right: 15px solid rgb(255, 255, 255, .3);

}

.testimonials .tns-ovh::after {

  height: 96%;

  position: absolute;

  z-index: 1;

  content: '';

  bottom: 0px;

  top: 0;

  right: 0;

  left: auto;

  filter: blur(15px);

  background: inherit;

}

.testimonials:has(.testimonial-slider[data-nav="white"]) .tns-inner::before {

  background: linear-gradient(to left, rgb(0, 0, 0, .6) 5%, transparent 100%);

}

.testimonials:has(.testimonial-slider:not([data-nav="white"])) .tns-inner::before {

  background: linear-gradient(to left, rgb(255, 255, 255, .6) 5%, transparent 100%);

}

.testimonials .tns-inner::before {

  position: absolute;

  z-index: 1;

  content: '';

  bottom: 0;

  top: 0;

  right: -50px;

  height: 96%;

  left: auto;

  width: 65px;

}

.testimonials:has(.testimonial-slider[data-nav="white"]) .tns-inner::after {

  background: linear-gradient(to left, transparent 5%, rgb(0, 0, 0, .6) 100%);

}

.testimonials:has(.testimonial-slider:not([data-nav="white"])) .tns-inner::after {

  background: linear-gradient(to left, transparent 5%, rgb(255, 255, 255, .6) 100%);

}

.testimonials .tns-inner::after {

  height: 96%;

  position: absolute;

  z-index: 1;

  content: '';

  bottom: 0;

  top: 0;

  left: -55px;

  right: auto;

  width: 50px;

}

.tns-nav button {

  width: 20px;

  height: 20px;

  background: black;

  border: black;

  border-radius: 50%;

  margin: 5px;

}

.testimonials .tns-controls button {

  position: absolute;

  top: 50%;

  border: none;

  background: transparent !important;

  color: black;

  font-size: 50px !important;

  transform: translate(0%, -50%);

  opacity: .5;

}

.testimonials .tns-controls button:hover {

  opacity: 1;

  border: none;

}

button[data-controls="prev"] {

  left: -75px;

}

button[data-controls="next"] {

  right: -75px;

}

button[data-action="start"],

button[data-action="stop"] {

  position: relative;

  left: 50%;

  margin: 30px 0;

  transform: translate(-50%, 0%);

  border: none;

  background: transparent;

  font-size: 36px;

}

.testimonial-slider[data-type="grid"] {

  display: grid;

  opacity: 1;

  grid-gap: 30px;

}

.testimonial-slider[data-type="masonry"] .slide {

  height: auto;

}

.testimonial-slider[data-type="masonry"]>div {

  margin-bottom: 20px;

  break-inside: avoid;

}

.testimonial-slider[data-type="masonry"] {

  display: block;

  column-count: 3;

  column-gap: 20px;

  opacity: 1;

}

.testimonial-slider[data-type="masonry"][data-grid-cols="2"] {

  column-count: 2;

}

.testimonial-slider[data-type="grid"] .slide,

.testimonial-slider[data-type="masonry"] .slide {

  justify-content: start;

  margin: 0;

}

.testimonial-slider .flex-slide {

z-index: 2;

  display: flex;

  flex-direction: column;

  justify-content: space-between;

  height: 100%;

  gap: 10px;

}

.testimonial-slider {

  display: flex;

  align-items: stretch;

  opacity: 0;

}

.testimonial-slider.tns-slider {

  opacity: 1;

}

.testimonials .row {

  margin: auto;

}

.testimonial-slider:not(.testimonial-slider[data-post-count="1"]) p {

  margin: 0;

}

.testimonial-slider[data-post-count="1"] .slide {

  margin-right: 0;

  box-sizing: border-box;

}

.testimonial-slider .slide {

box-sizing: border-box;

  color: black;

  border: 1px solid rgba(0,0,0,.2);

  padding: 20px;

  margin-right: 20px;

  display: flex;

  flex-direction: column;

  justify-content: space-between;

  height: 100%;

  gap: 20px;

  box-shadow: 0px 15px 15px -15px #000;

}

.testimonial-slider .content p:first-child:before {

  content: "\f10d";

  font-family: 'Font Awesome 6 Free';

  display: inline-block;

  font-style: normal;

  font-variant: normal;

  text-rendering: auto;

  -webkit-font-smoothing: antialiased;

  margin-right: 15px;

  font-size: 40px;

  line-height: 30px;

  font-weight: 900;

  color: black;

}

.tns-item {

  padding-bottom: 20px;

}

.testimonial-slider .links a {

  margin-right: 10px;

}

.single-testimonials .testimonials {

  max-width: 100vw;

  margin-top: 50px;

}

/* Tablet */

form:has(.testimonial-contact-form) {

  max-width: 600px;

  margin: auto;

  margin-bottom: 50px;

}

.tns-controls  {
  text-align: center;
}

@media screen and (max-width: 1280px) and (min-width: 580px) {

  form:has(.testimonial-contact-form) {

    max-width: 50%;

  }

  .single-testimonials .content-area {

    max-width: 100%;

  }

  .testimonial-slider[data-type="masonry"][data-grid-cols="2"],

  .testimonial-slider[data-type="masonry"] {

    column-count: 2;

  }

  .testimonials:has(.testimonial-slider[data-type="full-width"]) .slide {

    padding: 30px 0;

  }

  .testimonials .tns-controls button {

    position: static;

    transform: none;

  }

}

/* Mobile Styling */

@media screen and (max-width: 770px) and (min-width: 580px) {

  form:has(.testimonial-contact-form) {

    max-width: 65%;

  }

  .single-testimonials .content-area {

    max-width: 100%;

  }

  .testimonial-slider .content p {
    font-size: 20px;
  }

}

@media screen and (max-width: 580px) {

  .testimonial-slider .content p {
    font-size: 20px;
  }


  .single-testimonials .content-area {

    max-width: 100%;

  }

  form:has(.testimonial-contact-form) {

    max-width: 100%;

  }

  .testimonials:has(.testimonial-slider[data-type="full-width"]) .slide .content, 

  .testimonials:has(.testimonial-slider[data-type="full-width"]) .slide .details {

    max-width: 100%;

    padding: 0 15px;

  }

  .testimonial-slider[data-type="grid"],

  .testimonial-slider[data-type="masonry"] {

    display: block;

  }

  .tns-controls {

    text-align: center;

  }

  .testimonials .tns-controls button {

    position: static;

    transform: none;

  }

  .testimonials:has(.testimonial-slider[data-mobile-nav="false"]) .tns-controls {

    display: none;

  }

  .testimonials:has(.testimonial-slider[data-type="full-width"]) .slide {

    padding: 20px 0;

  }

  .testimonials i.fa-star {

    font-size: 38px;

  }

  .testimonial-slider[data-type="grid"] .slide,

  .testimonial-slider[data-type="masonry"] .slide {

    margin-bottom: 20px;

  }

  .review-modal .center {

    color: black;

    min-width: unset;

    width: 100%;

  }

  .testimonial-slider[data-type="masonry"][data-grid-cols="2"],

  .testimonial-slider[data-type="masonry"] {

    column-count: 1;

  }

}

