@charset "utf-8";

@import url("font.css");

:root {
  /* max-width */
  --max-wd: 1280px;
}

/* RESET */
* {
  padding: 0;
  margin: 0;
  color: inherit;
  text-decoration: none;
}

*,*::before,*::after {
  box-sizing: border-box;
}

/* Basic Elements */
html {
  font-size: 16px;
}

body {
  font-family: 'S-CoreDream';
  line-height: 1.6;
  color: #000;
}

div, label, input, textarea, select, li, a, button {
  font-family: 'S-CoreDream';
  font-size: 1em;
}

img {
  max-width: 100%;
  height: auto;
  display: block
}

audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  height: 0;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Controls */
a, button, option, select, label[for] {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* input box */
.input {
  -webkit-appearance: none;
  width: 100%;
  height: 40px;
  padding: 10px 12px;
  border: 2px solid #64748b;
  border-radius: 8px;
  box-shadow: 1px 3px 4px rgba(0,0,0,0.2);
}

.textarea {
  -webkit-appearance: none;
  width: 100%;
  min-height: 120px;
  padding: 10px 12px;
  border: 2px solid #64748b;
  border-radius: 8px;
  box-shadow: 1px 3px 4px rgba(0,0,0,0.2);
}

.input:focus,.textarea:focus {
  outline: none;
  border-color: #2563eb;
}

@media (max-width: 480px) {
  .input,.textarea {
    font-size: 0.85em;
    padding: 10px 6px;
  }
}

/* 맨 위로 버튼 */
#topBtn {
  display: none;
  position: fixed;
  bottom: 4%;
  right: 3%;
  z-index: 999;
  font-size: 0.9em;
  border: none;
  outline: none;
  background-color: #333;
  color: white;
  cursor: pointer;
  padding: 1px 0 2px 2px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  opacity: 0.7;
  transition: all 0.3s ease;
}

/* hover 효과 */
#topBtn:hover {
  background-color: #555;
}
#backToTop:hover {
  transform: translateY(-5px);
}

.clear-both:after {
  content: '';
  display: block;
  clear: both;
}

/* 글자색 */
.fc-white {
  color: #fff !important;
}

/* 배경색 */
.bg-gray {
  background: #f7f9fb !important;
}

/* 정렬 */
.fl {
  float: left !important;
}
.fr {
  float: right !important;
}
.tl {
  text-align: left !important;
}
.tr {
  text-align: right !important;
}
.tc {
  text-align: center !important;
}

/* 여백 */
.mgb15 {
  margin-bottom: 15px !important;
}

@media (max-width: 640px) {
  .mgb15 {
    margin-bottom: 10px !important;
  }
}
