/*! ------------------------------------------------
 * Project Name: Nocstar Business Website
 * Project Description: Nocstar public business-site loading and transition styles.
 * Tags: nocstar, nightlife, events, platform, business website
 * Version: 1.0.0
 * Build Date: March 2026
 * Last Update: March 2026
 * Author: Nocstar
 * Author URI: https://nocstar.de */
/*! File name: nocstar-loader.css
 * ------------------------------------------------
 *
 * ------------------------------------------------
 * Table of Contents
 * ------------------------------------------------
 *  01. Loader
 * ------------------------------------------------
 * Table of Contents End
 * ------------------------------------------------ */
.mxd-page-transition {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #000000;
  -webkit-transform: translateY(0%);
     -moz-transform: translateY(0%);
      -ms-transform: translateY(0%);
          transform: translateY(0%);
  will-change: transform;
  z-index: 999;
}

.mxd-loader {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 1000;
  font: normal 600 1.4rem/1.6 var(--_font-accent);
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  color: #e3e3f0;
  display: none;
}

.mxd-loader__top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 3rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  opacity: 1;
  will-change: opacity;
}

.mxd-loader__bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 3rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  opacity: 1;
  will-change: opacity;
}

.mxd-loader__images {
  position: relative;
  width: 200px;
  height: 200px;
  clip-path: polygon(100% 100%, 100% 100%, 0% 100%, 0% 100%);
  will-change: clip-path;
}
.mxd-loader__images img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  will-change: opacity;
  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: translateZ(0);
     -moz-transform: translateZ(0);
          transform: translateZ(0);
}
.mxd-loader__images img:first-child {
  opacity: 1;
}
@media only screen and (min-width: 1600px) {
  .mxd-loader__images {
    width: 300px;
    height: 300px;
  }
}

/* Logo + purple glow splash */
.mxd-loader__top,
.mxd-loader__bottom {
  display: none;
}

.mxd-loader::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 48rem;
  height: 48rem;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(234, 179, 84, 0.32) 0%, rgba(180, 120, 20, 0.15) 40%, transparent 72%);
  filter: blur(20px);
  pointer-events: none;
  z-index: -1;
}

.mxd-loader__images {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Two-class selector so this beats the generic ".mxd-loader__images img"
 * rule above (position/opacity/object-fit sized for the cycling photo
 * background) now that the logo is a real <img> too, not the legacy kit's
 * inline SVG mark. */
.mxd-loader__images .mxd-loader__logo {
  position: relative;
  width: 55%;
  height: auto;
  opacity: 1;
  object-fit: contain;
  filter:
    drop-shadow(0 0 1.2rem rgba(234, 179, 84, 0.75))
    drop-shadow(0 0 3.2rem rgba(202, 138, 4, 0.5))
    drop-shadow(0 0 6rem rgba(120, 80, 10, 0.35));
}
