/* 글씨 폰트 추가 */
@import url(//spoqa.github.io/spoqa-han-sans/css/SpoqaHanSansNeo.css);

/* Accessibility(접근성)의 약자로  텍스트를 화면에서 안보이도록 함*/
.a11y {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip-path: inset(50%);
}

body {
    display: flex;
    flex-direction: column;
    align-items: center;
}

body.dark-mode {
    background-color: black;
    color: white;
}

/* header 부분 */
.tit-header {
    display: flex;
    box-sizing: border-box;
    margin-top: 5px;
    height: 80px;
    border: 2px solid #d9dbe0;
    align-items: center;
    width: 100%;
    max-width: 1190px;
}

.tit-header .tit-logo {
    margin-left: 20px;
}

.tit-header nav {
    margin-left: auto;
}

.tit-header nav a,
#btn-change-language,
#btn-theme {
    text-decoration-line: none;
    color: #2e6ff2;
    font-family: Spoqa Han Sans Neo;
    font-size: 20px;
    font-weight: 700;
    margin: 10px;
}

#btn-change-language,
#btn-theme {
    /* 테두리 제거 */
    border: none;
    /* 배경 투명화 */
    background: transparent;
}

/* main 부분 */
main {
    position: relative;
}

.contents {
    display: flex;
}

.contents .img-main {
    width: 560px;
    height: 560px;
    border-radius: 10px;
    margin-top: 140px;
}

.contents form {
    margin-left: 40px;
    margin-top: 120px;
}

.contents form .form-header {
    margin-bottom: 32px;
    font-family: Spoqa Han Sans Neo;
    font-size: 32px;
    font-weight: 700;
    line-height: 40px;
}

.contents form .form-field-title {
    margin-bottom: 10px;
    font-family: Spoqa Han Sans Neo;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
}

.contents form .form-select {
    margin-bottom: 14px;
    width: 590px;
}

.contents .form-input-text {
    margin-bottom: 14px;
    width: 590px;
}

/* 텍스트 입력 부분만 가로가 달라 설정 */
.contents form #cost {
    width: 99.1%;
    margin-bottom: 55px;
}

.contents form .btn-calc {
    width: 590px;
    height: 50px;
    border-radius: 5px;
    background: #2e6ff2;
    font-family: Spoqa Han Sans Neo;
    font-size: 16px;
    font-weight: 500;
    color: #ffffff;
}

/* 계산 결과 */
.contents .result {
    /* 부모인 main을 기준으로 정렬 */
    position: absolute;
    margin-top: 779px;
}

.contents .result .field-result {
    border: 2px solid #d9dbe0;
    background-color: white;
    color: black;
    width: 1190px;
    margin-bottom: 559px;
}

/* footer 부분 */
.footer-contents {
    /* 부모인 body를 기준으로 정렬 */
    position: absolute;
    margin-top: 1300px;
    width: 100%;
    height: 250px;
    border: 2px solid #d9dbe0;
    text-align: center;
}

.site-description {
    margin-top: 50px;
}
