@charset "utf-8";

/* ------ 3p.css ------- */
.sec {
    /* background: repeating-radial-gradient(circle,lavender 20%, dodgerblue 30%, white 40%); */
    overflow-x: hidden;
}

/* ====== 포트폴리오 필터링 시작 ======= */

.main {
    /* border: 5px blue dashed ; */
    max-width : 1100px;
    margin : 0 auto; 

}

.main > h2 {
    font-size: 180%;
    word-break: break-all; /*단어 떨어지게 */
    margin-top: 50px;
    margin-bottom: 10px; 
    /* padding: 0 20px;  */
    
}


/* -- 필터링 버튼 -- */
.main #myBtnContainer {
    margin-top: 10px;
    /* padding: 0 20px; */
}
.main #myBtnContainer .btn {    
    padding: 10px 16px;
    background-color:rgb(250, 250, 250);
    cursor: pointer;
    font-size: 100%;
    border: 1px solid rgba(255, 214, 58, 1);
    outline: none;
    border-radius: 5px;
    color: rgb(170, 169, 169);
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans';
    font-weight: 80;
}
.main #myBtnContainer .btn:hover,
.main #myBtnContainer .btn:focus {
    background-color:rgb(255, 214, 58);
    /* background-color:rgb(252, 202, 4); */
    color: rgb(255, 255, 255);
    /* color: black; */
      
}

.main #myBtnContainer .btn.active_btn {
    background-color:rgb(255, 169, 85);
    /* background-color:rgb(252, 202, 4); */
    color: rgb(255, 255, 255);
    /* color: black; */
    font-size: 110%;    
}


/* -- 갤러리 콘텐츠 시작 -- */
.main .row { 
    /* border: 1px solid saddlebrown ; */
    background-color: rgba(53, 171, 177, 0.1);
    margin: 10px 0px;
    display: flex;
    flex-wrap: wrap;

}

/* 자바스크립트에서 클래스네임에 show를 붙여서 보이게 하는... */
.main .row .column { 
    padding: 8px;
    /* border: 1px solid black; */
    flex: 0 0 33.3333%;
    max-width: 33.3333%;  
    display: none;
} 

.main .row .column.show {
  display: block;       /* 자바스크립트로 보일 때만 block → 문제 발생 가능 */
  display: flex;        /* 또는 flex로 바꾸면 내부 정렬도 가능 */
  flex-direction: column;
}


/* ---개별 콘텐츠 박스 --- */
.main .row .column .content { 
    /* width: 33.33333%; */
    background-color: white;
    padding: 10px; 
    position: relative;
    aspect-ratio: 1 / 1;                   
}


.main .row .column .last {
    aspect-ratio : auto;
    }

.main .row .column .content .ibox {
    width: 100%;
    height: 300px;
    overflow: hidden;
    /* position: relative; */
}

.main .row .column .content .last {
    max-height: 300px;
}

.main .row .column .content .ibox img {    
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;    
}

.main .row .column .content .pos_l img {
    object-position: left top ;      
}



/* ---개별 콘텐츠 이미지 --- */
/* .main .row .column .content .p1 {
    background-image: url(images/p-1.jpg);
    background-size: cover;
    background-position: center;
} 

.main .row .column .content .p2 {
    background-image: url(images/p-2.jpg);
    background-size: cover;
    background-position: center;
} 

.main .row .column .content .p3 {
    background-image: url(images/p-3.jpg);
    background-size: cover;
    background-position: center;
} 

.main .row .column .content .p4 {
    background-image: url(images/p-4.jpg);
    background-size: cover;
    background-position: left;
    
} 

.main .row .column .content .p5 {
    background-image: url(images/p-5.jpg);
    background-size: cover;
    background-position: center;   
} 

.main .row .column .content .i1 {
    background-image: url(images/i-1.jpg);
    background-size: cover;
    background-position: center;   
}
.main .row .column .content .i2 {
    background-image: url(images/i-2.jpg);
    background-size: cover;
    background-position: center;   
}
.main .row .column .content .i3 {
    background-image: url(images/i-3.png);
    background-size: cover;
    background-position: center;   
}   
.main .row .column .content .e1 {
    background-image: url(images/e-1.png);
    background-size: cover;
    background-position: center;   
}
.main .row .column .content .e2 {
    background-image: url(images/e-2.png);
    background-size: cover;
    background-position: center;   
}  */

