body, html {
    margin: 0;
    padding: 0;
}

.yellow {
    color: yellow;
}
a,
a:visited,
a:active,
a:focus {
    text-decoration: none;
    color: inherit;
    outline: none;
}

.topbar {
    display: flex;
    width: 100%;
}

.logo {
    margin-top: 1vh;
    margin-left: 25%;
    align-items: center;
}

.logo a {
    display: flex;
}

.searchbar {
    margin-top: 15px;
    display: flex;
    align-items: center;
    width: 20vw;
    height: 40px;
    font-size: 16px;
    background-color: #fff;
    border: 1px solid #e0e0e0
}

.searchbar input {
    border: none;
    outline: none;
    font-size: 16px;
    background-color: transparent;
}

.searchbar button {
    background-color: #000000;
    color: white;
    border: none;
    width: 80px;
    height: 40px;
    margin-left: 8px;
    cursor: pointer;

}

.middlebar {
    margin-left: 5%;
}

.sms {
    margin-top: 2vh;
    margin-left: 15%;
}

.adask {
    color: darkblue;
    margin: 0;
    margin-top: 2vh;
    font-size: 35px;
    font-weight: bold;
}

.adask:hover {
    cursor: pointer;
}

.titlename {
    margin: 0;
    font-size: 50px;
    font-weight: bold;
}

.titledes {
    margin: 0;
    margin-left: 3.5vw;
    color: darkred;
    font: 15px;
    font-weight: bold;
    transform: scaleX(2); /* Stretches horizontally */
    display: inline-block;
}

.topinput {
    margin-top: 15px;
    width: 20vw;
    height: 50px;
}

.linktree {
    display: flex;
    list-style: none; /*리스트 동그라미 없애는거*/
    gap: 10px;
}

.menubar {
    width: 100%;
    background-color: rgb(72, 72, 72);
}

.menulist {
    margin-left: 15vw;
    margin-right: 15vw;
    color: white;
    font-size: 20px;
    display: flex;
    list-style: none; /*리스트 동그라미 없애는거*/
    gap: 10px;
}

.menulist li {
    white-space: nowrap;
    display: flex;
    justify-content: center;
    padding: 15px;
}

.menulist li:hover {
    background-color: #000000;
    cursor: pointer;
}

.menulist .grow {
    flex: 1;
}

.content {
    display: flex;
    width: 80%;
    margin-left: 10%;
}

.sideleft {
    width: 12.5%;
}

.longad {
    width: 90%;
    height: auto;
    margin-bottom: 5px;
}

.container {
    width: 80%;
}

.horiad {
    width: 49%;
    margin-right: 1%;
}


.sideright {
    margin-left: 1%;
    width: 12.5%;
}
.calendar-table {
    margin-top: 30px;
    width: 98.5%;
    border-spacing: 0;
    font-family: 'Segoe UI', sans-serif;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    border-radius: 10px;
    overflow: hidden;
    font-size: 1vw;
    border-collapse: collapse;
    table-layout: fixed;

    /* Outer border left and right */
    border-left: 3px solid #333;
    border-right: 3px solid #333;
}

.calendar-table th,
.calendar-table td {
    padding: 2vh 1vw;
    text-align: center;
    border: 1px solid #ddd;
    background-color: #fefefe;
    width: 20%;
}

/* Outer top border */
.calendar-table tr:first-child th,
.calendar-table tr:first-child td {
    border-top: 3px solid #333;
}

/* Outer bottom border */
.calendar-table tr:last-child th,
.calendar-table tr:last-child td {
    border-bottom: 3px solid #333;
}

/* Horizontal thick border between row 4 and 5 (index starts at 1) */
.calendar-table tr:nth-child(4) td,
.calendar-table tr:nth-child(4) th {
    border-bottom: 3px solid #333;
}

.calendar-table thead th {
    background-color: #f0f4ff;
    color: #333;
    font-weight: bold;
    font-size: 1.1vw;
}

.calendar-table tbody th {
    background-color: #f9fcff;
    font-weight: bold;
}

.calendar-table td:hover {
    background-color: #f0f8ff;
    transition: background-color 0.2s ease-in-out;
}



.logincontainer {
    width: 80%;
    display: flex;
    justify-content: center; /* Center horizontally */
}

.login {
    display: flex;
    flex-direction: column;
    align-items: center; /* Center contents horizontally inside .login */
    width: 30vw;
    margin-top: 10vh;
    font-size: 1.2vw;
    background-color: #fff;
    border: 1px solid #e0e0e0;
    padding: 2vh 2vw;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}


.login-title {
    margin-bottom: 2vh;
    font-size: 1.5vw;
    font-weight: bold;
    text-align: center;
    width: 100%;
}

.login-input {
    display: flex;
    align-items: center;
    height: 5vh;
    margin-bottom: 2vh;
    width: 100%;
    border: 1px solid #e0e0e0;
    background-color: #fff;
}

.login-field {
    border: none;
    outline: none;
    font-size: 1.2vw;
    width: 100%;
    padding: 0 1vw;
    background-color: transparent;
}

.login-button {
    background-color: #2c2c2c;
    color: white;
    border: none;
    padding: 1vh 0;
    font-size: 1.2vw;
    cursor: pointer;
    margin-bottom: 2vh;
    width: 100%;
}

/* Container to center content */
.writingcontainer {
  width: 100%;
  display: flex;
  justify-content: center;
}

