/* ==========================================================================
   Base styles: opinionated defaults in Boostrap
   ========================================================================== */
   body {
    font-family: 'Times New Roman', Times, serif;
    font-family: Arial, Helvetica, sans-serif;    
    color:black;
    background-color:#ebebeb;
    font-size: 2rem;
    line-height: 1.1;
    letter-spacing: -0.01rem;
    height: 100%;
}

/* hangul */
@font-face {
    font-family: "Spoqa Han Sans Neo";
    src: url("SpoqaHanSansNeo-Regular.woff2") format("woff2"),
       url("SpoqaHanSansNeo-Regular.woff") format("woff"),
       url("SpoqaHanSansNeo-Regular.ttf") format("truetype"),
       url("SpoqaHanSansNeo-Regular.eot") format("embedded-opentype");
    font-weight: normal;
}

@font-face {
    font-family: "Spoqa Han Sans Neo";
    src: url("SpoqaHanSansNeo-Medium.woff2") format("woff2"),
       url("SpoqaHanSansNeo-Medium.woff") format("woff"),
       url("SpoqaHanSansNeo-Medium.ttf") format("truetype"),
       url("SpoqaHanSansNeo-Medium.eot") format("embedded-opentype");
    font-weight: normal;
}

.hangul { font-family: 'Spoqa Han Sans Neo', 'sans-serif'; }
.sans { font-family: Arial, Helvetica, sans-serif; }


a {cursor: pointer; text-decoration: underline;}
a:hover {text-decoration: none;}
a:not([href]):not([tabindex]){text-decoration: underline;}
a:not([href]):not([tabindex]):hover{text-decoration: none;}
.border-1 {border: solid 1px;}
.border-2 {border: solid 2px;}
.border-3 {border: solid 3px;}

li {list-style: none;}
h6, .h6 { font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: .8rem; display: inline-block;}
nav {position:fixed; right:10px; cursor:move;}
nav:hover {cursor:move;}
label {
    padding-right:2rem; margin-bottom:0;
    font-size:1.2rem; line-height: 1.4rem;
    margin-right: 1rem;
    padding: .3rem 0;
    display:block;
}

input[type=checkbox], input[type=radio] {
    margin-right: .5rem;
    border: solid 1px;
}

iframe { border:0; width:100%; height: 100%;}

nav, footer {
    width: 100%; 
    margin: 0; 
    padding:0.1rem 2rem;
}

nav {
    z-index: 200;
    right: 2rem;
    top: 59vh;
    background: white;
    width: 20rem;
    min-width: 500px;
    padding: 0 0 0;
    box-shadow: 0px 0px 8px black;
}

.navbar-expand-lg {
    position: fixed;
}

.form-check-inline {
    padding-left:0;
    margin:0;
}

table .col-6 {
    max-width: calc(50% - 7.5px);
}
td {
 margin: 5px;
}
tr {
    display: flex;
}
td {
    border: 1px solid #a2a2a2;
}
td:last-child {
    margin-left:0;
}

/* ==========================================================================
    Home Page
    ========================================================================== */

#home {
    display: flex;
    margin: 0px;
    padding: 0px;
}

#home .col {
    min-height: 100vh;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px 50px;
    box-sizing: border-box;
    flex: 1;
}

#home a {
    text-decoration: none;
}

a.col.repetition {
    background: #779812;
    color: #fffedf;
}

a.col.repetition:hover {
    background: #fffedf;
    color: #779812;
}

a.col.hangul-workshop {
    background-color: red;
    color: black;
}

a.col.hangul-workshop:hover {
    background-color: blue;
    color: white;
}


/* ==========================================================================
    Menu Structure
    ========================================================================== */
#container {
    height:100vh;
}


#grid {
    position:fixed; 
    top:0;
    left:0;
    width:100vw;
    height: 100vh;
}

[id*=grid-] {
    height:100vh;
    width:25%;
    background-color: black;
    position:relative;
    float: left;
    padding:0;
    margin:0;
}

#grid-1 {background: transparent;}
#grid-2 {background: whitesmoke;}
#grid-3 {background: #e9ecef;}
#grid-4 {background:#ced4da;}
#grid-5 {background: #dee2e6;}
#grid-6 {background: #ced2d6;}

