.font-gineso-extended{
  font-family: gineso-extended, sans-serif;
}

.wp-block-acf-page-header .btn {
  min-width: 272px;
}
.footer-cta-block a.btn.secondary._white-hover:hover{
  color: #fff;
  background: #ee2e24;
  opacity: 1;
}
.footer-cta-block a.btn.secondary._red-hover:hover,
.footer-cta-block a.btn.primary._red-hover:hover,
.footer-cta a.btn.primary._red-hover:hover{
  background: #fff;
  color: #ee2e24;
  opacity: 1;
}

.wp-block-button.primary.bg-primary.btn:hover,
a.bg-primary.btn:hover{
  background: #000;
  color: #fff;
  opacity: 1;
}
a.btn._black-hover:hover span:first-child{
  background: #000;
  color: #fff;
  opacity: 1;
}
a.btn._black-hover:hover span:nth-child(2){
  background-color: #ee2e24;
  fill: #fff;
  opacity: 1;
}

.btn.bg-white._black-hover:hover{
  background: #000;
  color: #fff;
  opacity: 1;
}

.frm-show-form .frm_submit .frm_button_submit {
  width: -moz-fit-content;
  width: fit-content;
  --tw-bg-opacity: 1;
  background-color: rgb(238 46 36 / var(--tw-bg-opacity));
  color: #fff;
  --tw-text-opacity: 1;
  cursor: pointer;
  display: inline-block;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 2.25rem;
  padding: 14px 3.5rem;
  text-align: center;
  text-transform: capitalize;
  transition-duration: .3s;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(.4,0,.2,1);
}
.frm-show-form .frm_submit .frm_button_submit:hover {
  background: #000;
  color: #fff;
}

.btn .wp-block-button__link:not(.has-background)::after{
  display:none !important;
}

.contact-module .accordion-item ul li{
  font-size: 14px;
}

.contact-module .accordion-item a.email{
  display: inline-block;
}
.contact-module .accordion-item a.email:after{
  content: ' ';
  height: 1px;
  border: 1px solid #ee2e24;
  display: block;
}

._position-button .primary {
  position: relative;
  top: -47px;
}

.signal-loading {
    animation: 1s ease-out 0s normal none infinite running pulsate;
    border: 5px solid #ee2e24;
    border-radius: 30px;
    height: 40px;
    left: 50%;
    margin: -15px 0 0 -15px;
    opacity: 0;
    position: absolute;
    width: 40px;
}

@keyframes pulsate {
    0% {
        transform: scale(.1);
        opacity: 0.0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: scale(1.2);
        opacity: 0;
    }
}

h1 span,
h2 span,
h3 span,
h4 span,
h4 span{
  color: #ee2e24;
}

.content-image-block ._image-col a{
  position: relative;
  z-index: 26;
  display: inline-block;
  width: auto;
}

.content-image-block ._image-col a svg{
  display: inline-block;
  margin-left: 10px;
}


.bw-images .before\:pt-\[117\%\]:before {
  content: var(--tw-content);
  padding-top: 137.4%;
}

@media (min-width: 640px) {
  .bw-images .sm\:before\:pt-\[106\.4\%\]:before {
    content: var(--tw-content);
    padding-top: 137.4%;
  }
}

.bw-images-hover img:nth-child(2){
  transition: opacity 0.5s;
  opacity: 1;
}
.bw-images-hover:hover img:nth-child(2){
  opacity: 0;

}

@media (min-width: 768px) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.header-cards:hover{
  background: #fff;
  color:#f00;
}
.header-cards:hover h3:before{
  background-color:#f00;
}

.image-slider-block .slider .swiper-slide a:hover{
  color:#f00;

}
iframe.header-video{
  background-color: #000;
}

.iframe-wrapper{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;

  width: 100%;
  height: 100%;

  background: #000;

  /* important */
  container-type: size;

  /* cut off overflowing video */
  overflow: hidden;
}
.iframe-wrapper > iframe {
   position: absolute;
  /* keep video centered both vertically and horizontally */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  width: 100%;
  height: 100%;

  /* force aspect ratio based on parent container */
  @container (min-aspect-ratio: 16/9) {
    height: 56.25cqw;
  }

  @container (max-aspect-ratio: 16/9) {
    width: 177.78cqh;
  }

  /* prevent interaction */
  pointer-events: none;

}

.wp-block-acf-page-header .bg-stretch.before\:content-\[\'\'\]:before{
  z-index: 1;
}

/*.bg-stretch {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -2;
  overflow: hidden;
}

.bg-stretch video,
.bg-stretch iframe {
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
}

.bg-stretch img, 
.bg-stretch iframe, 
.bg-stretch video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}*/

.video-wrapper{
  z-index: 15;
  position: relative;
}
.video-wrapper,
.video-wrapper iframe{
  background-color: #000;

}
.video-wrapper iframe{
  width: 100%;
}
.video-overlay{
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

@media (min-width: 1024px) {
  li span.lg\:text-\[41px\] {
    font-size: 41px;
    line-height: normal;
  }
}

.wp-block-group.container.is-layout-constrained.wp-block-group-is-layout-constrained {
  max-width: 1280px;
}
.wp-block-group.container.is-layout-constrained.wp-block-group-is-layout-constrained p.has-medium-font-size{
 line-height: 28px;
}

.content-block-heading .text-xl ol,
.content-image-block ._content-col ol {
  list-style-type: decimal;
  list-style-position: outside;
  margin-left: 20px;
}

.content-block-heading .text-xl ul,
.content-image-block ._content-col ul{
  list-style-type: disc;
  margin-left: 20px;

}
.content-block-heading .text-xl ul li,
.content-image-block ._content-col ul li{
    margin-bottom: 10px;
}


.asphalt-price-table{}

.asphalt-price-table li{
    background-color: #fff;
    border-left: 1px solid #eeeeee;
    border-right: 1px solid #eeeeee;
}
.asphalt-price-table li:nth-child(4n+1), 
.asphalt-price-table li:nth-child(4n+2) {
    background: #eeeeee;
}
.grid-asphalt-col{
  grid-template-columns: calc(50% - 2rem) 30% 20%;
}
.asphalt-price-table-price{
    border-bottom: 1px solid #ff8484;
}
@media (max-width: 1023px) {
  ._hide-half{
    display: none;
  }
  .asphalt-price-table li{
    background-color: #fff;
  }
  .asphalt-price-table li:nth-child(4n+1), 
  .asphalt-price-table li:nth-child(4n+2) {
      background: #fff;
  }
  .asphalt-price-table li{
      background-color: transparent;
  }
  .asphalt-price-table li:nth-child(even){
    background-color: #eeeeee;
  }
  .asphalt-price-table-price{
  }
  .asphalt-price-table-base{

  }
  .asphalt-price-table-address{
    font-size: 12px;
  }
  .asphalt-price-table-location{
    font-size: 13px;
    margin-bottom: 5px;
  }
}
.asphalt-price-table .asphalt-price-table-header{
  background-color: #000 !important;
}

@media (min-width: 640px) {
  .sm:before:-left-0 {
    content: var(--tw-content);
     left: 0; 
  }
}