/**
 * Animation
 * Hdr
 * Hover Scale
 * Hover Rotate
 * Hover Opacity
 * Hover FadeInUp
 * Outside content
 * Box Shadow
 * Images
 * Parallax
 * Testimonials
 * Dynamic Grid Categories
 * Accordion
 */

/* Animation */
.snippet.animated {
    opacity: 0;
}
.snippet.animated.none,
.snippet.animated[data-animated="none"] {
    opacity: 1;
}

/* Hdr */
.hdr {
    overflow: hidden;
    position: relative;
    width: 100%;
    background-color: #000;
}
.hdr-white {
    background-color: #fff;
}
.hdr img {
    display: block;
    opacity: 0.8;
    position: relative;
    -moz-transform: scale(1.2);
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transition: 0.35s;
    transition: 0.35s;
    width: 100%;
}
.hdr:hover img {
    opacity:0.5;
    -webkit-transform:scale(1);
    -moz-transform:scale(1);
    transform:scale(1);
}
.hdr-content {
    padding: 10px;
    position: absolute;
    width: 100%;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

/* Hover scale */
.hvr-scale-container {
    overflow: hidden;
    position: relative;
}
.hvr-scale-container img {
    width: 100%;
    height: auto;
}
.hvr-scale-bg {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.hvr-scale-description {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%) scale(2);
    transform: translateY(-50%) scale(2);
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
    width: 100%;
}
.hvr-scale-container:hover .hvr-scale-bg,
.hvr-scale-container:hover .hvr-scale-description {
    opacity: 1;
}
.hvr-scale-container:hover .hvr-scale-description {
    -webkit-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1);
}

/* Hover Rotate */
.hvr-rotate-snippet img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.hvr-rotate-snippet:hover img {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}

