/* General Styles */
body {
  font-family: sans-serif;
  margin: 0;
}

/* Form Container */
.form-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  align-items: stretch;
  position: relative;
}

/* Background for #main-id */
#main-id {
  /*background-image: url('/1/HDPPortal/Themes/Styles/assets/img/portal.jpg');*/
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* Top Bar Styles */
.top-bar {
  color: white;
  padding: 5px 20px;
  width: 100%;
  text-align: left;
  background-image: linear-gradient(to right, blue, red);
}

.top-bar .contact-info {
  font-size: 1.2em;
}

.top-bar .contact-info span {
  margin-left: 15px;
  display: inline-flex;
  align-items: center;
}

.top-bar .contact-info svg {
  width: 1.2em;
  height: 1.2em;
  margin-right: 5px;
  vertical-align: middle;
  fill: white;
  stroke: white;
}

/* Site Title Bar */
.site-title-bar {
  background-image: url('/Themes/Styles/assets/img/eHDP_Banner.jpg'); /* Replace with actual image path */
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; /* Fit the width of the screen/content */
  padding: 20px 20px; /* Adjusted padding to match image height */
  text-align: center;
  min-height: 80px; /* Ensure enough height for the image */
}

.site-title {
  font-size: 2.5em;
  font-weight: bold;
  display: block;
  visibility: hidden; /* Hide the text visually */
  height: 0; /* Prevent it from taking up space */
  margin: 0; /* Remove any margins */
}

/* Content Wrapper */
.content-wrapper {
  display: flex;
  flex: 1;
}

/* Left Side (Form Image) */
.form-image {
  width: 55%;
  position: relative;
  z-index: 1;
  min-height: 100vh;
  padding: 20px;
  background-color: transparent; /* Ensure transparency */
}

.form-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('/Themes/Styles/assets/img/portal.jpg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0.5;
  z-index: -1;
}

/* Ensure content elements stay above the pseudo-element if needed */
.form-image h1,
.form-image p,
.form-image button {
  position: relative;
  z-index: 1;
}

.l-image h1 {
  font-size: 1.7em;
  color: #fff;
  margin-bottom: 10px;
  background-color: rgba(0, 0, 0, 0.7);
  padding: 5px 10px;
  border-radius: 5px;
}

.info-section {
  width: 100%;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.9);
  border-collapse: collapse;
}

.info-title {
  background-color: #29ecf3;
  padding: 12px 15px;
  color: #333;
  font-weight: bold;
  font-size: 1.4em;
  text-align: left;
  position: relative;
  padding-left: 40px;
}

/*.info-title::before {
  content: 'ℹ';
  position: absolute;
  left: 10px;
  font-size: 1.4em;
  color: white;
  background-color: #333;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}*/

.info-item {
  background-color: #ffda63;
  padding: 10px 15px;
  color: #333;
  font-weight: bold;
  font-size: 1em;
  text-align: left;
  position: relative;
  padding-left: 40px;
  border-top: 1px solid #ccc;
}

.info-item::before {
  position: absolute;
  left: 10px;
  font-size: 1.2em;
  color: white;
  background-color: #333;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: start;
  justify-content: center;
}

.info-item a {
  color: #333;
  text-decoration: none;
  display: block;
}

.info-item:hover {
  background-color: #0056b3;
}

.info-item:hover a {
  color: white;
}

.announcement {
  width: 80%;
  margin: 0 auto 20px;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 10px;
  border-radius: 5px;
}

.announcement h3 {
  font-size: 2em;
  color: #333;
  margin-bottom: 10px;
  font-weight: 900;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
}

.announcement h3::before {
  content: '📢';
  margin-right: 10px;
  font-size: 1.5em;
  color: #333;
}

.announcement p {
  margin-bottom: 10px;
  color: #333;
  font-size: 1.4em;
  font-weight: 700;
  display: block;
  line-height: 1.5;
}

.announcement p span.date {
  display: inline;
  color: white;
  font-weight: 900;
  font-size: 1em;
  background-color: #0056b3;
  padding: 5px 15px;
  border-radius: 5px;
  margin-left: 5px;
  vertical-align: middle;
}

/* Right Side (Form) */
.form-form {
  width: 45%;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  align-items: center;
  justify-content: flex-start;
  background-color: transparent;
}

.form-form-wrap {
  max-width: 320px;
  width: 100%;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 5px;
}

.form-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.form-content h1 {
  font-size: 1.5em;
  color: #333;
  margin-bottom: 15px;
  text-align: left;
  font-weight: bold;
  display: flex;
  align-items: center;
}

.form-content h1 svg {
  margin-right: 5px;
}

.form-content form .field-wrapper input {
  width: 100%;
  padding: 8px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
  font-size: 0.9em;
  box-sizing: border-box;
  background-color: #fff;
}

.form-content form .field-wrapper label {
  display: block;
  margin-bottom: 3px;
  color: #555;
  font-weight: bold;
  font-size: 0.8em;
}

.form-content form .btn {
  width: 100%;
  padding: 10px;
  background-color: #4361ee;
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 0.9em;
  cursor: pointer;
}

.form-content form .btn:hover {
  background-color: #1565c0;
}

/* Alamat Styling */
.form-content .alamat {
  margin-top: 20px;
  text-align: left;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 10px;
  border-radius: 5px;
}

.form-content .alamat h3 {
  font-size: 1em;
  color: #333;
  margin-bottom: 5px;
  text-align: left;
  display: flex;
  align-items: center;
}

.form-content .alamat h3 svg {
  margin-right: 5px;
}

.form-content .alamat p {
  margin-bottom: 3px;
  color: #333;
  font-size: 0.9em;
  text-align: left;
  line-height: 1.4;
}

/* Media Queries */
@media (max-width: 991px) {
  .content-wrapper {
    flex-direction: column;
  }

  .form-image {
    width: 100%;
    order: 2;
    padding: 15px;
  }

  .form-form {
    width: 100%;
    order: 1;
    min-height: auto;
  }

  .form-form-wrap {
    max-width: 90%;
  }

  .top-bar .contact-info {
    font-size: 1em;
  }

  .site-title-bar {
    padding: 8px 15px;
    min-height: 60px; /* Adjusted for mobile */
  }

  .site-title {
    font-size: 1.8em;
  }

  .announcement {
    width: 90%;
  }

  .announcement h3 {
    font-size: 1.6em;
  }

  .announcement p {
    font-size: 1.2em;
  }

  .announcement .date {
    font-size: 0.9em;
  }

  .info-title {
    font-size: 1em;
    padding: 8px 12px;
    padding-left: 35px;
  }

  .info-title::before {
    font-size: 1em;
    width: 18px;
    height: 18px;
  }

  .info-item {
    font-size: 0.9em;
    padding: 8px 12px;
    padding-left: 35px;
  }

  .info-item::before {
    font-size: 1em;
    width: 18px;
    height: 18px;
  }
}