* { margin: 0; padding: 0; list-style: none; text-decoration: none; box-sizing: border-box; color: inherit; scrollbar-width: none; -webkit-tap-highlight-color : transparent; }

/* 로딩 스크린 */
.loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.loading-screen.hidden {
    opacity: 0;
    visibility: hidden;
}

.loading-text {
    font-family: "Roboto Condensed Regular";
    font-size: 16px;
    color: #000;
}

@font-face {
    font-family: "Roboto Condensed Regular";
    src: url(../fonts/Roboto_Condensed/static/RobotoCondensed-Regular.ttf);
}

@font-face {
    font-family: "Roboto Condensed Light";
    src: url(../fonts/Roboto_Condensed/static/RobotoCondensed-Light.ttf);
}

.container {
    width: 100vw;
}

.background-image {
    position: fixed;
    top: 0;
    left: 0;

    width: 100vw;
    height: 100vh;

    z-index: -100;
    opacity: 0.75;
}

.operation {
    display: flex;
    flex-direction: column;
    gap: 125px;

    padding: 25px;

    & form {
        width: 100%;
    }

    & .input-group {
        width: 100%;
    }

    & .inputs {
        display: flex;
        flex-direction: column;
        align-items: end;
        gap: 25px;

        width: 100%;

        font-family: "Roboto Condensed Regular";
        
        & input, & textarea {
            width: 100%;

            font-family: inherit;
            background: transparent;
            border: none;
            border-bottom: 1px solid;
            font-size: 16px;
            padding: 10px 0 5px 0;
            outline: none;
        }
        
        & textarea {
            width: 100%;

            font-family: inherit;
            font-size: 16px;
            min-height: 35.5px;
            resize: vertical;
        }

        & button {
            all: unset;
            font-size: 16px;
            cursor: pointer;
        }
    }
}

table {
    width: 100%;
    
    border-collapse: collapse;
    font-family: "Roboto Condensed Regular";

    & th, & td {
        border: 1px solid;
    }

    & th {
        padding: 12.5px;
    }

    & input {
        width: 100%;

        padding: 12.5px;
        border: none;
        font-family: "Roboto Condensed Regular";
    }
}

header {
    position: fixed;
    top: 0;
    left: 0;

    display: flex;
    justify-content: end;

    width: 100%;

    padding: 25px 25px;
    z-index: 100;
    transition: .25s color;

    & rect {
        transition: .25s;
    }
    
    &.activate rect {
        fill: white;
    }
    
    & .remote {
        font-family: "Roboto Condensed Regular";
        text-transform: uppercase;
        font-size: 20px;
        line-height: 17px;
        cursor: pointer;
        user-select: none;
    }

    & > a {
        font-family: "Roboto Condensed Regular";
        text-transform: uppercase;
    }
}

.remote-display {
    position: fixed;
    top: 0;
    left: 0;

    display: flex;
    justify-content: center;
    align-items: center;

    width: 100vw;
    height: 100vh;

    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(5px);
    color: #000;
    font-size: 24px;
    text-transform: capitalize;
    font-family: "Roboto Condensed Light";
    pointer-events: none;
    opacity: 0;
    transition: .25s opacity;
    z-index: 50;
    
    &.activate {
        opacity: 1;
        pointer-events: all;
    }
    
    & ul {
        display: flex;
        gap: 200px;
        
        & a {
            border-bottom: 1px solid;
            border-color: transparent;
        }

        & li.current a, & li:hover a {
            border-color: #000;
        }
    }

    & .remote-admin {
        position: absolute;
        right: 25px;
        bottom: 25px;
        
        font-size: 16px;
        text-transform: lowercase;
        
        & a {
            border-bottom: 1px solid;
            border-color: transparent;
        }

        &:hover a {
            border-color: #000;
        }
    }
}

