/* Form */
.form-table .row:not(:last-child) {
  padding-bottom: 50px;
}

.form-table .th {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 30px;
}

.form-table .th span {
  font-size: 2rem;
  font-weight: 400;
  color:#8c8c8c;
}

.form-table .td {
  position: relative;
}

.form-table input {
  width: 49.4505%;
  /* height: 70px; */
  padding: 20px;
  border:1px solid #959595;
  font-size: 2rem;
  transition: var(--transition-basic);
}

.form-table textarea {
  display: block;
  resize: none;
  width: 100%;
  height:350px;
  padding: 20px;
  border:1px solid #959595;
  font-size: 2rem;
}

.form-table .dl {
  display: flex;
  flex-wrap: wrap;
  gap:20px;
}

.form-table .dl dd {
  position: relative;
  flex:1 1 calc(50% - 10px);
}

.form-table .dl dd.dd-full {
  flex:1 1 calc(100% - 10px);
}

.form-table .dl dd.w100 input {
  width: 100%;
}

.form-table .dl dd.label-ani label {
  position: absolute;
  top:20px;
  left: 20px;
  font-size: 2rem;
  opacity: 0;
  transition: var(--transition-basic);
}

.form-table .dl dd.label-ani.has-value label {
  top:10px;
  opacity: 1;
  font-size: 1.4rem;
  color:#959595;
}

.form-table .dl dd.label-ani.has-value input {
  padding: 30px 20px 10px;
}

.form-table .dl dd.label-ani.has-value textarea {
  padding: 30px 20px 20px;
}

.form-table .ul {
  display: flex;
  gap:20px;
}

.form-table .ul label {
  display: block;
  position: relative;
  width: 200px;
  height: 60px;
}

.form-table .ul input {
  position: absolute;
	top:0;
	left:0;
	width:100%;
  height: 100%;
	opacity:0;
  cursor: pointer;
}

.form-table .ul span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #f5f5f5;
  font-size: 2rem;
  color:#8c8c8c;
  transition: var(--transition-basic);
}

.form-table .ul input:checked + span {
  color:#fff;
  background-color: #191919;
}

.form-table .file {
  position: relative;
  width: 49.4505%;
  border:1px solid #959595;
}

.form-table .file label {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 20px;
}

.form-table .file input {
  position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	width: 100%;
	height: 100%;
	padding: 0px;
	border: 0px;
	opacity: 0;
	z-index: 10;
	cursor: pointer;
}

.form-table .file-txt {
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1; 
	-webkit-box-orient: vertical;
	overflow: hidden;
	width: calc(100% - 150px);
	font-size:2rem;
  color:#959595;
}

.form-table .file-btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top:0px;
	right:0px;
	width:150px;
	height:100%;
	background-color: #eeeeee;
	font-size:2rem;
	color:#959595;
}

.form-agree {
	margin-top: 30px;	
}

.form-agree label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap:10px;
  font-size: 0px;
  cursor: pointer;
  font-size: 2rem;
}

.form-agree input {
  position: absolute;
	top:0;
	left:0;
	width:30px;
	opacity:0;
  height: 100%;
  cursor: pointer;
}

.form-agree span {
  display: inline-block;
}

.form-agree button {
  font-size: inherit;
  color:#1650a7;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.form-agree i {
  display: inline-block;
  width:30px;
  height:30px;
  background: url('/en/asset/img/icon/chk01_off.png') no-repeat center / cover;
}

.form-agree input:checked + i {
  background-image: url('/en/asset/img/icon/chk01_on.png');
}

.form-btn {
  display: flex;
  justify-content: center;
  padding-top: 60px;
}

.form-btn .btn {
  display:inline-flex;
  justify-content: center;
  align-items: center; 
  width: 360px;
  height: 70px;
  background-color: #dc1e1e;
  font-size: 2rem;
  color:#fff;
  transition: var(--transition-basic);
}

.form-table .select-prd {
  display: none;
  flex-wrap: wrap;
  gap:10px;
  margin-top: 20px;
}

.form-table .select-prd dd {
  display: flex;
  justify-content: center;
  align-items: center;
  gap:6px;
  padding: 8px 16px;
  background-color: #e5e5e5;
  border-radius: 20px;
  font-size: 1.8rem;
}

.form-table .select-prd dd i {
  display: block;
  width: 15px;
  height: 15px;
  background: url('/en/asset/img/icon/close03.png') no-repeat center / cover;
  cursor: pointer;
}