/* Hover opacity */
.hvr-opacity {
    opacity: 0.8;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.hvr-opacity:hover {
    opacity: 1;
}

/* Hover FadeInUp */
.hvr-fadeInUp {
    position: relative;
    overflow: hidden;
}
.hvr-fadeInUp:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: rgba(0,0,0,0.5);
    opacity: 0;
}
.hvr-fadInUp-caption {
    position: absolute;
    top: -20%;
    width: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.hvr-fadeInUp:before,
.hvr-fadInUp-caption {
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.hvr-fadeInUp:hover .hvr-fadInUp-caption {
    top: 50%;
}
.hvr-fadeInUp:hover:before {
    opacity: 1;
}
@media(max-width: 991px) {
    .fade-responsive {
        overflow: visible;
    }
    .fade-responsive::before {
        display: none;
    }
    .fade-responsive .hvr-fadInUp-caption {
        position: static;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/* Outside content */
.block-outside-top {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.block-outside-bottom {
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
}

/* Box shadow */
.box-shadow-bottom {
    -webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.35);
    box-shadow: 0 3px 7px rgba(0,0,0,0.35);
}

/* Images */
.fes7-img,
.fes7-img-constr,
.fes7-img-cont {
    position: absolute;
    top: 0;
    height: 100%;
}
.fes7-img-cont {
    overflow: hidden;
    padding: 0;
}
.fes7-img,
.fes7-img-constr {
    z-index: 0;
    left: 0;
    width: 100%;
    background-size: cover;
}
.full-img-content {
    position: relative;
    padding: 20px 0;
    width: 100%;
}
.img-pull-left,
.img-pull-right {
    position: absolute;
    top: 0;
}
.img-pull-right {
    right: 0;
}
.img-pull-left {
    left: 0;
}
.img-pull-right .fes7-img,
.img-pull-right .fes7-img-constr {
    background-position: left center;
}
.img-pull-left .fes7-img,
.img-pull-left .fes7-img-constr {
    background-position: right center;
}
@media(min-width:768px){
    .full-img-content{
        padding: 40px 0;
        margin-left: 15px;
        margin-right: 15px;
    }
}

/* Parallax */
.parallax-block > div {
    padding-top: 8%;
    padding-bottom: 8%;
}

/* Testimonials */
.testimonials-item-content {
    width: 100%;
    padding: 20px;
    position: relative;
    background-color: #eeeeee;

}
.testimonials-item-content:after {
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    bottom: -16px;
    left: 3.8em;
    border-style: solid;
    border-width: 16px 0 0 15px;
    border-color: #eee transparent transparent transparent;
}
.testimonials-item-author {
    padding: 25px 15px 20px 25px;
    margin-top: auto;
}
.testimonials-author-avatar {
    max-width: 100px;
    height: auto;
    margin-right: 10px;
}
@media(min-width: 992px){
    .testimonials-item-content {
        min-height: 235px;
    }
}
@media(min-width: 1200px){
    .testimonials-item-content {
        min-height: 185px;
    }
}
@media(min-width: 1540px){
    .testimonials-item-content {
        min-height: 145px;
    }
}
@media(min-width: 768px) and (max-width: 991px) {
    .testimonials-item-content {
        min-height: 305px;
    }
}


/* Dynamic Grid Categories */
.grid-module,
.grid-children {
    display: grid;
}
.grid-view-8 {
    grid-template-columns: 40% auto;
}
.grid-view-8 .grid-parent {
    padding: 10px;
    border-right: 1px solid;
}
.grid-view-8 .grid-children {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr 1fr;
}
.grid-view-8 .grid-children__item {
    padding: 10px;
    border-bottom: 1px solid;
    border-right: 1px solid;
}
.grid-view-8 .grid-children__item:nth-child(4n) {
    border-right: none;
}
.grid-view-8 .grid-children__item:nth-last-child(-n+4) {
    border-bottom: none;
}

/* Mod 2 - 2 Col */
.grid-view-8-mod-2 .grid-parent,
.grid-view-4 .grid-parent,
.grid-view-6-2 .grid-parent {
    border: 1px solid;
    padding: 10px;
    border-bottom: none;
}
.grid-view-8-mod-2 .grid-children,
.grid-view-4 .grid-children,
.grid-view-6-2 .grid-children {
    border: 1px solid;
    border-top: none;
    grid-template-columns: repeat(2, 1fr);
}
.grid-view-8-mod-2 .grid-children__item,
.grid-view-4 .grid-children__item,
.grid-view-6-2 .grid-children__item {
    padding: 10px;
    border-top: 1px solid;
}
.grid-view-8-mod-2 .grid-children__item ~ .grid-children__item,
.grid-view-4 .grid-children__item ~ .grid-children__item,
.grid-view-6-2 .grid-children__item ~ .grid-children__item {
    padding: 10px;
    border-left: 1px solid;
}

@media(min-width: 576px) {
    /* 2 Column */
    .grid-view-4 .grid-children {
        grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    }

    /* 6 - 2 */
    .grid-view-6-2 .grid-children {
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: 1fr 1fr;
    }
    .grid-view-6-2 .grid-children__item:nth-child(4n) {
       border-left: none;
    }

}

@media(min-width: 992px) {
    /* Mod 2 */
    .grid-view-8-mod-2 .grid-children {
        grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    }
}

@media(min-width: 576px) and (max-width: 767px) {
    /* Mod 2 */
    .grid-view-8-mod-2 .grid-children__item:nth-last-child(-n+2) {
        display: none;
    }
    .grid-view-8-mod-2 .grid-children {
        grid-template-columns: repeat(3, 1fr);
    }
    .grid-view-8-mod-2 .grid-children__item:nth-child(4n) {
        border-left: none;
    }
}

@media(min-width: 768px) and (max-width: 991px) {
    /* Mod 2 */
    .grid-view-8-mod-2 .grid-children {
        grid-template-columns: repeat(4, 1fr);
    }
    .grid-view-8-mod-2 .grid-children__item:nth-child(5n) {
        border-left: none;
    }
}

@media(min-width: 992px) and (max-width: 1199px) {
    .grid-view-8 .grid-children__item:nth-last-child(-n+2) {
        display: none;
    }
    .grid-view-8 {
        grid-template-columns: 50% auto;
    }
    .grid-view-8 .grid-children {
        grid-template-columns: repeat(3, 1fr);
    }
    .grid-view-8 .grid-children__item:nth-child(3n) {
        border-right: none;
    }
    .grid-view-8 .grid-children__item:nth-child(4n) {
        border-bottom: none;
        border-right: 1px solid;
    }

    /* Mod 2 */
    .grid-view-8-mod-2 .grid-children__item:nth-last-child(-n+2) {
        display: none;
    }

    /* 2 Column */
    .grid-view-4 .grid-children__item:last-child {
        display: none;
    }
}
@media(max-width: 991px) {
    .grid-view-8 {
        grid-template-columns: 100%;
    }
    .grid-view-8 .grid-parent {
        border-right: none;
    }
    .grid-view-8 .grid-children {
        border-top: 1px solid;
    }
}
@media(min-width: 576px) and (max-width: 767px) {
    .grid-view-8 .grid-children {
        grid-template-columns: repeat(3, 1fr);
    }
    .grid-view-8 .grid-children__item:nth-last-child(-n+2) {
        display: none;
    }
    .grid-view-8 .grid-children__item:nth-child(3n) {
        border-right: none;
    }
    .grid-view-8 .grid-children__item:nth-child(4n) {
        border-bottom: none;
        border-right: 1px solid;
    }

    /* 2 Column */
    .grid-view-4 .grid-children__item:last-child {
        display: none;
    }
}
@media(max-width: 575px) {
    .grid-view-8 .grid-children__item:nth-last-child(-n+2) {
        display: none;
    }
    .grid-view-8 .grid-children {
        grid-template-columns: repeat(2, 1fr);
    }
    .grid-view-8 .grid-children__item:nth-child(odd) {
        border-right: 1px solid;
        border-bottom: 1px solid;
    }
    .grid-view-8 .grid-children__item:nth-child(even) {
        border-right: none;
        border-bottom: 1px solid;
    }
    .grid-view-8 .grid-children__item:nth-last-child(-n+4) {
        border-bottom: none;
    }

    /* Mod 2 */
    .grid-view-8-mod-2 .grid-children__item:nth-child(odd),
    .grid-view-4 .grid-children__item:nth-child(odd),
    .grid-view-6-2 .grid-children__item:nth-child(odd) {
        border-left: none;
    }
}

/* Accordion */
.accordion-mod-1 .card {
  border: none;
}
.accordion.accordion-mod-1 .card-header {
  background-color: transparent;
  margin-bottom: 0;
}
.accordion-mod-1 .card-header a {
  display: block;
  position: relative;
  font-weight: 600;
  text-decoration: none;
  color: #555;
}
.accordion-mod-1 .card-header a:hover {
  text-decoration: none;
}
.accordion-mod-1 .card-header a::after {
  content:"\f067";
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
.accordion-mod-1 .card-header a.collapsed::after {
  content:"\f068";
}


.left-content,
.left-content-col {
  left: 0;
  bottom: 0;
  position: absolute;
}
.left-content {
  width: 100%;
  top: 0;
}
.left-content-col {
  height: 50%;
}
@media(min-width: 768px) {
  .custom-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
  }  
}