section {
    width: 100%;
    height: 100vh;

    &.login {
        display: flex;
        justify-content: center;
        align-items: center;

        & form {
            display: flex;
            gap: 25px;

            font-family: "Roboto Condensed Regular";

            & input {
                width: 250px;

                background: none;
                padding: 12.5px 0;
                border: none;
                border-bottom: 1px solid;
                outline: none;
                font-size: 16px;
            }

            & button {
                all: unset;
                font-size: 16px;
                cursor: pointer;
                padding: 12.5px;
                white-space: nowrap;
            }
        }
    }

    &.admin {
        display: flex;
        flex-direction: column;
        gap: 25px;

        height: fit-content;

        padding-top: 109px;
        padding-bottom: 25px;
        padding-left: 250px;
        padding-right: 250px;
        font-family: "Roboto Condensed Regular";

        & a {
        width: fit-content;

        border-bottom: 1px solid;
        border-color: transparent;

        &:hover {
            border-color: #000;
        }
    }
    }

    &.messages {
        display: flex;
        flex-direction: column;
        gap: 25px;

        height: fit-content;

        padding-top: 109px;
        padding-bottom: 25px;
        padding-left: 250px;
        padding-right: 250px;

        font-family: "Roboto Condensed Regular";

        & a {
            width: fit-content;

            border-bottom: 1px solid;
            border-color: transparent;
    
            &:hover {
                border-color: #000;
            }
        }

        & .message {
            display: flex;
            flex-direction: column;
            gap: 25px;

            border-top: 1px solid;
            border-bottom: 1px solid;
            padding: 25px 0;

            & .top {
                display: flex;
                justify-content: space-between;
                font-size: 14px;

                & .left, & .right {
                    display: flex;
                    gap: 12.5px;
                }
            }
        }
    }

    &.section-01 {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    &.section-02 {
        position: relative;
        overflow: hidden;

        display: flex;
        justify-content: center;

        height: 400vh;

        & .bg-parallax {
            position: absolute;
            top: 0;
            left: 0;

            width: 100%;
            height: 400vh;
            object-fit: cover;
            z-index: -100;
            
            & video {
                position: absolute;
                left: 0;
                width: 100vw;
                height: 100vh;
                transform: translate(0, -50%);
                object-fit: cover;

                &:nth-child(1) {
                    top: 50vh;
                }

                &:nth-child(2) {
                    top: 150vh;
                }

                &:nth-child(3) {
                    top: 250vh;
                }

                &:nth-child(4) {
                    top: 350vh;
                }
            }
        }

        & .text-content-shuck {
            display: flex;
            justify-content: center;
            align-items: center;

            height: 100vh;
        }
        
        & .text-content {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 25px;
            
            height: fit-content;
            
            font-family: "Roboto Condensed Regular";
            color: #fff;
            
            & .text-01 {
                font-size: 20px;
                text-align: center;
            }
            
            & .text-group {
                display: flex;
                gap: 25px;
            }
        }
    }

    &.film-section {
        display: flex;
        justify-content: space-between;
        gap: 25px;

        min-height: 100vh;
        height: auto;
        overflow: visible;

        padding: 25px;
        padding-top: 84px;

        & .fixed-film-shuck {
            display: flex;
            align-items: center;

            width: 100%;
            height: calc(100vh - 109px);
        }
        
        & .fixed-film {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            gap: 25px;

            width: 100%;
            height: auto;

            transition: .25s opacity;
            
            & .admin-buttons-container {
                display: flex;
                justify-content: center;
                gap: 10px;

                width: 100%;
                
                & form {
                    margin: 0;
                    cursor: pointer;
                }
                
                & .edit-btn {
                    all: unset;
                    cursor: pointer;
                    text-decoration: underline;
                    font-family: "Roboto Condensed Regular";
                    
                    &:hover {
                        color: #0056b3;
                    }
                }
                
                & .delete-btn {
                    all: unset;
                    cursor: pointer;
                    text-decoration: underline;
                    font-family: "Roboto Condensed Regular";
                    
                    &:hover {
                        color: #a71d2a;
                    }
                }
            }
            
            & .film-wrap {
                position: relative;
                width: 100%;
                padding-bottom: 56.25%;
                height: 0;
            }

            & .work-detail {
                height: 500px;
                padding: 0;

                & iframe {
                    height: 100%;

                }
            }

            & iframe {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;

                &.short-horizontal {
                    width: auto;
                    height: 500px;
                }
            }

            & .text-group {
                display: flex;
                flex-direction: column;
                gap: 12.5px;
                
                font-family: "Roboto Condensed Regular";
                text-align: center;

                & .read-more {
                    font-size: 14px;
                    color: rgba(0, 0, 0, 0.5);
                    text-decoration: underline;
                    cursor: pointer;
                }
            }
        }

        & .film-scroll {
            width: 100%;
            height: auto;

            overflow: visible;

            & .film-grid {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 25px;
                
                width: 100%;
                height: fit-content;

                & .film {
                    display: flex;
                    justify-content: center;
                    align-items: center;

                    & img {
                        width: 100%;
                        /* height: 100%; */

                        object-fit: cover;
                        cursor: pointer;
                        filter: grayscale(100%);
                        transition: .25s;

                        &:hover {
                            scale: 125%;
                        }

                        &.selected {
                            filter: none;
                        }
                    }
                }
            }
        }
    }

    & .logo {
        font-family: "Roboto Condensed Regular";
        text-transform: uppercase;
        font-size: 32px;
        text-align: center;
    }

    &.contact {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 125px;

        width: 750px;

        padding: 25px;
        margin: 0 auto;

        & .contact-content {
            width: 100%;

            & ul {
                display: flex;
                justify-content: space-between;
                
                width: 100%;

                font-family: "Roboto Condensed Regular";

                & a {
                    text-decoration: underline;
                }
            }
        }

        & form {
            width: 100%;
        }

        & .input-group {
            width: 100%;
        }

        & .inputs {
            display: flex;
            flex-direction: column;
            align-items: end;
            gap: 25px;

            width: 100%;

            font-family: "Roboto Condensed Regular";
            
            & input, & textarea {
                width: 100%;

                font-family: inherit;
                background: transparent;
                border: none;
                border-bottom: 1px solid;
                font-size: 16px;
                padding: 10px 0 5px 0;
                outline: none;
            }
            
            & textarea {
                width: 100%;

                font-family: inherit;
                font-size: 16px;
                min-height: 35.5px;
                resize: vertical;
            }

            & button {
                all: unset;
                font-size: 16px;
                cursor: pointer;
            }
        }
    }
}


@media (max-width: 500px) {
    header {
        z-index: 10000 !important;
        pointer-events: auto;
        
        & label {
            pointer-events: auto;
            cursor: pointer;
            display: block;
            padding: 10px;
        }
    }
    
    .remote-display ul {
        flex-direction: column;
        text-align: center;
        gap: 75px;
    }

    .section-02 {
        text-align: center;

        & .text-group {
            flex-direction: column;
        }
    }

    .film-section {
        display: flex;
        flex-direction: column;

        & .fixed-film {
            & img {
                &.short-horizontal {
                    width: 100% !important;
                    height: auto !important;
                }
            }
        }

        & .film-grid {
            grid-template-columns: repeat(2, 1fr) !important;
        }
    }

    .messages {
        padding-left: 25px !important;
        padding-right: 25px !important;

        & .top {
            flex-direction: column;
            gap: 12.5px;

            & .right {
                order: -1;
            }
        }
    }

    .contact {
        justify-content: start !important;

        width: 100% !important;
        height: fit-content !important;

        padding-top: 84px !important;

        & ul {
            flex-direction: column;
            gap: 25px;
        }
    }

    .admin {
        padding-left: 25px !important;
        padding-right: 25px !important;
    }
}