/* Start Button */
.startArrow {
    --startArrowIcon: url('data: image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path fill="white" d="m586.923-226.923-28.538-27.539 206.307-206.307H120v-40h645.461L559.385-707.077l27.538-27.539 253.846 253.847-253.846 253.846Z" /></svg>');
}
.startScreenButton {
    /* margin-top: 2rem; */
    position: relative;
    cursor: pointer;
    background-color: var(--start-button-bg);
    border: solid 1px var(--start-button-border);
    border-radius: 30vh;
    overflow: hidden;
    width: max(6.5vh, 40px);
    height: max(6.5vh, 40px);
}

.startButtonText {
    white-space: nowrap;
    font-size: max(1.5vh, 10px);
    position: absolute;
    text-transform: uppercase;
    top: 50%;
    left: 50%;
    width: 100%;
    text-align: center;
    z-index: 1;
    color: var(--start-button-text);
    opacity: 0;
    transform-origin: left;
    transform: translate(0%, -50%) scale(0);
    letter-spacing: 0.05em;
}

.startScreenButton,
.startButtonText,
.startArrow {
    transition: all 0.3s ease-in-out;
    user-select: none;
}

.start hr {
    background-color: var(--start-hr);
}
.startArrow {
    width: 50px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.startArrow::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    mask-image: var(--iconNext);
    mask-size: 70%;
    mask-repeat: no-repeat;
    mask-position: center;
    background-color: var(--start-button-text);
}

body.hasHover .startScreenButton:hover,
body:not(.hasHover) .startScreenButton {
    border: none;
    box-shadow: 0 0 0 4px var(--start-button-hover-border);
    width: max(30vh, 180px);
    background-color: var(--start-button-hover-bg);
}
body.hasHover .startScreenButton:hover .startArrow,
body:not(.hasHover) .startScreenButton .startArrow {
    left: calc(100% - max(3vh, 20px));
}
body.hasHover .startScreenButton:hover .startButtonText,
body:not(.hasHover) .startScreenButton .startButtonText {
    opacity: 1;
    transform: translate(calc(-50% - max(1vh, 10px)), -50%);
    color: var(--start-button-hover-text);
}
body.hasHover .startScreenButton:hover .startArrow::before {
    background-color: var(--start-button-hover-text);
}
/* Start Button */

/* Loader */
.startScreenLoader {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 200px;
    z-index: 10;
    transition: all 0.5s ease;
}
.startScreenLoaderHide {
    opacity: 0;
    visibility: hidden;
}
/* Loader */

.page__content {
    height: 100%;
    top: 0;
}
.page__middle {
    width: 90%;
    min-width: 320px;
}
.start {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    gap: 1.5rem;
    width: 100%;
    text-shadow: 0 0 10px black;
}
body[data-page-template="page-start"] .page__content::before {
    background-image: linear-gradient(90deg, var(--left-column-gradient-start) 0%, var(--left-column-gradient-end) 100%) !important;
}
.start .logo {
    width: 300px;
    object-fit: contain;
    object-position: left;
}
.start .start_logo_bottom {
    max-width: 150px;
    max-height: 100px;
    object-fit: contain;
    object-position: left;
}

.start::before {
    content: "";
    margin-bottom: auto;
}
.start_logo_bottom {
    margin-top: auto;
}

.start::after {
    content: "";
    margin-top: auto;
}

.start:has(.start_logo_bottom)::after {
    display: none;
}
.start .start_tagline {
    color: var(--start-tagline-text);
    font-size: 1.5rem;
}
.start h1 {
    margin: 0;
    font-family: var(--font-accent);
    font-weight: var(--font-base-weight);
    font-size: 2.5em;
    line-height: 1;
}

body[data-page-template="page-start"] .panoContainer {
    pointer-events: none;
}
/* vertical */
@media (orientation: portrait) {
    .start {
        min-height: 70%;
        align-items: center;
        justify-content: center;
    }
    body[data-page-template="page-start"] .page__content::before {
        background-image: linear-gradient(180deg, var(--left-column-gradient-start) 0%, var(--left-column-gradient-end) 100%) !important;
    }
}
