.modal_wrapper2 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1.5rem;
  min-height: calc(100% - 3rem);
}
.m-spinner--signal {
  --spinner-color: var(--color, white);
  --spinner-color-secondary: var(--color-secondary, currentColor);
  --spinner-duration: 1.25s;
  --spinner-size: 200px;
  --spinner-stroke-width: 0.075;
  display: inline-flex;
  color: var(--spinner-color);
  font-size: var(--spinner-size);
  width: 400pt;
  height: 400pt;
  max-width: 1em;
  max-height: 1em;
  position: relative;
}

#modalCompleteContainer .modal_body p,
#modalContainer .modal_body p {
  font-size: 19pt;
  font-family: Inter;
  font-weight: 600;
  color: #666666;
  letter-spacing: -2.5pt;
}

#modalCompleteContainer .close_btn,
#modalContainer .close_btn {
  font-size: 18pt;
  font-family: Inter;
  font-weight: 600;
  background-color: #ae8b75;
  background-image: none;
  /* --grad-color-1: #99b9bc;
  --grad-color-2: #609da2;
  --gradient: linear-gradient(90deg, var(--grad-color-1) 0%, var(--grad-color-2) 100%); */

  padding-bottom: 11pt;
  padding-left: 40pt;
  padding-right: 40pt;
}

body {
    font-family: "Gowun Batang", serif;
    display: flex;
    justify-content: center;
    align-items: center;
    /* height: 100vh; */
    margin: 0;
    background-color: #bbbda7;
    padding: 30pt 0;
    word-break: keep-all;
}

#mainContainer {
    width: 90%;
    max-width: 400px;
    padding: 40px 20px 30px 20px;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    text-align: center;

    background-image:url("pattern.png");
    background-repeat: repeat;
    background-color: white;
}

* {
    font-family: "Gowun Batang", serif;
    font-weight: 400;
    font-style: normal;
}

h1 {
    font-weight: 700;
    font-size: 20pt;
    margin-bottom: 5px;
    margin-top: 10pt;
    color: #9a6f2e;
}

h2 {
    font-weight: 700;
    font-size: 16px;
    color: gray;
    margin-bottom: 20px;
}

.input-group {
    margin-bottom: 20px;
    text-align: left;
}

.input-group label {
    font-size: 13pt;
    margin-bottom: 5px;
    display: block;
    color: black;
    font-weight: 600;
}


.input-group input, .input-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 14px;
    resize: none;
}

.color-selection {
    margin-bottom: 20px;
    text-align: left;
}

.color-container {
  display: flex;
  justify-content: space-evenly;
  margin-top: 15px;
}

.color-selection label {
    font-size: 14px;
    margin-right: 10px;
}

.color-selection input[type="radio"] {
    display: none;
}

.color-selection label span {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px solid #ccc;
    cursor: pointer;
}

.color-selection input[type="radio"]:checked + label span {
    border-color: black;
}

#colorRed + label span {
    background-color: red;
}

#colorBlue + label span {
    background-color: blue;
}

#colorYellow + label span {
    background-color: yellow;
}

#colorGreen + label span {
    background-color: green;
}

#colorPink + label span {
    background-color: pink;
}

.info {
  display: block;
  margin-top: 20pt;
  font-weight: 300;
  letter-spacing: -1px;
  font-size: 11pt;
  color: #AAA;
}

#btnSubmit {
    width: 100%;
    padding: 15px;
    font-size: 16px;
    background-color: #9a6f2e;
    border: none;
    border-radius: 5px;
    color: white;
    cursor: pointer;
    margin-top: 40px;
    font-weight: 700;
}

#btnSubmit:disabled {
    background-color: #eee;
    color: #aaa;
    cursor: not-allowed;
}



p#description {
    font-family: "Nanum Myeongjo", serif;
    font-size: 12.5pt;
    color: black;
    text-align: center;
    line-height: 22pt;
    letter-spacing: -0.8pt;
    margin-top: 20pt;
    margin-bottom: 50pt;
}

section.cereal-container{
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    /* gap: 20px; */
}

section.cereal-container .tile{
    width: 109pt;
    height: 110pt;
    position: relative;
    margin: 4pt 0;
}
section.cereal-container input[type="checkbox"]{
    -webkit-appearance: none;
    position: relative;
    height: 100%;
    width: 100%;
    background-color: #ffffff;
    border-radius: 10px;
    cursor: pointer;
    border: 3px solid transparent;
    outline: none;
    box-shadow: 15px 15px 25px rgba(2,28,53,0.05);
}
section.cereal-container input[type="checkbox"]:after{
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f111";
    font-size: 22px;
    top: 10px;
    left: 10px;
    color: #e2e6f3;
}
section.cereal-container input[type="checkbox"]:hover{
    transform: scale(1.08);
}
section.cereal-container input[type="checkbox"]:checked{
    border: 3px solid #9a6f2e;
}
section.cereal-container input[type="checkbox"]:checked:after{
    font-weight: 900;
    content: "\f058";
    color: #9a6f2e;
}
section.cereal-container label{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8pt;
    height: 80%;
    width: 100%;
    position: absolute;
    bottom: 0;
    cursor: pointer;
}
section.cereal-container label .fas{
    font-size: 60px;
    color: #2c2c51;
}
section.cereal-container input[type="checkbox"]:checked + label .fas{
    animation: grow 0.5s;
}
@keyframes grow{
    50%{
        font-size: 80px;
    }
}
section.cereal-container label h6{
    font-family: "Noto Serif KR", serif;
    font-size: 14pt;
    font-weight: 700;
    opacity: 1.0;
}
section.cereal-container label span{
    font-family: "Noto Serif KR", serif;
    font-size: 15px;
    font-weight: 600;
    opacity: 1.0;
}
section.cereal-container label p{
    font-family: "Noto Serif KR", serif;
    font-size: 9pt;
    font-weight: 400;
    padding: 0 10px;
    text-align: center;
    letter-spacing: -0.6pt;
    opacity: 0.8;
}