@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Black+Han+Sans&display=swap');

body {
    padding: 0;
    margin: 0;
    font-family: 'Noto Sans KR', sans-serif;
    background: rgb(248, 248, 248);
    line-height: 1;
}

body > div.title {
    width: 90%;
    height: 300px;
    margin: 0 auto;

    text-align: left;
    padding: 20px 0;
}

.title .maintitle {
    position: relative;
    padding: 0 0 0 40px;
    margin: 80px 0 0 0;
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 40px;
    font-weight: 800;
}

.title svg {
    position: absolute;
    left: 0%;
    top: 50%;
    width: 35px;
    text-align: center;
    transform: translateY(-50%);
  }

.title svg:nth-child(1) {  
    transform-origin: 50%;
    animation: spin 4s ease infinite normal;
}

@keyframes spin {
    0% {
        transform: rotateY(0deg) translateY(-50%);
    }
    100% {
        transform: rotateY(360deg) translateY(-50%);
    }
}

.title .maintitle h1 {
    margin: 0;
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 40px;
    font-weight: 800;
    transform: translateY(-2px);
}

.title p.subtitle {
    margin: 0;
    padding: 15px 0 0 15px;

    font-family: 'Noto Sans KR', sans-serif;
    font-size: 15px;
    font-weight: 800;
}

.ad,
.deadline,
.event {
    display: none;
    overflow: hidden;
    position: relative;
    margin: 20px auto;
    width: 90%;
    border-radius: 20px;
    font-size: 0;
}

.ad:after {
    content: "ad";
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 1.5px 15px;
    background: rgba(0,0,0,0.5);
    border-radius: 20px 0 0 0;
    color: #fff;
    font-size: 15px;
    line-height: 15px;
    box-sizing: border-box;
}

.deadline:after {
    content: ">>";
    position: absolute;
    top: 50%;
    right: 5%;
    color: #fff;
    font-family: 'Black Han Sans', sans-serif;
    font-size: 5vw;
    line-height: 1;
    box-sizing: border-box;
    transform: translateY(-50%);
}

.ad img,
.deadline img,
.event img {
    width: 100%;
    transition: .5 all;
}

.ad:hover img,
.deadline:hover img,
.event:hover img {
    scale: 1;
}

.notice {
    display: block;
    position: relative;
    padding: 15px;
    margin: 20px auto;
    width: 90%;
    box-sizing: border-box;
    border-radius: 20px;
    background: url("../images/icons/arrow-right-s-line.svg") no-repeat right 15px center, #fff;
    color: #141414;
    font-size: 20px;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 700;
    line-height: 40px;
    text-decoration: none;
}

.notice-new span::after {
    content: "NEW";
    display: inline-block;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    padding: 5px;
    margin: 0 0 0 5px;
    border-radius: 10px;
    background: #ff0000;
    color: #fff;
    font-size: 10px;
    line-height: 10px;
}

.add-button {
    display: block;
    padding: 15px;
    margin: 20px auto;
    width: 90%;
    box-sizing: border-box;
    border: none;
    border-radius: 20px;
    background: url("../images/icons/arrow-right-s-line.svg") no-repeat right 15px center, #fff;
    color: #141414;
    text-align: left;
    font-size: 20px;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 700;
    line-height: 40px;
    text-decoration: none;
}

.coupon {
    position: relative;
    width: 90%;
    padding: 15px;
    margin: 20px auto;
    box-sizing: border-box;
    border-radius: 20px;
    background: #fff;
}

.coupon .filters {
    overflow: auto;
    display: block;
    margin: 0;
    width: calc(100% - 42px);
    border-radius: 27px;
    text-wrap: nowrap;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

.coupon input{
    position: absolute;
    left: -5000px;
}

.coupon label {
    display: inline-block;
    padding: 5px 10px;
    margin: 0 2.5px;
    box-sizing: border-box;
    border-radius: 20px;
    border: 1px solid #141414;
    color: #141414;
    font-size: 15px;
    font-weight: 500;
    line-height: 15px;
    transition: 1s all;
}

.coupon .onlysteam + label {
    padding-left: 25px;
    background: url(../images/icons/steam-fill.svg) no-repeat;
}

.coupon button.sort-button {
    position: absolute;
    right: 15px;
    top: 15px;
    width: 27px;
    height: 27px;
    padding: 0;
    box-sizing: border-box;
    border-radius: 100%;
    background: url(../images/icons/sort-asc.svg) no-repeat top 27px center, url(../images/icons/sort-desc.svg) no-repeat center;
    border: none;
    transition: .5s all;
}

.coupon button.sort-button.oldest {
    background: url(../images/icons/sort-asc.svg) no-repeat center, url(../images/icons/sort-desc.svg) no-repeat top -27px center;
}

.coupon input:checked + label {
    background: #141414;
    color: #fff;
}

.coupon input.onlysteam:checked + label {
    background: url(../images/icons/steam-fill-white.svg) no-repeat, #141414;
    color: #fff;
}

.coupon div {
    margin:20px 0 20px 0;
    box-sizing: border-box;
}

.coupon div button {
    display: none;
    position: relative;
    padding: 0;
    margin: 0 0 10px 0;
    width: 100%;
    background: #fff;;
    border: 1px solid rgb(41, 41, 41);
    border-radius: 60px;
    font-size: 20px;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 700;
    line-height: 60px;
    z-index: 1000;
}

.coupon div button.today {
    margin: 15px 0 10px 0;
}

.coupon div button.today:after {
    content: "오늘마감";
    position: absolute;
    top: 0;
    left: 50%;
    padding: 1px 5%;
    font-size: 15px;
    font-weight: 300;
    color: #fff;
    background: red;
    border-radius: 10px;
    line-height: 15px;
    transform: translate(-50%, -50%);
}

.us div button.today:after {
    content: "expired today";
    position: absolute;
    top: 0;
    left: 50%;
    padding: 1px 5%;
    font-size: 15px;
    font-weight: 300;
    color: #fff;
    background: red;
    border-radius: 10px;
    line-height: 15px;
    transform: translate(-50%, -50%);
}

.coupon div button.active {
    background: #00d26a;
    color: #fff;
    font-size: 25px;
}

.coupon button:nth-last-child(1) {
    margin: 0;
}

.service {
    text-align: center;
}

.service a {
    display: inline-block;
    padding: 5px 20px;
    margin: 20px auto;
    box-sizing: border-box;
    border-radius: 20px;
    background: #fff;
    color: #141414;
    font-size: 20px;
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 700;
    line-height: 40px;
    text-align: center;
    text-decoration: none;
}

.servie a span {
    vertical-align: bottom;
    line-height: 40px;
}

.service a span:before {
    content: "";
    display: inline-block;
    padding: 0 10px 0 0;
    width: 25px;
    height: 25px;
    background: url("../images/icons/customer-service-fill.svg") no-repeat left center;
    vertical-align: -4px;
}