#body-wrapper {    
    background: linear-gradient(135deg, #8BC2CD, #889F96);
    color: black;
    height: 100vh;
}

#main-wrapper {    
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-top: 5rem;
    text-align: center;
}

h1 {
    font-size: 46px;
}

#serach-form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

#search-wrapper {
    display: flex;
    flex-direction: row;
    background: white;
    border-radius: 1.75rem;
    align-items: center;
    gap: 1rem;
}

#search-icon {    
    color: #222222;
    padding-left: 0.875rem;
}

#address-submit-button{
    color: #FFFFFF;
    background-color: #007B33;
    font-size: 1rem;
    border: none;
    outline: none;
    padding: 0.875rem;
    border-radius: 1.75rem;
    cursor: pointer;
}

#address-submit-button:hover {
    opacity: 0.9;
}

#address-input-field {
    color: #222222;
    font-size: 1rem;
    border: none;
    background-color: transparent;
    outline: none;
}

#invalid-postal-code-error-message {
    color: #B22222;
}

#representatives-section {
    text-align: start;
}

#representatives-list,
.legilature-offices-list,
.constituency-offices-list,
#footer-socials-list {
    padding-inline-start: 0px
}

#representatives-list {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.representative-name-all-details {
    font-size: 24px;
}

.offices-container-title {
    font-size: 20px;
    font-weight: bold;
}

.legislature-office-title,
.constituency-office-title {
    font-size: 18px;
    font-weight: bold;
}

.legislature-offices-list,
.constituency-offices-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.representative-list-item,
.office-list-item,
#footer-socials-list {
    list-style: none;
}

.representative-level {
    text-align: center;
}

.representative-main-details-with-image,
.representative-main-details-with-image-all-details {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    background-color: #fdfdfd;
    color: #000000;
    border-radius: 1rem;
    min-width: 20rem;
    border-style: solid;
    border-width: 2px;
    border-color: black;
    border-radius: 1rem;
    box-shadow: 2px 2px 4px black;
}

.representative-main-details-with-image {
    cursor: pointer;
}

.representative-main-details-with-image:hover {
    opacity: 0.9;
}

.representative-image {
    border-top-left-radius: 0.8rem;
    border-bottom-left-radius: 0.8rem;
    width: 6.25rem;
    height: 10.123rem;
}

.representative-image-all-details {
    border-top-left-radius: 0.8rem;
    width: 12.5rem;
    height: 20.246rem;
}

.representative-main-details-container {
    padding-right: 1rem;
}

.representative-image-container,
.representative-image-container-all-details {
    display: flex;
}

.representative-main-details-others-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.representative-main-details-others-container-all-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, auto); 
    gap: 1rem;
}

.labelAndValue,
.toggle-button {
    margin: 0;
}

.representative-pa-container {
    border-bottom-style: solid;
    border-bottom-width: 0.5rem;
}

.representative-detail-label {
    font-weight: bold;
}

.representative-all-details-wrapper {
    margin-top: 3rem;
}

.representative-offices-container {
    display: flex;
    flex-direction: column;
    justify-content: start;
}

.offices-details-container {
    display: flex;
    flex-direction: row;
    justify-content: start;
}

.representative-legislature-office-container {
    padding-right: 3rem;
    border-right-style: solid;
    border-right-width: 2px;
    border-right-color: silver;
}

.office-list-item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#footer-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

#footer-socials-list {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

#postal-code-not-found {
    color: orange;
}

.socials {
    font-size: 18px;
}

/* loader */
.loader {
    width: 60px;
    display: none;
    margin-top: 1rem;
    aspect-ratio: 2;
    --_g: no-repeat radial-gradient(circle closest-side,#fff 90%,#0000);
    background: 
      var(--_g) 0%   50%,
      var(--_g) 50%  50%,
      var(--_g) 100% 50%;
    background-size: calc(100%/3) 50%;
    animation: l3 1s infinite linear;
  }
  @keyframes l3 {
      20%{background-position:0%   0%, 50%  50%,100%  50%}
      40%{background-position:0% 100%, 50%   0%,100%  50%}
      60%{background-position:0%  50%, 50% 100%,100%   0%}
      80%{background-position:0%  50%, 50%  50%,100% 100%}
  }

  @media (max-width: 800px) {
    .legislature-offices-list,
    .constituency-offices-list {
        grid-template-columns: repeat(1, 1fr);
    }
  }

  @media(max-width: 700px) {
    .representative-main-details-with-image-all-details {
        display: flex;
        flex-direction: column;
    }

    .representative-image-container-all-details {
        justify-content: center;
    }

    .details-and-offices-container-all-details {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    .representative-main-details-others-container-all-details {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto); 
    }
  }