.main .row .column .content .e3_n {      
    line-height: 300px;
    text-align: center;
    font-size: 150%;  
    font-weight: 700;
    color: #999;
} 



/* ---개별 콘텐츠 텍스트 --- */
.main .row .column .content .tbox > h4 { 
    font-size: 110%;    
}
.main .row .column .content .tbox > p { 
    font-size: 85%;
    line-height: 100%;
    white-space: nowrap;        /* 줄바꿈 금지 */
    overflow: hidden;           /* 넘치는 텍스트 숨김 */
    text-overflow: ellipsis;    /* 말줄임표 (...) 표시 */ 
    max-width: 80vw;  
}



/* -- 원본 볼 때 나오는 모달 창 -- */
        .myImg {
            border-radius: 5px;
            cursor: pointer;
        }
        .myImg:hover {
            opacity: 0.8;
        }
        
        .omodal {
            background-color: rgba(0,0,0,0.7);
            position: fixed;
            left: 0;
            top :0;
            width: 100%;
            height: 100%;            
            color: aliceblue;      
            z-index: 10000;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 20px;
            display: none; 
        }

        .modal-content-wrap {
        max-width: 90vw;
        max-height: 90vh;
        overflow: auto;
        }

        .omodal_content {
            max-width: 100%;
            max-height: 60vh;
            object-fit: contain;
            /* margin-bottom: 20px;            */
                }

        #tbox {
        font-size: 1.2em;
        color: #f0f0f0;     
        }
        
        /* .caption {
            display: block;
            margin: auto;
            font-size: 50%;
            width: 80vw;
            max-width: 700px;
            text-align: center;
        } */

        .close {
            position: absolute; /* relativ를 안쓰면, 바디 또는 픽스트 기준으로! */
            right: 30px;
            top: 30px;
            font-size: 40px;
            font-weight: bold;
            transition: 0.3s;
        }
         .close:hover,
         .close:focus {
            color: aquamarine;
            text-decoration: none;
            cursor: pointer;
         } 

        .omodal_content {           
        }




/* =============== media quaery ====================== */
@media screen and (max-width: 1100px) {
    .main > h2 {
        padding: 0 20px;
        }
    .main #myBtnContainer {
        padding: 0 20px;
        }
    }


@media screen and (max-width: 900px) {
    .main .row .column { 
        flex: 0 0 50%;
        max-width: 50%;  
        }
    .main > h2 {
        margin-top: 20px;
        }
    .footer {
        margin-top: 0px;
    }
}

@media screen and (max-width: 600px) {
    header {
    } 
    header > h3 {
        color: aliceblue;/* padding-left: 3%; */
    }
    .main > h2 {
    font-size: 150%;   
    margin: 30px 50px 0px 20px;
    text-align: center;
    padding-bottom: 10px;
    padding-bottom: 0;
    }
    hr {
        display: none;
    }
    .main .row .column {
        flex: 0 0 50%;
        max-width: 50%;     
    }
    .main #myBtnContainer {
        text-align: center;
        margin-top: 0;               
    }        
} 


@media screen and (max-width:450px) {
    .main #myBtnContainer .btn{
        width: 30%;
    }
    .main #myBtnContainer .btn:nth-child(1) {
        /* display: block; */
        width: 95%;
        margin: 0 auto;
        margin-bottom: 3px;
    }

    .main .row .column .content > h4, 
    .main .row .column .content > p {
        display: block;
        margin: 0 auto;
        text-align: center;
        /* border: 1px solid saddlebrown; */
        line-height: 120%;
    }
    .main .row .column { 
    flex: 0 0 100%;
    max-width: 100%; 
        }   
}

