.half-image-text {
    background-color: var(--color-tertiary);
}

.half-image-text--white {
    background-color: var(--color-white);
}

.half-image-text--primary {
    background-color: var(--color-primary);
}

.half-image-text--secondary {
    background-color: var(--color-secondary);
}

.half-image-text--tertiary {
    background-color: var(--color-tertiary);
}

.half-image-text--tertiary.section strong,
.half-image-text--quaternary.section strong{
    color: var(--color-secondary);
}

.half-image-text--quaternary {
    background-color: var(--color-quaternary);
}

.content-and-image__image-pop {
    position: relative;
    display: block;
}

.half-image-text .section__heading__description ul{
    padding-left: 20px;
    margin-bottom: 20px;
}

.half-image-text .section__heading__description ul li{
    line-height: 2em;
}


.half-image-text.section--light .section__heading__description h2,
.half-image-text.section--light .section__heading__description h3,
.half-image-text.section--light .section__heading__description h4,
.half-image-text.section--light .section__heading__description h5,
.half-image-text.section--light .section__heading__description p,
.half-image-text.section--light .section__heading__description ul li{
    color: var(--color-white);
}


.half-image-text.section--dark .section__heading__description h2,
.half-image-text.section--dark .section__heading__description h3,
.half-image-text.section--dark .section__heading__description h4,
.half-image-text.section--dark .section__heading__description h5,
.half-image-text.section--dark .section__heading__description p,
.half-image-text.section--dark .section__heading__description ul li{
    color: var(--color-primary);
}


.content-and-image__image-pop:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0, 0, 0, 0.1);
}

.content-and-image__image-pop:hover:before {
    background: rgb(0, 0, 0, 0);
}

.content-and-image__image-play {
    width: 95px;
    height: 95px;
    display: flex;
    background: #fff;
    border-radius: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 0 0 rgba(255,255,255,.31);
    -webkit-animation: heartbeat 1.5s ease-in-out infinite both;
	        animation: heartbeat 1.5s ease-in-out infinite both;
}

.content-and-image__image-pop:hover .content-and-image__image-play {
    -webkit-animation: none;
            animation: none;
}

.content-and-image__image-play svg {
    margin-left: 8px;
}

@-webkit-keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  10% {
    -webkit-transform: scale(0.91);
            transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  17% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  33% {
    -webkit-transform: scale(0.87);
            transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    box-shadow: 0 0 0 50px rgba(90,153,212,0);
  }
  45% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    box-shadow: 0 0 0 50px rgba(90,153,212,0);
  }
}

@keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  10% {
    -webkit-transform: scale(0.91);
            transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  17% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  33% {
    -webkit-transform: scale(0.87);
            transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    box-shadow: 0 0 0 50px rgba(90,153,212,0);
  }
  45% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    box-shadow: 0 0 0 50px rgba(90,153,212,0);
  }
}

@media (min-width: 768px) and (max-width: 1025px) {
    .half-image-text .container {
        /*padding-right: 0;*/
    }
}

.half-image-text__wrapper {
    display: flex;
    flex-wrap: wrap;    
}

@media (max-width: 767px) {
    .half-image-text__wrapper {
        flex-direction: column-reverse;
    }
}

.half-image-text__image {
    margin-bottom: 36px;
    overflow: hidden;
}

.half-image-text__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    box-shadow: 10px 3px 30px rgba(0, 0, 0, 0.3);
}

@media (min-width: 768px) {
    .half-image-text__content {
        width: 52%;
        padding-right: 40px;
    }
    
    .half-image-text__image {
        width: 48%;
        margin-bottom: 0;
    }
}

@media (min-width: 1025px) {
    .half-image-text__wrapper {
        align-items: flex-start;
    }

    .half-image-text__content {
        width: 52%;
        padding-right: 116px;
    }
    
    .half-image-text__image {
        height: auto;
        width: 48%;
        padding-left: 116px;
    }

    .half-image-text__image img {
        width: 100%;
        height: auto;
    }
}

/* Modifier */
.half-image-text--left .half-image-text__wrapper {
    flex-direction: column-reverse;
}

@media (min-width: 767px) {
    .half-image-text--left .half-image-text__wrapper {
        flex-direction: row-reverse;
    }

    .half-image-text--left .half-image-text__content {
        width: calc(100% - 242px);
        padding-left: 30px;
    }
    
    .half-image-text--left .half-image-text__image {
        width: 242px;
        margin-bottom: 0;
    }
}

@media (min-width: 1025px) {
    .half-image-text--left .half-image-text__content {
        width: 53%;
        padding-left: 0;
        padding-right: 0;
    }
    
    .half-image-text--left .half-image-text__image {
        height: auto;
        width: 47%;
        padding-left: 0;
        padding-right: 116px;
    }
}