.writebutton {
    background-color: #2c2c2c;
    color: white;
    border: none;
    padding: 1vh 0;
    font-size: 1.2vw;
    cursor: pointer;
    margin-bottom: 2vh;
    width: 30%;
    margin-left: 68.5%;
    margin-top: 3vh;
    margin-bottom: 3vh;
}

/* Main writing box */
.write {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 70vw; /* Wider than login */
  margin-top: 10vh;
  font-size: 1.2vw;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  padding: 2vh 2vw;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}

/* Title styling */
.write-title {
  margin-bottom: 2vh;
  font-size: 1.5vw;
  font-weight: bold;
  text-align: center;
  width: 100%;
}

/* Input field wrapper (same as login) */
.write-input,
.write-input-long {
  display: flex;
  align-items: center;
  margin-bottom: 2vh;
  width: 100%;
  border: 1px solid #e0e0e0;
  background-color: #fff;
}

/* Make textarea taller and fit better */
.write-input-long textarea {
  height: 20vh; /* Taller textarea */
  resize: vertical;
}

/* Shared input/textarea styling */
.login-field {
  border: none;
  outline: none;
  font-size: 1.2vw;
  width: 100%;
  padding: 1vh 1vw;
  background-color: transparent;
}

/* Dropdown styling (a bit styled) */
.category-selection {
  width: 100%;
  margin-bottom: 2vh;
}

.category {
  width: 100%;
  height: 5vh;
  font-size: 1.2vw;
  padding: 0.5vh 1vw;
  border: 1px solid #e0e0e0;
  background-color: #fff;
  outline: none;
}

/* Button (inherits login-button) */
.login-button {
  background-color: #2c2c2c;
  color: white;
  border: none;
  padding: 1vh 0;
  font-size: 1.2vw;
  cursor: pointer;
  margin-bottom: 2vh;
  width: 100%;
}

/* Text below button */
.signup-text {
  font-size: 1vw;
  text-align: center;
  color: #666;
}


.blogcontainer {
  width: 100%;
  overflow-x: auto;
  margin-top: 2vh;
}

.blog-table {
  width: 100%;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
  table-layout: auto;
}

.blog-header {
  background-color: #f4f4f4;
  font-size: 2vh;
  padding: 2vh 1vw;
  text-align: left;
  border-bottom: 1px solid #ccc;
}

.blog-cell {
  font-size: 1.8vh;
  padding: 2vh 1vw;
  border-bottom: 1px solid #eee;
  cursor: pointer;
}

.blog-row:hover {
  background-color: #f9f9f9;
}

.blog-header.title,
.blog-cell.title {
  width: 70%;
}

.blog-cell.date,
.blog-cell.author {
  white-space: nowrap;
}
.blog-header.date,
.blog-cell.date,
.blog-header.author,
.blog-cell.author {
  width: 15%;
}


.pagination button {
  font-size: 1.5vh;
  padding: 0.5vh 1vw;
  margin: 0 5px;
  cursor: pointer;
}
.pagination button:disabled {
  opacity: 0.5;
  cursor: default;
}


.signup-text {
    font-size: 1vw;
    text-align: center;
}
.signup-text a {
    color: blue;
    text-decoration: underline;
    cursor: pointer;
}

.insidebutton {
    width: 30%;
    height: 100%;
    font-size: 1vw;
    color: white;
    background-color: rgb(32, 32, 32);
    border-radius: 0;
}

.attendcontainer {
    margin-top: 5vh;
    width: 100%;
    margin-bottom: 20vh;
}

.attentence {
    font-size: 1.5vw;
    padding: 1vw 2vw;
    border-radius: 0;
    border: none;
    color: white;
    background-color: rgb(253, 141, 159);
}

.attentence:hover {
    cursor: pointer;
}

.notice {
    margin-left: 5px;
}

.text-content {
  padding: 2vw;
  background-color: #fff;
  border-radius: 1vw;
  max-width: 80vw;
  margin: 0 auto;
  font-family: 'Noto Sans KR', sans-serif;
  color: #333;
}

.text-title {
  font-size: 4vw;
  font-weight: 700;
  margin-bottom: 1.5vh;
}

.text-meta {
  font-size: 1.8vw;
  color: #666;
  margin-bottom: 3vh;
}



.text-body {
  font-size: 2.2vw;
  line-height: 1.6;
  white-space: pre-wrap;
}

.announcement-box {
  background-color: #fff8dc;
  border-right: 0.3vw solid #f39c12;
  padding: 1vh 1.5vw;
  margin: 2vh 0;
  font-size: 0.9vw;
  color: #333;
  border-radius: 0.5vw;
  box-shadow: 0 0 0.3vw rgba(0, 0, 0, 0.05);
  max-width: 80vw;
}


.newblogs {
  width: 49%;
  border-collapse: collapse;
  margin: 1rem 0;
  table-layout: fixed;
}

.newblogs th,
.newblogs td {
  border: 1px solid #ccc;
  padding: 8px 12px;
  text-align: left;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.title-col {
  width: 70%;
}

.author-col {
  width: 30%;
}

.newblogs td a {
  display: block;           /* Ensures link behaves like a container */
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #0066cc;
  text-decoration: none;
}

.newblogs td a:hover {
  text-decoration: underline;
}

.stats {
  width: 49%;
  border: 1px solid #ccc;
  padding: 1rem;
  margin: 1rem 0;
  font-family: Arial, sans-serif;
  background-color: #f9f9f9;
  border-radius: 8px;
}

.stats p {
  margin: 0.5rem 0;
  font-size: 1rem;
}

.widthfixer {
    width: 100%;
    display: flex;
}