/**
 * 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 {
  margin: 14px 0 70px 0;
  overflow: hidden;
}
#bonbanners .banner-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 20px 20px;
  grid-template-areas:
    "banner-item-1 banner-item-3 banner-item-4"
    "banner-item-2 banner-item-3 banner-item-5";
}
#bonbanners .banner-list .banner-item:nth-child(1) {
  grid-area: banner-item-1;
}
#bonbanners .banner-list .banner-item:nth-child(1) .banner-inner {
  height: 63%;
  top: 17%;
  right: 5%;
}
#bonbanners .banner-list .banner-item:nth-child(2) {
  grid-area: banner-item-2;
}
#bonbanners .banner-list .banner-item:nth-child(2) .banner-inner {
  height: 71%;
  top: 9%;
  right: auto;
  left: 7%;
}
#bonbanners .banner-list .banner-item:nth-child(2) .banner-inner h4 {
  max-width: 55%;
}
#bonbanners .banner-list .banner-item:nth-child(3) {
  grid-area: banner-item-3;
}
#bonbanners .banner-list .banner-item:nth-child(3) .banner-inner {
  height: max-content;
  bottom: 8%;
  right: auto;
  left: 7%;
  top: auto;
}
#bonbanners .banner-list .banner-item:nth-child(3) .banner-inner span.banner-btn {
  position: relative;
}
#bonbanners .banner-list .banner-item:nth-child(3) .banner-inner span.banner-btn:after {
  bottom: 2px;
}
#bonbanners .banner-list .banner-item:nth-child(3) .banner-inner h4 {
  margin-bottom: 12px;
}
#bonbanners .banner-list .banner-item:nth-child(4) {
  grid-area: banner-item-4;
}
#bonbanners .banner-list .banner-item:nth-child(4) .banner-inner {
  height: 71%;
  right: auto;
  left: 7%;
  top: 8%;
}
#bonbanners .banner-list .banner-item:nth-child(4) .banner-inner p {
  margin: 0;
}
#bonbanners .banner-list .banner-item:nth-child(4) .banner-inner h4 {
  margin-bottom: 20px;
}
#bonbanners .banner-list .banner-item:nth-child(5) {
  grid-area: banner-item-5;
}
#bonbanners .banner-list .banner-item:nth-child(5) .banner-inner {
  height: 74%;
  right: 0;
  top: 8%;
  width: min-content;
}
#bonbanners .banner-list .banner-item:nth-child(5) .banner-inner *:not(.banner-btn) {
  margin-left: 12%;
}
#bonbanners .banner-list .banner-item:nth-child(5) .banner-inner h4 {
  max-width: 74%;
  font-weight: 300;
}
#bonbanners .banner-list .banner-item:nth-child(5) .banner-inner h3 {
  max-width: 74%;
  line-height: 100%;
}
#bonbanners.boxed-banners a .banner-inner h3 {
  font-size: 24px;
  margin-bottom: 8px;
}

#bonbanners.boxed-banners a .banner-inner h4 {
  font-size: 21px;
}

#bonbanners.boxed-banners a .banner-inner p {
  font-size: 14px;
  margin-bottom: 8px;
}

#bonbanners.boxed-banners a .banner-inner span {
  padding: 12px 20px;
}


#bonbanners p {
  font-size: 15px;
}

#bonbanners ul {
  margin-bottom: 0;
}

#bonbanners a {
  -webkit-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
  color: #333333;
  display: block;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  height: 100%;
}

#bonbanners a img {
  width: 100%;
  height: auto;
  transform: scale(1);
  transition: all .2s linear;
}

#bonbanners a:hover img {
  transform: scale(1.02);
}

#bonbanners a .banner-inner {
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 2;
  text-align: left;
}

#bonbanners a .banner-inner p {
  font-weight: 300;
  font-size: 21px;
  line-height: 31px;
  color: #464646;
}

#bonbanners a .banner-inner p strong {
  font-weight: 500;
}

#bonbanners a .banner-inner h3 {
  font-size: 40px;
  line-height: 60px;
  color: #464646;
  font-weight: normal;
  width: max-content;
}

#bonbanners a .banner-inner h4 {
  font-weight: normal;
  font-size: 21px;
  line-height: 31px;
  margin-bottom: 7px;
  color: #464646;
  font-weight: 300;
}

#bonbanners a .banner-inner span.banner-btn {
  font-weight: 300;
  font-size: 20px;
  border: none;
  transition: 0.5s;
  color: #5B5B5B;
  letter-spacing: 0.5px;
  text-transform: capitalize;
  line-height: 100%;
  position: absolute;
  bottom: 0;
}
#bonbanners a .banner-inner span.banner-btn:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #5b5b5b;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: all .4s ease;
}

#bonbanners a span.banner-btn:hover:after {
  width: 0;
  right: 0;
  left: auto;
}

#bonbanners a:before,
#bonbanners a:after {
  pointer-events: none;
}
@media (max-width: 1880px) {
  #bonbanners {
    margin-bottom: calc(30px + (70 - 30) * ((100vw - 320px) / (1880 - 320)))
  }
}
@media (min-width: 951px) and (max-width: 1880px) {
  #bonbanners .banner-list {
    gap: calc(10px + (20 - 10) * ((100vw - 951px) / (1880 - 951))) calc(10px + (20 - 10) * ((100vw - 951px) / (1880 - 951)));
  }
  #bonbanners {
    margin-top: calc(10px + (20 - 10) * ((100vw - 951px) / (1880 - 951)));
  }
  #bonbanners a .banner-inner h3 {
    font-size: calc(15px + (40 - 15) * ((100vw - 951px) / (1880 - 951)));
    line-height: calc(20px + (60 - 20) * ((100vw - 951px) / (1880 - 951)));
  }
  #bonbanners a .banner-inner h4,
  #bonbanners a .banner-inner p {
    font-size: calc(11px + (21 - 11) * ((100vw - 951px) / (1880 - 951)));
    line-height: calc(14px + (31 - 14) * ((100vw - 951px) / (1880 - 951)));
  }
  #bonbanners a .banner-inner span.banner-btn {
    font-size: calc(13px + (20 - 13) * ((100vw - 951px) / (1880 - 951)));
  }
}
@media (min-width: 576px) and (max-width: 950px) {
  #bonbanners a .banner-inner h3 {
    font-size: calc(16px + (30 - 16) * ((100vw - 576px) / (950 - 576)));
    line-height: calc(16px + (50 - 16) * ((100vw - 576px) / (950 - 576)));
  }
  #bonbanners a .banner-inner h4 {
    font-size: calc(12px + (18 - 12) * ((100vw - 576px) / (950 - 576)));
    line-height: calc(12px + (28 - 12) * ((100vw - 576px) / (950 - 576)));
  }
  #bonbanners a .banner-inner p {
    font-size: calc(11px + (18 - 11) * ((100vw - 576px) / (950 - 576)));
    line-height: calc(11px + (28 - 11) * ((100vw - 576px) / (950 - 576)));
  }
  #bonbanners a .banner-inner span.banner-btn {
    font-size: calc(14px + (18 - 14) * ((100vw - 576px) / (950 - 576)));
  }
}
@media (max-width: 950px) {
  #bonbanners {
    margin-top: calc(6px + (20 - 6) * ((100vw - 320px) / (991 - 320)));
  }
  #bonbanners .banner-list {
    gap: calc(6px + (20 - 6) * ((100vw - 320px) / (991 - 320))) calc(6px + (20 - 6) * ((100vw - 320px) / (991 - 320)));
    grid-template-areas:
    "banner-item-1 banner-item-1 banner-item-3 banner-item-3"
    "banner-item-2 banner-item-2 banner-item-3 banner-item-3"
    "banner-item-4 banner-item-4 banner-item-5 banner-item-5";
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(3, 1fr);
  }
  #bonbanners .banner-list .banner-item:nth-child(3) a img {
    width: 100.6%;
  }
  #bonbanners .banner-list .banner-item:nth-child(3) .banner-inner {
    bottom: auto;
    right: auto;
    left: 7%;
    top: 31%;
  }
}

@media (max-width: 576px) {
  #bonbanners a .banner-inner h3 {
    font-size: calc(12px + (30 - 12) * ((100vw - 320px) / (950 - 320)));
    line-height: calc(12px + (50 - 12) * ((100vw - 320px) / (950 - 320)));
  }
  #bonbanners a .banner-inner h4,
  #bonbanners a .banner-inner p {
    font-size: calc(10px + (18 - 10) * ((100vw - 320px) / (950 - 320)));
    line-height: calc(10px + (28 - 10) * ((100vw - 320px) / (950 - 320)));
  }
  #bonbanners a .banner-inner span.banner-btn {
    font-size: calc(11px + (18 - 11) * ((100vw - 320px) / (950 - 320)));
  }
  #bonbanners a .banner-inner p {
    display: none;
  }
  #bonbanners .banner-list .banner-item:nth-child(4) h4{
    max-width: 70%;
  }
  #bonbanners .banner-list .banner-item:nth-child(4) .banner-inner {
    height: auto;
    top: 40%;
  }
  #bonbanners .banner-list .banner-item:nth-child(1) .banner-inner h3 {
    max-width: 75%;
  }
  #bonbanners .banner-list .banner-item:nth-child(1) .banner-inner {
    top: 30%;
    right: -4%;
  }
  #bonbanners .banner-list .banner-item:nth-child(1) .banner-inner h4 {
    max-width: 90%
  }
  #bonbanners .banner-list .banner-item:nth-child(2) .banner-inner h3 {
    max-width: 57%;
  }
  #bonbanners .banner-list .banner-item:nth-child(5) .banner-inner {
    right: -6%;
  }
}