:root {
    --illustrations-scroll-border-size: var(--size-500);
    --border-size: 3px;
}
@media (min-width: 768px) {
    :root {
        --illustrations-scroll-border-size: var(--size-800);
        --border-size: 5px;
    }
}

.illustration-amn-btn {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #05183b9c;
    border:unset;
    cursor: pointer;
}

.illustration-amn-btn:hover img {
    filter: drop-shadow(0 0 9px var(--color-primary-800)) brightness(110%);
}

.illustration-amn-btn img{
    display:inline;
    position:relative;
    height: max(30px, 25%);
    width: auto;
    padding: 0;
    filter: drop-shadow(0 0 3px var(--color-primary-800))
}

.illustration-amn-btn.playing {
background-color: transparent;
}

.illustration-amn-btn.playing img{
    right: calc(50% + var(--illustrations-scroll-border-size) * .65);
    width: calc( var(--illustrations-scroll-border-size) * .5 ) ;
    height: auto;
}

/* CONTENT */

.illustration-content {
    position: relative;
    padding: 0 var(--illustrations-scroll-border-size);
    background-color: var(--color-primary-800);
    line-height: 0;
}

.illustration-content::before,
.illustration-content::after {
        position:absolute;
        content: "";
        width: var(--illustrations-scroll-border-size);
        height: 100%;
        top: 0;
        background-size: var(--illustrations-scroll-border-size);
        background-image: url(/public/img/assets/line_grey.svg);
        background-repeat: repeat-y;
}
.illustration-content::before {
    left: 0;
}
.illustration-content::after {
    right: 0;
}

.illustrations-wrapper {
    position: relative;
    max-width: 1300px;
    margin-inline: auto;
}
.illustration-row {
    position: relative;
    margin-block: var(--illustrations-scroll-border-size);
    border: var(--border-size) solid var(--color-primary-800);
    border-top-color: #021820;
    border-right-color: #054258;
    border-bottom-color: #135871;
    border-left-color: #054258;
}

.candle-illustration {
    aspect-ratio: unset !important;
}
.dance-illustration {
    aspect-ratio: 1115.08 / 409.39 !important;
}

.illustration-wrap {
    position: relative;
    margin-inline: auto;
    aspect-ratio: 16 / 9;
}

.illustration-iframe {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: 100%;
}

/* candles ----------------------------------- */

.candles-wrap {
    display: flex;
    justify-content: space-around;
    background-color: #000;
    height: 500px;
    width: 100%;
}
.candle-img {
    height: 100%;
    min-width: 0;
    margin: 0 10px;
}

@media only screen and (max-width: 768px) {
    .candles-wrap {
        height: 300px;
    }
} 

/* Stage */

.stage-img {
    position: relative;
    overflow: hidden;
}
.stage-wrap {
    --cat-run-anm-width: 14%;
    --bird-fly-anm-width: 5%;
    position: relative;
    line-height: 0 !important;
}

#img-lamp-stage,
#cat-run-anm,
#img-stage-tree,
#bird-fly-anm {
    pointer-events: none;
}
#img-lamp-stage {
    position: absolute;
    bottom: 0;
    left: 1%;
    height: 82%;
    filter: drop-shadow(1px 0 1px rgba(151, 255, 245, 0.546));
}
#cat-run-anm,
#bird-fly-anm {
    filter: drop-shadow(0 0 1px #97fff58b);
}
#cat-run-anm {
    position: absolute;
    bottom: 0;
    left: calc(0px - var(--cat-run-anm-width));
    width: var(--cat-run-anm-width);
    aspect-ratio: 445 / 190;
}
#img-stage-tree {
    position: absolute;
    bottom: 0;
    right:0;
    height: 100%;
}
#bird-fly-anm {
    position: absolute;
    top: 37%;
    left: calc(0px - var(--bird-fly-anm-width));
    width: var(--bird-fly-anm-width);
    aspect-ratio: 76 / 126;
}

/* hadrian ----------------------------------- */
.hadrian {
    position: relative;
    background-image: url(/public/img/illustrations/hadrian.svg);
    background-size: cover;
    background-repeat: repeat-x;
    animation: 70s linear infinite paused rotateHadrian; 
    width: 100%;
    height: 100%;
}
.anm.hadrian {
    animation-play-state: running;
}
#hadrian-vesper-walk {
    position: absolute;
    bottom: 0;
    left: 27%;
    height: 21%;
    aspect-ratio: 150 / 280;
    margin-bottom: 1.2%;
}
#hadrian-lion-walk {
    position: absolute;
    bottom: 0;
    left: 28%;
    height: 23%;
    aspect-ratio: 190 / 280;
    margin-bottom: 1.8%;
}
@keyframes rotateHadrian {
    to {background-position: 200%;}
}   
/* turrell */
.turrell-input-container { 
    width: 100%;
    padding-block: .4rem;
    background: #054258;
    text-align: center;
    color: var(--color-primary-200);
}
.turrell-input {
    margin-inline: auto;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.6rem 0.8rem;
    background: var(--color-primary-800);
    border-radius: .2rem;
}
.turrell-input input {
    margin-left: 0.6rem;
}


/* dragon 02 */
.dragon_02-container {
    --border-size: 80px;
    padding: var(--border-size);
    background-color: #54233f ;
    background-image: linear-gradient(to top, #54233f 38.5293%, #702541 90.0442%);
    border-image: url('/public/img/illustrations/dragon_02/dragon_head_02_frame_full.png') 160 / var(--border-size) repeat !important;
}
.dragon_02-wrap{
    display: flex;
    position: relative;
    aspect-ratio: 16 / 9;
    justify-content: center;
    box-shadow: inset 0 0 10px 2px #000000aa;
}
.dragon_02-img {
    height: 90%;
    align-self: flex-end;
    margin-bottom: 2%;
}
@media screen and (max-width: 768px) {
    .dragon_02-container {
        --border-size: 40px
    }
}
@media screen and (max-height: 432px) {
    .dragon_02-container {
        --border-size: 40px
    }
}