* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: sans-serif;
  background: #ffffff;
  color: #333333;
  /*overflow: hidden;*/
}
html {
  font-size: 16px;
}

.carousel {
  position: relative;
  width: 100%;
  /*height: 830px;*/
  overflow: hidden;
}

.carousel-images {
  display: flex;
  width: 300vw; /* 三张图就写 3 * 100vw */
  transition: transform 0.5s ease;
}

.carousel-images img {
  width: 100vw;
  /*height: 973px;*/
  /*object-fit: cover;*/
  flex-shrink: 0;
}

.carousel-buttons {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
}

.carousel-buttons button {
  background: rgba(0,0,0,0.5);
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  font-size: 1.125rem;
}

.indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}

.indicators div {
  width: 10px;
  height: 10px;
  background: rgba(255,255,255,0.7);
  border-radius: 50%;
  cursor: pointer;
}

.indicators .active-indicators {
  background: #298849;
}

.main-box {
  width: 100%;
  display: flex;
  justify-content: center;
}

.main-wrapper {
  width: 1200px;
  margin-bottom: 30px;
}

.tab-wrapper {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  border-bottom: 1px solid #D8D8D8;
  margin-bottom: 30px;
}

.tab-wrapper .tab-left {
  display: flex;
  flex: 1;
  overflow-y: hidden;
}

.tab-left-box {
  display: flex;
  overflow-x: auto;
  position: relative;
}

.tab-left .tab-item{
  color: #ACC4AC;
  margin-right: 40px;
  padding: 10px 0;
  cursor: pointer;
  flex-shrink: 0;
}

.tab-left .active-tab{
  color: #298849;
  position: relative;
}

.tab-left .active-tab::after{
  content: "";
  position: absolute;
  left: 25%;
  bottom: 0;
  width: 50%;
  height: 3px;
  background-color: #2B8B4E;
}

.tab-right {
  display: flex;
  align-items: center;
  cursor: pointer;
  margin-left: 30px;
}

.tab-right-text {
  margin-left: 10px;
}

.tab-right-icon {
  width: 1rem;
  height: 1rem;
}

.main-content {
  display: flex;
  flex-wrap: wrap;
}

.main-item-wrapper {
  width: 25%;
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}

.main-item {
  display: flex;
  flex-direction: column;
  padding: 10px;
  border: 1px solid #E7E7E7;
  border-radius: 4px;
  box-sizing: border-box;
  cursor: pointer;
  width: 96%;
}

.main-item:hover {
  box-shadow: 0px 4px 8px 0px rgba(42,138,76,0.3);
}

.main-item-img {
  width: 100%;
  height: 188px;
  object-fit: cover;
  border-radius: 4px;
  margin-bottom: 10px;
}

.main-item-title {
  font-size: 1rem;
  margin-bottom: 10px;
  word-break: break-all;
  width: 250px;
}

.main-item-des {
  font-size: 0.875rem;
  color: #999999;
  word-break: break-all;
  width: 250px;
}

.btn-wrapper {
  display: flex;
  justify-content: center;
}

.more-btn {
  text-align: center;
  background: #FFFFFF;
  border: 1px solid #2B8B4E;
  border-radius: 4px;
  color: #2B8B4E;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 1rem;
}

.more-btn:hover {
  background: #2B8B4E;
  color: #fff;
}

.login-box {
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #F5F3F2;
}
.login-wrapper {
  border: 1px solid #dddddd;
  border-radius: 12px;
  background-color: #ffffff;
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 300px;
}

.login-wrapper h1 {
  font-size: 1rem;
  font-weight: bold;
}

.login-wrapper input {
  border: 1px solid #dddddd;
  border-radius: 4px;
  padding: 14px 20px;
  margin-bottom: 30px;
  width: 100%;
  margin-top: 30px;
  font-size: 1rem;
}

.login-wrapper input:focus {
  outline: none;
}

.login-wrapper .login-btn {
  background-color: #BCDDC8;
  color: #ffffff;
  padding: 14px 20px;
  width: 100%;
  border: none;
  cursor: no-drop;
  border-radius: 4px;
  font-size: 1rem;
}

.login-wrapper .exit-btn {
  background-color: #ffffff;
  padding: 14px 20px;
  width: 100%;
  border-radius: 4px;
  border: 1px solid #dddddd;
  margin-top: 20px;
  cursor: pointer;
  font-size: 1rem;
}

.login-wrapper img {
  width: 140px;
  height: 140px;
}

.login-active {
  background-color: #228E4A !important;
  cursor: pointer !important;
}

.empty-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media (max-width: 1200px) {
  .main-wrapper {
    width: 90%;
  }
  .main-item-wrapper {
    width: 50%;
  }
  .login-wrapper {
    width: 80%;
  }
  .main-item-img {
    height: 14rem;
  }
}

@media (max-width: 980px) {
  html {
    font-size: 24px;
  }
  .main-wrapper {
    width: 90%;
  }
  .main-item-wrapper {
    width: 100%;
  }
  .hide-wrapper {
    display: none;
  }
}