.row {flex-wrap: nowrap;}

.insert {
    position: absolute;
    top: .2rem;
    left: 2rem;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    font-size: .8rem;
}

[id*=div-] {border:none; border-left:solid 0px; height:100%;}
[id*=div-]:first-child {border-left:0px solid;}


.col-1 {width:100%; flex: 0 0 100%; max-width: 100%;}
.col-2 {width:50%; flex: 0 0 50%; max-width: 50%;}
.col-3 {width:33.3%; flex: 0 0 33.3%; max-width: 33.3%;}
.col-4 {width:25%; flex: 0 0 25%; max-width: 25%;}

#showall, #hideall {
    float:left;
}
#showall {
    display:none;
}
#div-blank {
    display:none;
    background-color:#fffedf;
    padding:2rem;
}

#div-blank.hangul-workshop-empty {
    background-color:#000;
}

/*sections */
li {text-indent: -2.9rem; padding-left: 2.9rem;}
.number { list-style-type: decimal; text-indent: -3rem;}  


h1 { font-family: Arial, Helvetica, sans-serif;font-size: 1rem;}
h6 { font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 1rem;}

a { color: #0000c7; border-bottom: none;}
a:hover { color:#0000c7; text-decoration: underline;}

img { width:100%; max-width: 1360px; padding:0; margin:0; vertical-align: bottom;}

figure { text-indent: -2.9rem; padding-left: 2.9rem;}
figcaption {font-size: 1.25rem;}

.gallery-item .w-100{
    padding:0rem 0% 1rem 0%;
}

.credit {
    padding: .5rem 0;
    text-align: center;
}

/*grid-animation*/
#grid {
   grid-template-columns: 1fr 1fr 1fr 1fr;
   grid-template-rows: 1fr 1fr 1fr 1fr;
   width: 100%;
   height: 100vh;
   gap: 2px;
   margin:0;
}
.grid-animation {
    animation: resize 3000ms ease infinite both;
    display: grid;
}

.item {
    --delay: 0ms;
    border-top: 0;
    border-bottom: 0;
    border-right:solid 1px;
    border-left: solid 1px;
    margin: 0 2px;
    border-color:#a2a2a2;
}

/* .item:first-child {
border-left:0;
border-color: #779812;
}
.item:nth-child(2) {
border-color: black;
}
.item:nth-child(3) {
border-color: blue;
}
.item:nth-child(4) {
border-color: #779812;
}
.item:nth-child(5n - 2) {
--delay: 1000ms;
} */

.item:nth-child(5n) {
    --delay: 2000ms;
}

@keyframes resize {
   0% {
      grid-template-columns: 1fr 1fr 1fr 1fr;
      grid-template-rows: 1fr;
  }
  20% {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr;
  }
  40% {
      grid-template-columns: 1fr 1fr 1fr;
      grid-template-rows: 1fr;
  }
  60% {
      grid-template-columns: 1fr 1fr 1fr 1fr;
      grid-template-rows: 1fr;
  }
  80% {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr;
  }
  100% {
      grid-template-columns: 1fr 1fr 1fr;
      grid-template-rows: 1fr;
  }
}


.frameOverlay {
     height: 100vh;
     width: 100vw;
     background: rgba(0, 0, 0, 0);
     position: fixed;
     top: 0;
     left: 0;
     display: none;
     z-index: 1;
     pointer-events: none;
}

.frameOverlay.show {
    display: block;
    pointer-events: all;
}

/* ==========================================================================
    Media Query: Type
    ========================================================================== */
 /*

@media screen and (max-width: 768px){
    body {padding: 1.8rem; font-size:2rem; line-height: 1.2;}  
    li {text-indent: -2rem; padding-left: 2.9rem;}
    .number { list-style-type: decimal; text-indent: -1.9rem;}  
    figcaption { font-size: 1.5rem;}
    /* .col-6 {border-left:1px solid;} 
    }*/


/* @media screen and (max-width: 640px){
    body {padding: 1.8rem; font-size:1.5rem; line-height: 1.2;}  
    li {text-indent: -2rem; padding-left: 2.9rem;}
    .number { list-style-type: decimal; text-indent: -1.5rem;}  
    figcaption { font-size: 1.5rem;}
    
    } */

    @media screen and (max-width: 480px){
        body {padding:0; font-size:.8rem; line-height: 1.1;}  
        li {text-indent: -0rem; padding-left: 1.5rem;}
        label {    
            font-size:1rem;
            padding: 0rem 0;
        }
        .number { list-style-type: decimal; text-indent: -1rem;}  
        figcaption { font-size: .8rem;}
        h6 {font-size:0.8rem;}
        .pt-5, .py-5 { padding-top: 0rem; }
        .col-6 {
            -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
            flex: 0 0 100%;
            max-width: 100%;
            padding-right: 0px;
            padding-left: 0px;
        }
    }


/* ==========================================================================
    Media Query: Structure
    ========================================================================== */
   /* @media screen and (max-width: 768px){
        body {
            font-size:1rem; 
            line-height: 1rem;
            padding: .5rem;
        } 
        } */
        @media screen and (max-width: 414px){
            nav {
                left: 0;
                top:auto;
                bottom:0;
                height: 140px;
                width:100%;
                border: solid 1px black;
                min-width:0;
                box-shadow: none;
            }
            .col-4 {
                width: 22.5%;
                flex: 0 0 100%;
                max-width: 100%;
            }

            .row {
                display: block;
                /* display: flex; */
                flex-direction: row;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                display: -ms-flexbox;
                margin: 0;
                padding: 0;
                border: 0;
                font-size:0;
            }
            .form-check-inline {
                align-items: start;
            }
            [class*=col-] {
                display:inline-block;
                border:none; 
                border-bottom:solid 0px; 
                height:21.25%; 
            }
            .col-1, .col-2, .col-3, .col-4 {width:100%; flex: 0 0 100%;  max-width: 100%;}
            .col-1 {height:85%;}
            .col-2 {height:42.5%;}
            .col-3 {height:28.3%;}
            .col-4 {height: 21.25%;}

            nav [class*=col-] {
                border-bottom:0;
                height:auto;
                width: 50%;
                -webkit-box-flex: 0;
                -ms-flex: 0 0 50%;
                flex: 0 0 50%;
                margin-bottom: 0;
                font-size: 1rem;
            }
            nav a {
                padding-top: 5%;
            }
            table td.col-6 {
                border: 1px solid #a2a2a2;
                padding: 8px;
            }
            table td.col-6:first-child {
                flex: 0 0 55%;
                max-width: calc(55% - 7.5px);
            }
            table td.col-6:nth-child(2) {
                flex: 0 0 45%;
                max-width: calc(45% - 7.5px);
            }

            #grid {
                height: 87%;
            }
            .item {
                --delay: 0ms;
                border-top:solid 1px;
                border-bottom: solid 1px;
                border-right: 0;
                border-left: 0;
                margin: 2px 0;
                border-color:#a2a2a2;
            }
            .item:first-child {
                border-top:0;
            }
            .item:last-child {
                border-bottom:0;
            }
            @keyframes resize {
                0% {
                    grid-template-columns: 1fr; 
                    grid-template-rows: 1fr 1fr 1fr 1fr;
                }

                20% {
                    grid-template-columns: 1fr;
                    grid-template-rows: 1fr 1fr;
                }

                40% {
                    grid-template-columns: 1fr;
                    grid-template-rows: 1fr 1fr 1fr;
                }

                60% {
                    grid-template-columns: 1fr;
                    grid-template-rows: 1fr 1fr 1fr 1fr;
                }

                80% {
                    grid-template-columns: 1fr;
                    grid-template-rows: 1fr 1fr;
                }
                100% {
                    grid-template-columns: 1fr;
                    grid-template-rows: 1fr 1fr 1fr;
                }
            }

        }
        .scale-4 body {padding:1rem; font-size:.8rem; line-height: 1.1;}  
        .scale-4  li {text-indent: -0rem; padding-left: 1.5rem;}
        .scale-4 .number { list-style-type: decimal; text-indent: -1rem;}  
        .scale-4 figcaption { font-size: .8rem;}
        .scale-4 h6 {font-size:0.8rem;}
        .scale-4 .pt-5, .py-5 {padding-top: 1rem; }