/* 제품명 검색 스타일 */
.form-table .dl dd .prd {
  position: relative;
}

.form-table .dl dd .prd-input-list {
  display: none;
  position: absolute;
  top:calc(100% - 1px);
  left: 0;
  width: 49.4505%;
  height: auto;
  padding: 20px;
  border:1px solid #959595;
  background-color: #fff;
  z-index: 99;
  font-size: 2rem;
}

.form-table .dl dd .prd-input-list li:not(:last-child) {
  margin-bottom: 10px;
}

@media screen and (min-width:1201px) {
  .form-table .dl dd .prd-input-list li:hover {
    color:#dc1e1e;
  }
}

@media screen and (max-width:1200px) {  
  .form-table .th {
    font-size: 2rem;
  }

  .form-table .th span {
    font-size: 1.8rem;
  }

  .form-table input {
    font-size: 1.8rem;
  }

  .form-table textarea {
    font-size: 1.8rem;
  }

  .form-table .ul span {
    font-size: 1.8rem;
  }

  .form-table .file-txt {
    font-size: 1.8rem;
  }

  .form-table .file-btn {
    font-size: 1.8rem;
  }

  .form-agree label {
    font-size: 1.8rem;
  }

  .form-btn .btn {
    font-size: 1.8rem;
  }

  .form-table .dl dd.label-ani label {
    font-size: 1.8rem;
  }

  .form-table .dl dd.label-ani.has-value label {
    font-size: 1.3rem;
  }

  .form-table .select-prd dd {
    font-size: 1.6rem;
  }

  .form-table .dl dd .prd-input-list {
    font-size: 1.8rem;
  }
}
@media screen and (max-width:1024px) {
  .form-table .row:not(:last-child) {
    padding-bottom: 36px;
  }

  .form-table .th {
    font-size: 1.9rem;
    margin-bottom: 20px;
  }

  .form-table .th span {
    font-size: 1.7rem;
  }

  .form-table input {
    padding: 16px;
    font-size: 1.7rem;
  }

  .form-table textarea {
    padding: 16px;
    font-size: 1.7rem;
  }

  .form-table .ul {
    gap:10px;
  }

  .form-table .ul label {
    width: 160px;
    height: 48px;
  }

  .form-table .ul span  {
    font-size: 1.7rem;
  }

  .form-table .file label {
    padding: 16px;
  }

  .form-table .file-txt {
    width: calc(100% - 100px);
    font-size: 1.7rem;
  }

  .form-table .file-btn {
    width: 100px;
    font-size: 1.7rem;
  }

  .form-table .dl {
    gap:10px;
  }

  .form-table .dl dd {
    flex: 1 1 calc(50% - 5px);
  }

  .form-table .dl dd.label-ani label {
    left: 16px;
  }

  .form-table .dl dd.label-ani.has-value label {
    font-size: 1.2rem;
  }

  .form-table .dl dd.label-ani.has-value input {
    padding: 22px 16px 10px;
  }

  .form-table .dl dd.label-ani.has-value textarea {
    padding: 22px 16px;
  }

  .form-agree {
    margin-top: 20px;
  }

  .form-agree label {
    font-size: 1.7rem;
  }

  .form-agree i {
    width: 24px;
    height: 24px;
  }

  .form-btn {
    padding-top: 40px;
  }

  .form-btn .btn {
    width: 280px;
    height: 60px;
    font-size: 1.7rem;
  }

  .form-table .select-prd {
    gap:6px;
    margin-top: 16px;
  }

  .form-table .select-prd dd {
    padding: 4px 10px;
    font-size: 1.5rem;
  }

  .form-table .select-prd dd i {
    width: 12px;
    height: 12px;
  }

  .form-table .dl dd .prd-input-list {
    font-size: 1.7rem;
    padding: 16px;
  }
}
@media screen and (max-width:768px) {
  .form-table .th {
    font-size: 1.8rem;
  }

  .form-table .th span {
    display: block;
    margin-top: 4px;
    font-size: 1.6rem;
  }

  .form-table input {
    width: 100%;
    padding: 12px 16px;
    font-size: 1.6rem;
  }

  .form-table textarea {
    height: 300px;
    font-size: 1.6rem; 
  }

  .form-table .ul label {
    width: 140px;
    height: 40px;
  }

  .form-table .ul span {
    font-size: 1.6rem;
  }

  .form-table .file {
    width: 100%;
  }

  .form-table .file label {
    padding: 13px 16px;
  }
  
  .form-table .file-txt {
    font-size: 1.6rem;
  }

  .form-table .file-btn {
    font-size: 1.6rem;
  }

  .form-table .dl dd.label-ani label {
    font-size: 1.6rem;
  }

  .form-table .dl dd.label-ani.has-value label {
    top: 8px;
  }

  .form-table .dl dd.label-ani.has-value input {
    padding: 20px 16px 4px;
  }

  .form-table .dl dd.label-ani.has-value textarea {
    padding: 20px 16px;
  }

  .form-agree label {
    font-size: 1.6rem;
  }

  .form-btn {
    padding-top: 30px;
  }

  .form-btn .btn {
    width: 240px;
    height: 50px;
    font-size: 1.6rem;
  }

  .form-table .select-prd dd {
    font-size: 1.4rem;
  }

  .form-table .dl dd .prd-input-list {
    width: 100%;
    font-size:1.6rem;
  }
}
@media screen and (max-width:576px) {
  .form-table .row:not(:last-child) {
    padding-bottom: 24px;
  }

  .form-table .th {
    font-size: 1.6rem;
    margin-bottom: 12px;
  }

  .form-table .th span {
    font-size: 1.2rem;
  }

  .form-table input {
    padding: 10px;
    font-size: 1.3rem;
  }

  .form-table textarea {
    height: 240px;
    padding: 10px;
    font-size: 1.3rem;
  }

  .form-table .file label {
    padding: 11px 10px;
  }

  .form-table .file-txt {
    font-size: 1.3rem;
  }

  .form-table .file-btn {
    font-size: 1.3rem;
  }

  .form-table .dl {
    gap:6px;
  }

  .form-table .dl dd {
    flex:1 1 100%;
  }

  .form-table .ul {
    gap:6px;
  }

  .form-table .ul label {
    width: 120px;
    height: 36px;
  }

  .form-table .ul span {
    font-size: 1.3rem;
  }

  .form-table .dl dd.label-ani label {
    font-size: 1.3rem;
  }

  .form-table .dl dd.label-ani.has-value label {
    top:5px;
    left: 12px;
    font-size: 1rem;
  }

  .form-table .dl dd.label-ani.has-value input {
    padding: 18px 10px 2px;
  }

  .form-table .dl dd.label-ani.has-value textarea {
    padding: 18px 10px;
  }

  .form-agree {
    margin-top: 12px;
  }

  .form-agree label {
    gap:4px;
    font-size: 1.2rem;
  }

  .form-agree i {
    width: 14px;
    height: 14px;
    background-size: auto 13px;
  }

  .form-agree span {
    width: calc(100% - 8px);
  }

  .form-btn {
    padding-top: 20px;
  }

  .form-btn .btn {
    width: 180px;
    height: 42px;
    font-size: 1.3rem;
  }

  .form-table .select-prd {
    gap:4px;
    margin-top: 10px;
  }

  .form-table .select-prd dd {
    gap:4px;
    padding: 4px 8px;
    font-size: 1.2rem;
  }  

  .form-table .select-prd dd i {
    width: 10px;
    height: 10px;
  }

  .form-table .dl dd .prd-input-list {
    padding: 10px;
    font-size: 1.3rem;
  }

  .form-table .dl dd .prd-input-list li:not(:last-child) {
    margin-bottom: 6px;
  }
}


/* Form Modal */
.form-modal {
	display: none;
	position: fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	padding:20px;;
	z-index: 9999;
}

.form-modal .modal-con {
	display: flex;
  justify-content: center;
  align-items: center;
  max-width:640px;
  width: 100%;
  max-height: calc(100% - 300px);
	height:100%;
	margin:0 auto;
}

.form-modal .modal-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}

.form-modal .modal-inner {
	position: relative;
  width: 100%;
  height: 100%;
  padding:40px;
  background-color: #fff;
	overflow-y: auto;
}

.form-modal .textarea p {
	font-size:1.6rem;
}

.form-modal.open {
  display: flex;
  align-items: center;
  visibility: visible;
}

@media screen and (max-width:1200px) {
  .form-modal .textarea p {
    font-size:1.4rem;
  }
}
@media screen and (max-width:1024px) {
  .form-modal .modal-inner {
    padding: 30px;
  }
}
@media screen and (max-width:768px) {
  .form-modal .textarea p {
    font-size:1.3rem;
  }
}
@media screen and (max-width:576px) {
  .form-modal .modal-inner {
    padding: 20px;
  }

  .form-modal .textarea p {
    font-size:1.2rem;
  }
}
