.bg-blue-gradient {
    background: linear-gradient(to right,  #87ade5 0%,#b6d3fc 20%,#b5d2fc 80%,#87ade5 100%);
}

.image-buttons__intro-content {
    margin-bottom: 30px;
}

.image-buttons__btn {
    margin-top: 30px;
}

.image-button {
    display: block;
    overflow: hidden;
    border-radius: 12px;
    position: relative;
    aspect-ratio: 330 / 190 auto;
}

.image-button::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    opacity: 0.85;
    background: linear-gradient(to bottom,  rgba(20,36,95,0) 0%,rgba(20,36,95,1) 100%);
    z-index: 1;
}

.image-button img {
    -o-object-position: 100%;
       object-position: 100%;
}

@media( min-width : 1200px ) {
    .image-button img {
        -o-object-position: top center;
           object-position: top center;
    }
}

.image-button__details {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    padding: 11px 13px;
    z-index: 1;
}

.image-button__title {
    margin: 0;
    padding: 0 0 0 0;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.227em;
    color: #fff;
}

.image-button__title i {
    margin-left: 8px;
    font-weight: normal;
    font-size: 24px;
    line-height: 1em;
    vertical-align: middle;
    padding-bottom: 2px;
}

.image-button__description {
    margin-bottom: 18px;

    & a:not(.btn) {
        color: #fff;
    }
}

.bg-blue-gradient .btn-secondary {
    background: #fff;
    color: #14245F;
}

@media (min-width: 768px) {
    .image-button {
        aspect-ratio: 315 / 160 auto;
    }
    
    .image-button::before {
        height: 123px;
    }
    
    .image-button__details {
        padding: 12px 18px;
    }
    
    .image-button__title {
        font-size: 26px;
        line-height: 1.230em;
    }
}

@media (min-width: 1200px) {    
    .image-button {
        aspect-ratio: 400 / 325 auto;
    }
    
    .image-button::before {
        height: 170px;
    }
    
    .image-button__details {
        padding: 10px 30px;
    }

    .image-button__hover {
        opacity: 0;
        max-height: 0;
        transition: all 0.5s ease-in-out;
    }

    .image-button:hover .image-button__hover {
        opacity: 1;
        max-height: 300px;
        transition: all 0.5s ease-in-out;
    }

    .image-button__description {
        margin: 10px 0;
        color: #fff;
        font-size: 16px;
        line-height: 1.625em;
        font-weight: 400;
    }
    
    .image-button__cta,
    .image-button__cta:hover {
        color: #FFC915;
    }

    .image-button__cta::before {
        display: none;
    }

    .image-button__cta:after {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s;
    }

    .image-button__cta:hover:after {
        -webkit-transform: translateX(3px);
                transform: translateX(3px);
    }

    .image-button::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 0;
        opacity: 0.85;
        background: linear-gradient(to bottom,  rgba(20,36,95,1) 0%,rgba(20,36,95,1) 100%);
        transition: height 0.3s;
    }

    .image-button:hover::after {
        height: 100%;
    }

    .image-button:hover .image-button__title {
        padding-right: 0;
    }
    .image-button:hover .image-button__title i {
        display: none;
    }

    .bg-blue-gradient .btn-secondary:hover {
        background: #14245F;
        color: #fff;
    }
}