/* Responsive layout for the current Mass Events website. */
html { scroll-behavior: auto; }
body > section, .animated { opacity: 1; visibility: visible; }
.animated { animation: none; }
img { max-width: 100%; }
header[data-img], section[data-img] {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: scroll;
}
#large-header {
    display: flex;
    align-items: center;
    position: relative;
    min-height: 640px;
    min-height: max(640px, 100svh);
    padding: 160px 0 100px;
    background-image: url('../images/bg/bg-7.jpg');
}
#large-header .top-element { display: block; height: auto; max-width: 1170px; }
#large-header #demo-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; }
#large-header .top-element { z-index: 3; }
#large-header .top-text { display: block; }
#large-header .well-come { font-size: clamp(28px, 3.4vw, 48px); line-height: 1.4; letter-spacing: clamp(3px, 0.6vw, 9px); }
#large-header .intro-message { margin: 35px 0; }
.top-element, .section-testimonials .container { position: relative; z-index: 2; }
.section-overlay { pointer-events: none; }
.scroll-down { padding: 0; background: transparent; }
.scroll-down:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.header-sm { padding: 155px 0 40px; background-image: url('../images/bg/smoke2.png'); }
.header-sm .header-title { margin-top: 0; overflow-wrap: break-word; }
.fade-text { opacity: 1; }
.topnav .section { transition: background-color 180ms ease; }
.topnav ul.nav > li > a, .topnav.topnav-top ul.nav > li > a { height: 78px; line-height: 78px; }
.topnav:not(.transparent) .section { background: #17191b; }
.project-wrapper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; background: #28292a; }
.project-wrapper::before, .project-wrapper::after { display: none; }
.project-wrapper figure.work-item {
    float: none;
    width: 100%;
    max-width: none;
    min-width: 0;
    height: clamp(230px, 18vw, 420px);
    margin: 0;
    border: 0;
    position: relative;
    overflow: hidden;
}
.project-wrapper figure.effect-lily img {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: none;
    opacity: 1;
    transition: transform 400ms ease, filter 400ms ease;
}
.project-wrapper figure.effect-lily:hover img,
.project-wrapper figure.effect-lily:focus-within img { transform: scale(1.06); filter: brightness(1.08); }
.project-wrapper figure.effect-lily figcaption {
    top: auto;
    bottom: 0;
    height: auto;
    width: 100%;
    padding: 50px 24px 24px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    pointer-events: none;
    transition: padding-bottom 300ms ease;
}
.project-wrapper figure.effect-lily:hover figcaption,
.project-wrapper figure.effect-lily:focus-within figcaption { padding-bottom: 32px; }
.project-wrapper figure > a.card-link { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 3; opacity: 1; cursor: pointer; }
.project-wrapper figure.effect-lily h2, .project-wrapper figure.effect-lily p { transform: none; }
.project-wrapper figure.effect-lily p { opacity: 1; color: #fff; margin-top: 8px; }
.project-wrapper figure:focus-within { outline: 3px solid #fff; outline-offset: -5px; }
.section-testimonials { height: auto; min-height: 420px; background-image: url('../images/bg/bg-8.jpg'); }
.section-testimonials .bx-wrapper .bx-viewport { min-height: 200px; }
.section-clients .owl-carousel img { width: 100%; height: 90px; object-fit: contain; }
.section-clients .rotate-text { display: inline-block; min-width: 5.5em; }
.section-services .row, .features-list { display: flex; flex-wrap: wrap; }
.features-list > .section-title { width: 100%; }
.features-list .media { margin-top: 20px; }
.section-services .service { margin-bottom: 30px; }
.section-services .service-description { color: #c6c7c8; text-align: left; line-height: 1.8; }
.section-footer p, .section-footer p a { color: #c6c7c8; }
.section-copyright p { overflow-wrap: anywhere; }
.scrollup { display: none; }
.scrollup.is-visible { display: block; }
@media (max-width: 1100px) {
    .project-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .project-wrapper figure.work-item { height: clamp(250px, 30vw, 380px); }
}
@media (max-width: 992px) {
    .header-sm { padding-top: 140px; }
    .topnav .navbar-collapse.in { max-height: calc(100svh - 112px); overflow-y: auto !important; }
    .topnav ul.nav > li > a, .topnav.topnav-top ul.nav > li > a { height: auto; line-height: 44px; }
    .features-list .media { width: 100%; }
}
@media (max-width: 600px) {
    .project-wrapper { grid-template-columns: 1fr; }
    .project-wrapper figure.work-item { height: 280px; }
    #large-header { min-height: max(620px, 100svh); padding-top: 140px; }
    #large-header .well-come { font-size: 28px; letter-spacing: 3px; }
    .header-title { font-size: 30px; letter-spacing: 4px; }
    .section-testimonials { padding-top: 50px; padding-bottom: 50px; }
    .section-services .service { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; }
    #demo-canvas { display: none; }
    .project-wrapper figure.effect-lily:hover img,
    .project-wrapper figure.effect-lily:focus-within img { transform: none; }
}
