/*------------------------------------*\
    
    Half & Half Image + Text Block Customizations - Global Styling

    The styles you add to this file will be applied to the 'Half & Half Image + Text' block. 
    If there is any reasons why you would need to style this separately,
    please create a block-specific stylesheet for it (don't forget to register that block-specific stylesheet in acf-start-blocks.php)

\*------------------------------------*/

.flex-row {
  display: flex;
  flex-wrap: wrap;
}

.half-and-half-image,
.half-and-half-text {
  position: relative;
  width: 100%;
}

.half-and-half-image img {
  height: 100%;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  -o-object-fit: cover;
}

.half-and-half-text {
  padding: 30px 22px 60px;
}

.half-and-half-image__wrap {
  position: relative;
  height: 350px;
}

.half-and-half.bg-gray .sub-heading,
.half-and-half.bg-blue .sub-heading {
  color: #223cbd;
  background: #cce9f5;
}

.half-and-half--skew .half-and-half-image__wrap::before {
  content: "";
  position: absolute;
  width: calc(50% - 16px);
  height: 37px;
  left: 0;
  bottom: 0;
  background: #fff;
  opacity: 0.65;
  clip-path: polygon(0 0, 0 100%, 100% 100%);
}

.half-and-half--skew .half-and-half-image__wrap::after {
  content: "";
  position: absolute;
  width: calc(50% - 16px);
  height: 37px;
  right: 0;
  bottom: 0;
  background: #fff;
  opacity: 0.65;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.half-and-half.bg-blue p a {
  background: linear-gradient(to bottom, #d70c0c 0%, #d70c0c 100%);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 2px 3px;
}

.half-and-half.bg-blue p a:hover {
  background: linear-gradient(to bottom, #d70c0c 0%, #d70c0c 100%);
  color: #d70c0c;
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 2px 3px;
}

.half-and-half.bg-gray + .cta-full-width-banner,
.half-and-half.bg-blue + .cta-full-width-banner {
  margin-top: 0;
}

@media (max-width: 1025px) {
  .home-half-and-half + .text-slider-block + .tab-accordion {
    margin-top: 0;
  }
}

@media (min-width: 768px) {
  .half-and-half-text {
    padding: 50px 52px 70px;
  }

  .half-and-half--skew .half-and-half-image__wrap::before,
  .half-and-half--skew .half-and-half-image__wrap::after {
    width: 240px;
    height: 52px;
  }
}

@media (min-width: 1200px) {
  .half-and-half--margins {
    margin: 125px 0;
  }

  .half-and-half-image,
  .half-and-half-text {
    width: 50%;
  }

  .half-and-half-image img {
    position: absolute;
  }

  .half-and-half-image__wrap {
    height: 100%;
  }

  .image-block-right .half-and-half-image {
    padding-left: 16px;
  }

  .image-block-left .half-and-half-image {
    padding-right: 16px;
  }

  .half-and-half-text__wrapper {
    max-width: 725px;
  }

  .image-block-right .half-and-half-text__wrapper {
    margin-left: auto;
  }

  .half-and-half-text {
    padding: 86px 63px;
  }

  .half-and-half--skew .half-and-half-text {
    padding-top: 128px;
    padding-bottom: 128px;
  }

  .image-block-right .half-and-half-text {
    padding-right: 16px;
  }

  .image-block-left .half-and-half-text {
    padding-left: 16px;
  }

  .half-and-half--skew .half-and-half-image__wrap::before {
    display: none;
  }

  .image-block-left.half-and-half--skew .half-and-half-image__wrap {
    clip-path: polygon(0 0, 76% 0%, 100% 100%, 0% 100%);
  }

  .image-block-left.half-and-half--skew .half-and-half-image__wrap::after {
    content: "";
    position: absolute;
    width: 24%;
    height: 100%;
    right: 0px;
    top: 0;
    background: #fff;
    opacity: 0.35;
    clip-path: polygon(0 0, 45% 100%, 100% 100%);
  }

  .image-block-right.half-and-half--skew .half-and-half-image__wrap {
    clip-path: polygon(24% 0%, 100% 0, 100% 100%, 0% 100%);
  }

  .image-block-right.half-and-half--skew .half-and-half-image__wrap::after {
    content: "";
    position: absolute;
    width: 24%;
    height: 100%;
    left: 0px;
    top: 0;
    background: #fff;
    opacity: 0.35;
    clip-path: polygon(100% 0, 0% 100%, 55% 100%);
  }
}

.btn--icon {
  display: flex;
  align-items: center;
  gap: 5px;
  width: max-content;
}

.btn--icon i {
  font-size: 23px;
  font-weight: normal;
}

.video-bttn {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
}

.video-bttn svg {
  transition: all 0.3s;
  height: auto;
  width: 84px;
}

@media (min-width: 768px) {
  .btn-width-icons {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .btn-width-icons .btn {
    margin: 0 10px;
  }
}

@media (min-width: 1200px) {
  .btn-width-icons {
    margin-top: 50px;
  }

  .btn-width-icons .btn {
    margin: 0 10px;
  }

  .btn-width-icons--arrow .btn {
    padding-right: 50px !important;
  }

  .btn-width-icons--arrow .btn:after {
    display: block;
    opacity: 1;
  }

  .video-bttn {
    padding-right: 206px;
  }

  .video-bttn:hover {
    background: none;
  }

  .video-bttn svg {
    width: 149px;
  }

  .video-bttn:hover svg {
    transform: scale(1.1);
  }

  .btn-width-icons .btn + .btn + .btn {
    margin-top: 20px;
  }
}

@media (min-width: 1367px) {
  .btn-width-icons .btn {
    margin: 0 15px;
  }
}

@media (min-width: 1200px) and (max-width: 1300px) {
  .btn-width-icons {
    display: block;
  }

  .btn-width-icons .btn + .btn {
    margin: 10px 0 0 0;
  }
}
