/**
 * 2015-2020 Bonpresta
 *
 * Bonpresta Responsive banners
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the General Public License (GPL 2.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/GPL-2.0
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade the module to newer
 * versions in the future.
 *
 *  @author    Bonpresta
 *  @copyright 2015-2020 Bonpresta
 *  @license   http://opensource.org/licenses/GPL-2.0 General Public License (GPL 2.0)
 */
#bonbanners {
    overflow: hidden;
}
#bonbanners .bonbanners-item {
    position: relative;
    height: max-content;
    overflow: hidden;
}
@media screen and (any-hover: hover){
    #bonbanners .bonbanners-item:hover img {
        transform: scale(1.03);
    }
}
#bonbanners .bonbanners-item_link {
    display: inline-block;
    height: 100%;
    width: 100%;
}
#bonbanners .banner-inner {
    position: absolute;
    text-align: center;
    width: 100%;
    bottom: 0;
}
#bonbanners .img-responsive {
    width: 102%;
    height: auto;
    transition: all 0.3s ease;
}
#bonbanners .bonbanners-list {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-rows: auto;
    margin-bottom: 30px;
}
#bonbanners .bonbanners-item:nth-child(1) { grid-area: item-1; }
#bonbanners .bonbanners-item:nth-child(2) { grid-area: item-2; }
#bonbanners .bonbanners-item:nth-child(3) { grid-area: item-3; }
#bonbanners .bonbanners-item:nth-child(4) { grid-area: item-4; }
#bonbanners .btn-primary {
    display: inline-block;
    background: white;
    color: #02b88f;
}
#bonbanners .btn-primary:hover {
    background: #02b88f;
    color: white;
}
#bonbanners .btn-primary:hover::before {
    opacity: .15;
}
#bonbanners .h1 {
    font-weight: 600;
    text-transform: uppercase;
}
#bonbanners .h2 {
    font-weight: 500;
    text-transform: uppercase;
}
#bonbanners .h3 {
    font-weight: 400;
    text-transform: none;
}
#bonbanners .banner-inner .theme-color {
    color: #02b88f;
}
#bonbanners .color-dark,
#bonbanners .h1.color-dark,
#bonbanners .h2.color-dark,
#bonbanners .h3.color-dark {
    color: #3a3a3a;
}
#bonbanners .h3, 
#bonbanners .h2, 
#bonbanners .h1 {
    color: white;
}
#bonbanners .bonbanners-item:nth-child(4) .banner-inner {
    width: auto;
    bottom: 50%;
    transform: translateY(50%);
}
@media screen and (min-width: 1881px){
    #bonbanners .bonbanners-item:nth-child(1) .h1 {
        max-width: 349px;
        margin-bottom: 35px;
        font-size: 30px;
    }
    #bonbanners .bonbanners-item:nth-child(2) .h1 {
        margin-bottom: 7px;
    }
    #bonbanners .bonbanners-item:nth-child(2) .h3 {
        margin-bottom: 35px;
    }
    #bonbanners .btn-primary {
        padding: 13px 30px;
        font-size: 20px;
    }
    #bonbanners .bonbanners-item:nth-child(1) .banner-inner {
        top: 96px;
        left: 54px;
        text-align: left;
    }
    #bonbanners .bonbanners-item:nth-child(3) .banner-inner {
        top: 50px;
    }
    #bonbanners .bonbanners-item:nth-child(3) .h1 {
        margin-bottom: 19px;
    }
    #bonbanners .bonbanners-item:nth-child(3) .h3 {
        margin: 0 70px 41px;
    }
    #bonbanners .bonbanners-item:nth-child(4) .banner-inner {
        right: 83px;
    }
    #bonbanners .bonbanners-item:nth-child(4) .h1 {
        margin-bottom: 21px;
    }
    #bonbanners .bonbanners-item:nth-child(4) .h3 {
        max-width: 494px;
    }
    #bonbanners .h1 {
        font-size: 35px;
        line-height: 40px;
    }

    #bonbanners .h2 {
        font-size: 25px;
        line-height: 30px;
        margin-bottom: 22px;
    }
    #bonbanners .h3 {
        font-size: 20px;
        line-height: 27px;
    }
}
@media screen and (min-width: 992px){
    #bonbanners .bonbanners-list {
        display: grid;
        grid-auto-columns: 1fr;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: auto;
        grid-template-areas:
            "item-1 item-2 item-3"
            "item-4 item-4 item-3";
    }
}
@media screen and (min-width: 992px) and (max-width: 1880px) {
    #bonbanners .btn-primary {
        padding: calc(2px + (13 - 2) * ((100vw - 320px) / (1880 - 320))) calc(10px + (30 - 10) * ((100vw - 320px) / (1880 - 320)));
        font-size: calc(12px + (20 - 12) * ((100vw - 320px) / (1880 - 320)));
    }
    #bonbanners .h1 {
        font-size: calc(22px + (30 - 22) * ((100vw - 992px) / (1880 - 992)));
        line-height: calc(25px + (40 - 25) * ((100vw - 992px) / (1880 - 992)));
    }
    #bonbanners .h2 {
        font-size: calc(17px + (25 - 17) * ((100vw - 992px) / (1880 - 992)));
        line-height: calc(19px + (30 - 19) * ((100vw - 992px) / (1880 - 992)));
        margin-bottom: calc(10px + (22 - 10) * ((100vw - 992px) / (1880 - 992)));
    }
    #bonbanners .h3 {
        font-size: calc(15px + (20 - 15) * ((100vw - 992px) / (1880 - 992)));
        line-height: calc(17px + (27 - 17) * ((100vw - 992px) / (1880 - 992)));
    }
    #bonbanners .bonbanners-item:nth-child(1) .banner-inner {
        top: calc(50px + (96 - 50) * ((100vw - 992px) / (1880 - 992)));
        left: calc(30px + (54 - 30) * ((100vw - 992px) / (1880 - 992)));
        text-align: left;
    }
    #bonbanners .bonbanners-item:nth-child(1) .h1 {
        font-size: calc(18px + (30 - 18) * ((100vw - 992px) / (1880 - 992)));
        max-width: calc(250px + (349 - 250) * ((100vw - 992px) / (1880 - 992)));
        margin-bottom: calc(20px + (35 - 20) * ((100vw - 992px) / (1880 - 992)));
    }
    #bonbanners .bonbanners-item:nth-child(2) .h1 {
        margin-bottom: 7px;
    }
    #bonbanners .bonbanners-item:nth-child(2) .h3 {
        margin-bottom: calc(15px + (35 - 15) * ((100vw - 992px) / (1880 - 992)));
    }
    #bonbanners .bonbanners-item:nth-child(3) .banner-inner {
        top: calc(20px + (50 - 20) * ((100vw - 992px) / (1880 - 992)));
    }
    #bonbanners .bonbanners-item:nth-child(3) .h1 {
        margin-bottom: calc(10px + (19 - 10) * ((100vw - 992px) / (1880 - 992)));
    }
    #bonbanners .bonbanners-item:nth-child(4) .h1 {
        margin-bottom: calc(10px + (21 - 10) * ((100vw - 992px) / (1880 - 992)));
    }
    #bonbanners .bonbanners-item:nth-child(3) .h3 {
        margin: 0 calc(35px + (70 - 35) * ((100vw - 992px) / (1880 - 992))) calc(20px + (41 - 20) * ((100vw - 992px) / (1880 - 992)));;
    }
    #bonbanners .bonbanners-item:nth-child(4) .banner-inner {
        right: calc(20px + (83 - 20) * ((100vw - 992px) / (1880 - 992)));
    }
    #bonbanners .bonbanners-item:nth-child(4) .h3 {
        max-width: calc(290px + (494 - 290) * ((100vw - 992px) / (1880 - 992)));
    }
}
@media screen and (min-width: 577px) and (max-width: 991px) {
    #bonbanners .btn-primary {
        padding: calc(2px + (13 - 2) * ((100vw - 577px) / (991 - 577))) calc(10px + (30 - 10) * ((100vw - 577px) / (991 - 577)));
        font-size: calc(12px + (20 - 12) * ((100vw - 577px) / (991 - 577)));
    }
    #bonbanners .h1 {
        font-size: calc(20px + (30 - 20) * ((100vw - 577px) / (991 - 577)));
        line-height: calc(21px + (35 - 21) * ((100vw - 577px) / (991 - 577)));
    }
    #bonbanners .h2 {
        font-size: calc(17px + (25 - 17) * ((100vw - 577px) / (991 - 577)));
        line-height: calc(19px + (30 - 19) * ((100vw - 577px) / (991 - 577)));
        margin-bottom: calc(10px + (15 - 10) * ((100vw - 577px) / (991 - 577)));
    }
    #bonbanners .h3 {
        font-size: calc(15px + (20 - 15) * ((100vw - 577px) / (991 - 577)));
        line-height: calc(17px + (27 - 17) * ((100vw - 577px) / (991 - 577)));
    }
    #bonbanners .bonbanners-list {
        grid-template-columns: 1.012fr 1fr;
        grid-template-areas:
            "item-1 item-3"
            "item-2 item-3"
            "item-4 item-4";
    }
    #bonbanners .bonbanners-item:nth-child(1) .banner-inner {
        top: calc(25px + (60 - 25) * ((100vw - 577px) / (991 - 577)));
        left: calc(20px + (50 - 20) * ((100vw - 577px) / (991 - 577)));
        text-align: left;
    }
    #bonbanners .bonbanners-item:nth-child(1) .h1 {
        font-size: calc(17px + (27 - 17) * ((100vw - 577px) / (991 - 577)));
        max-width: calc(250px + (349 - 250) * ((100vw - 577px) / (991 - 577)));
        margin-bottom: calc(15px + (30 - 15) * ((100vw - 577px) / (991 - 577)));
    }
    #bonbanners .bonbanners-item:nth-child(2) .h1 {
        margin-bottom: 7px;
    }
    #bonbanners .bonbanners-item:nth-child(2) .h3 {
        margin-bottom: calc(12px + (30 - 12) * ((100vw - 577px) / (991 - 577)));
    }
    #bonbanners .bonbanners-item:nth-child(3) .banner-inner {
        top: calc(12px + (30 - 12) * ((100vw - 577px) / (991 - 577)));
    }
    #bonbanners .bonbanners-item:nth-child(3) .h1 {
        margin-bottom: calc(10px + (15 - 10) * ((100vw - 577px) / (991 - 577)));
    }
    #bonbanners .bonbanners-item:nth-child(3) .h3 {
        margin: 0 calc(15px + (40 - 15) * ((100vw - 577px) / (991 - 577))) calc(10px + (20 - 10) * ((100vw - 577px) / (991 - 577)));
    }
    #bonbanners .bonbanners-item:nth-child(4) .banner-inner {
        right: calc(15px + (50 - 15) * ((100vw - 577px) / (991 - 577)));
    }
    #bonbanners .bonbanners-item:nth-child(4) .h1 {
        margin-bottom: calc(10px + (15 - 10) * ((100vw - 577px) / (991 - 577)));
    }
    #bonbanners .bonbanners-item:nth-child(4) .h3 {
        max-width: calc(250px + (400 - 250) * ((100vw - 577px) / (991 - 577)));
    }
}
@media screen and (max-width: 576px) {
    #bonbanners .bonbanners-list {
        grid-template-columns: 1fr;
        grid-template-areas:
            "item-1"
            "item-2"
            "item-3"
            "item-4";
    }
    #bonbanners .btn-primary {
        padding: calc(2px + (13 - 2) * ((100vw - 320px) / (576 - 320))) calc(10px + (30 - 10) * ((100vw - 320px) / (576 - 320)));
        font-size: calc(12px + (20 - 12) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .h1 {
        font-size: calc(20px + (30 - 20) * ((100vw - 320px) / (576 - 320)));
        line-height: calc(20px + (40 - 20) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .h2 {
        font-size: calc(17px + (25 - 17) * ((100vw - 320px) / (576 - 320)));
        line-height: calc(19px + (30 - 19) * ((100vw - 320px) / (576 - 320)));
        margin-bottom: calc(10px + (15 - 10) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .h3 {
        font-size: calc(14px + (19 - 14) * ((100vw - 320px) / (576 - 320)));
        line-height: calc(17px + (27 - 17) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .bonbanners-item:nth-child(1) .banner-inner {
        top: calc(40px + (80 - 40) * ((100vw - 320px) / (576 - 320)));
        left: calc(20px + (50 - 20) * ((100vw - 320px) / (576 - 320)));
        text-align: left;
    }
    #bonbanners .bonbanners-item:nth-child(1) .h1 {
        font-size: calc(16px + (30 - 16) * ((100vw - 320px) / (576 - 320)));
        max-width: calc(250px + (349 - 250) * ((100vw - 320px) / (576 - 320)));
        margin-bottom: calc(20px + (35 - 20) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .bonbanners-item:nth-child(2) .h1 {
        margin-bottom: 7px;
    }
    #bonbanners .bonbanners-item:nth-child(2) .h3 {
        margin-bottom: calc(15px + (35 - 15) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .bonbanners-item:nth-child(3) .banner-inner {
        top: calc(20px + (50 - 20) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .bonbanners-item:nth-child(3) .h1 {
        margin-bottom: calc(10px + (19 - 10) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .bonbanners-item:nth-child(3) .h3 {
        margin: 0 calc(35px + (70 - 35) * ((100vw - 320px) / (576 - 320))) calc(20px + (41 - 20) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .bonbanners-item:nth-child(4) .banner-inner {
        right: calc(10px + (20 - 10) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .bonbanners-item:nth-child(4) .h1 {
        margin-bottom: calc(10px + (22 - 10) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .bonbanners-item:nth-child(4) .h2 {
        font-size: calc(12px + (20 - 12) * ((100vw - 320px) / (576 - 320)));
        margin-bottom: 0;
    }
    #bonbanners .bonbanners-item:nth-child(4) .h1 {
        font-size: calc(14px + (25 - 14) * ((100vw - 320px) / (576 - 320)));
    }
    #bonbanners .bonbanners-item:nth-child(4) .h3 {
        display: none;
    }
}