:root {
    --color-black: #222222;
    --color-white: #F8F8F8;
    --color-gray: #a1a1a1;
    --color-gray-light: #f0f0f0;
    --color-red: #CD311E;
    --color-red-light: #ed9b90;
    --color-blue: #007bff;
    --color-green: #189b18;
    --color-orange: #F58421;
    --color-light-orange: #fffaf0;
    --color-yellow: #E4D533;
    --color-yellow-light: #e9de67;
    --size-navbar-height: 65px;
    --size-navbar-height-desktop: 80px;
    --size-max-width: 1200px;
}

@font-face {
    font-family: montserrat;
    src: url("../font/Montserrat-Regular.ttf");
}

@font-face {
    font-family: montserrat-light;
    src: url("../font/Montserrat-Light.ttf");
}

@font-face {
    font-family: montserrat-bold;
    src: url("../font/Montserrat-SemiBold.ttf");
}

* {
    padding: 0;
    margin: 0;
    font-family: montserrat;
    box-sizing: border-box;
    transition: all .375s ease;
}

html {
    padding: 0;
    margin: 0;
    font-size: 10px;
    scroll-behavior: smooth;
}

body {
    height: 100%;
    padding: 0;
    margin: 0;
    background-color: var(--color-white);
}

input[type="file"] {
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.hidden {
    display: none !important;
}

.reef-input-secret {
    display: none;
}

.reef-section {
    position: relative;
    min-height: 170px;
}

.reef-page-wrapper {
    max-width: var(--size-max-width);
    margin: 0 auto;
    height: 100%;
}

/* NAVBAR START*/
.reef-navbar-wrapper {
    z-index: 20;
    width: 100%;
    position: fixed;
    top: 0;
}

.reef-navbar-container-group {
    margin: 5px 0;
    padding: 10px;
    height: var(--size-navbar-height);
    background-color: var(--color-white);
    box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    justify-content: space-between;
    align-items: center;
}

.reef-navbar-logo a img {
    max-width: 100%;
    max-height: calc(var(--size-navbar-height) - 20px);
}

.reef-navbar-title {
    text-align: center;
    margin: auto 0px;
    color: var(--color-black);
}

.reef-navbar-trigger {
    cursor: pointer;
}

.reef-navbar-trigger img {
    max-width: 100%;
    max-height: calc(var(--size-navbar-height) - 30px);
}

.reef-navbar-button-group {
    width: 75%;
    position: absolute;
    display: grid;
    grid-template-rows: 50px 1fr;
    background-color: var(--color-white);
    padding: 10px;
    text-align: left;
    height: calc(100vh - var(--size-navbar-height));
    top: 0;
    left: 0;
    margin-top: calc(var(--size-navbar-height) + 10px);
    transition: all .375s ease;
    transform: translate3d(-100%, 0, 0);
    box-shadow: rgb(0 0 0 / 30%) 5px 5px 5px;
}

.reef-navbar-button-group.expanded {
    transform: translate3d(5px, 0, 0);
}

.reef-navbar-button-subgroup {
    align-items: center;
    gap: 5px;
}

.reef-navbar-button-subgroup.left {
    order: 2;
}

.reef-navbar-button-subgroup.right {
    order: 1;
    display: grid;
    grid-template-columns: 1fr 50px;
    direction: rtl;
}

.reef-navbar-button {
    color: var(--color-black);
    font-size: 1.5rem;
    text-decoration: none;
    display: block;
    padding: 20px 10px;
    font-weight: bold;
    letter-spacing: 2px;
    cursor: pointer;
}

.reef-navbar-button:hover {
    color: var(--color-red);
}

.reef-navbar-photo {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.reef-navbar-greeting {
    color: var(--color-red);
    font-size: 1.5rem;
    text-decoration: none;
    display: block;
    padding: 20px 10px;
    font-weight: bold;
}

/* NAVBAR END */
/* LOGIN START */
.reef-login-wrapper {
    max-width: 400px;
    margin: calc(var(--size-navbar-height) + 30px) auto;
}

/* LOGIN END */
/* FOOTER START */
.reef-footer-container {
    margin: 15px;
}

.reef-footer-grid {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 10px;
    align-items: center;
}

.reef-footer-grid.logo {
    grid-template-columns: 150px 1fr;
}

.reef-footer-logo {
    width: 150px;
}

.reef-footer-logo img {
    max-width: 100%;
}

.reef-footer-text {
    color: var(--color-red);
    margin: 38px 0;
}

.reef-footer-text.icon {
    margin: 0;
}

.reef-footer-text.icon a {
    text-decoration: none;
    color: var(--color-red);
}

.reef-footer-text h1 {
    font-size: 1.6rem;
}

.reef-footer-text p {
    font-size: 1.3rem;
    margin: 5px 0;
}

.reef-footer-icon {
    width: 40px;
    height: 40px;
}

.reef-footer-icon img {
    max-width: 100%;
}

.reef-footer-wrapper {
    min-height: 30px;
    z-index: 20;
    width: 100%;
    color: var(--color-red);
    text-align: center;
    bottom: 0;
    font-size: 1.2rem;
    padding: 10px;
}

.reef-section.footer {
    background-color: var(--color-light-orange);
    min-height: 200px;
}

.reef-footer-grid.desktop {
    display: none;
}

/* FOOTER END*/
/* PAGE START*/
.reef-page-title {
    margin-top: calc(var(--size-navbar-height-desktop) + 20px);
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

.reef-empty-list-placeholder {
    padding: 20px;
    text-align: center;
    font-size: 2rem;
    color: var(--color-gray);
    grid-column-start: span 2;
}

/* PAGE END*/

/* HOME START */
.reef-banner-container {
    margin-top: calc(var(--size-navbar-height) - 5px);
    width: 100%;
    box-shadow: 0px -5px 15px 0px;
    max-height: 500px;
    overflow: hidden;
}

.reef-banner-item {
    text-align: center;
    max-height: 500px;
}

.reef-banner-item img {
    object-fit: contain;
    max-width: 100%;
}

.reef-section.about::before {
    content: "";
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../image/decor-1.png);
    width: 200px;
    height: 400px;
    bottom: 0;
    left: 0;
    z-index: 0;
}

.reef-about-container {
    display: grid;
    padding: 10px;
    gap: 10px;
}

.reef-about-text {
    text-align: center;
}

.reef-about-text h1 {
    font-family: montserrat-bold;
    font-size: 2rem;
    margin-bottom: 20px;
}

.reef-about-text p {
    line-height: 2rem;
    font-size: 1.5rem;
}

.reef-about-image {
    z-index: 1;
    border-radius: 10px;
    overflow: hidden;
}

.reef-about-image img {
    max-width: 100%;
}

/* HOME END */
/* DOCUMENT START */
.reef-document-list-wrapper {
    display: grid;
    padding: 10px;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.reef-document-item {
    text-decoration: none;
    cursor: pointer;
    color: var(--color-black);
}

.reef-document-item:hover {
    color: var(--color-red);
}

.reef-document-item h2 {
    text-align: center;
}

.reef-document-thumbnail {
    max-width: 100%;
}

.reef-document-thumbnail:hover {
    box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}

.reef-document-empty-placeholder {}

.reef-document-detail-wrapper {
    margin-top: calc(var(--size-navbar-height-desktop) + 20px);
    display: grid;
    gap: 10px;
    padding: 10px;
}

.reef-document-detail-wrapper h1 {
    text-align: center;
}

.reef-document-detail-container {
    position: relative;
}

.reef-document-detail-container h1 {
    margin-bottom: 10px;
}

.reef-document-detail-container p {
    font-size: 1.5rem;
}

.reef-document-download-container {
    text-align: center;
    display: grid;
    gap: 10px;
}

.reef-document-download-button {
    padding: 10px;
    background-color: var(--color-red);
    color: var(--color-white);
    text-decoration: none;
    font-size: 1.5rem;
}

.reef-document-download-button:hover {
    box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}

/* DOCUMENT END */
/* VOTE START */
.reef-vote-container {
    display: grid;
    padding: 10px;
    gap: 10px;
}

.reef-vote-detail-wrapper {
    margin-top: calc(var(--size-navbar-height-desktop) + 20px);
    display: grid;
    gap: 10px;
    padding: 10px;
}

.reef-vote-header {
    display: grid;
}

.reef-vote-title {
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
}

.reef-vote-description {
    font-size: 1.5rem;
    margin: 10px 0;
}

.reef-vote-item {
    display: grid;
    border-bottom: 1px solid var(--color-gray);
    gap: 10px;
    padding: 10px;
    border: solid 1px #aaa;
}

.reef-vote-item-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.reef-vote-item-content h5 {
    font-weight: 1000;
    font-size: 1.5rem;
}

.reef-vote-item-content p {
    font-size: 1.5rem;
}

.reef-vote-item-meta-container {
    display: grid;
    gap: 10px;
}

.reef-vote-item-meta {
    display: flex;
    align-items: center;
    gap: 5px;
}

.reef-vote-item-meta-icon {
    width: 25px;
}

.reef-vote-item-meta-text {
    font-size: 1.5rem;
}

.reef-vote-meta-fill {
    width: 25px;
}

.reef-vote-item-button-container {
    display: grid;
    grid-template-columns: 2fr 1fr;
    justify-content: flex-end;
    gap: 10px;
    align-items: center;
}

.reef-vote-item-button-container span {
    font-size: 1.2rem;
    font-weight: bold;
}

.reef-vote-item-button-detail {
    padding: 10px;
    min-width: 120px;
    text-align: center;
    background-color: var(--color-red);
    color: var(--color-white);
    text-decoration: none;
    font-size: 1.8rem;
}

.reef-vote-item-button-detail:hover {
    box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}

.pending.eligible .reef-vote-item-button-detail {
    background-color: var(--color-green);
}

.reef-vote-option-container {
    display: grid;
    gap: 10px;
}

.reef-vote-option-item {
    display: block;
    border: 1px solid #aaa;
    padding: 10px;
    cursor: pointer;
}

.reef-vote-option-item input[type="radio"] {
    display: none;
}

.reef-vote-option-item.selected {
    background-color: var(--color-red);
    color: var(--color-white);
}

.reef-vote-option-item span {
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0 0 5px;
}

.reef-vote-option-item p {
    margin: 5px 0;
}

.reef-vote-option-item.selected span,
.reef-vote-option-item.selected p {
    color: var(--color-white);
}

.reef-vote-option-item:hover {
    border-color: var(--color-red);
}

.reef-vote-table {
    min-width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    font-size: 1.5rem;
}

.reef-vote-table tr {
    color: var(--color-black);
    padding: 10px;
    background-color: var(--color-table-row);
}

.reef-vote-table tr:nth-child(odd) {
    background-color: var(--color-gray-light);
}

.reef-vote-table tr:nth-child(even) {
    background-color: var(--color-white);
}

.reef-vote-table tr:hover {
    background-color: var(--color-yellow-light);
}

.reef-vote-table td {
    border: none !important;
    padding: 10px;
}


.reef-vote-table th {
    background-color: var(--color-red);
    color: var(--color-white);
    padding: 10px;
    text-align: left;
    font-size: 1.5rem;
    font-weight: bold;
}

/* VOTE END */
/* COMMITTEE START */
.reef-committee-list-wrapper {
    margin-top: calc(var(--size-navbar-height-desktop) + 20px);
    text-align: center;
}

.reef-committee-container {
    display: flex;
    justify-content: center;
    flex-basis: 100%;
    width: 100%;
}

.reef-committee-empty-placeholder {
    font-size: 1.5rem;
    color: var(--color-gray);
    padding: 20px;
}

.reef-committee-container.lead {
    display: block;
}

.reef-committee-children-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
}

.reef-committee-children-container>p {
    grid-column-start: span 3;
}

.reef-committee-item {
    max-width: 150px;
    text-decoration: none;
    color: var(--color-black);
    padding: 5px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.reef-committee-item.lead {
    display: block;
    text-align: center;
    margin: 0 auto 10px;
}

.reef-committee-item img:hover {
    box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}

.reef-committee-item img {
    max-width: 100%;
}

.reef-committee-item h2 {
    padding: 5px;
    text-transform: capitalize;
}

.reef-committee-item span {
    font-size: 1rem;
    color: var(--color-gray);
    text-transform: capitalize;
}

/* COMMITTEE END */
/* MEMBER START */
.reef-member-list-wrapper {
    margin-top: calc(var(--size-navbar-height-desktop) + 20px);
    text-align: center;
}

.reef-member-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 10px;
}

.reef-member-item {
    max-width: 100%;
    min-width: 0;
    text-decoration: none;
    color: var(--color-black);
}

.reef-member-item:hover {
    box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}

.reef-member-item img {
    max-width: 100%;
}

.reef-member-item h2 {
    padding: 5px;
    text-transform: capitalize;
}

.reef-member-item span {
    font-size: 1rem;
    color: var(--color-gray);
    text-transform: capitalize;
}

.reef-member-detail-wrapper {
    margin-top: calc(var(--size-navbar-height-desktop) + 20px);
    display: grid;
    gap: 10px;
    padding: 10px;
}

.reef-member-photo-container {
    text-align: center;
}

.reef-member-photo-container b {
    font-size: 1.2rem;
    margin-top: 5px;
    display: inline-block;
}

.reef-member-photo-container p {
    font-size: 1.2rem;
}

.reef-member-photo-container h3 {
    font-size: 1.5rem;
    color: var(--color-gray);
    font-family: montserrat-bold;
}

.reef-member-photo {
    max-width: 80%;
}

.reef-member-info-container {
    position: relative;
    text-align: center;
}

.reef-member-info-container span {
    font-size: 2rem;
    color: var(--color-gray);
}

.reef-edit-button {
    position: absolute;
    width: 40px;
    height: 40px;
    background-image: url(../image/pencil.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 80%;
    top: 0;
    right: 0;
}

.reef-edit-button:hover {
    box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}

.reef-member-info-container h1 {
    font-size: 2.5rem;
}

.reef-member-info-container h2 {
    font-size: 1.7rem;
    color: var(--color-gray);
}

.reef-member-info-container h3 {
    font-size: 1.5rem;
    margin: 10px 0;
}

.reef-member-info-container>span {
    font-size: 1.5rem;
    color: var(--color-gray);
}

.reef-member-info-container p {
    font-size: 1.5rem;
    text-align: justify;
    margin-top: 10px;
}

.reef-member-data-container {
    display: grid;
    gap: 10px;
    text-align: left;
}

.reef-member-data-item {
    display: flex;
    align-items: center;
    gap: 5px;
}

.reef-member-data-icon {
    width: 10%;
}

.reef-member-data-text {
    font-size: 1.5rem;
}

.reef-member-data-text a,
.reef-member-data-text a:visited {
    color: var(--color-black);
    text-decoration: none;
}

.reef-member-data-placeholder {
    text-align: center;
    padding: 10px;
    text-align: center;
    font-size: 1.5rem;
    color: var(--color-gray);
}

.reef-member-data-placeholder p {
    text-align: center;
}

.reef-member-role-container {
    text-align: left;
}

.reef-member-role-pill {
    display: inline-block;
    padding: 10px;
    font-size: 1.5rem;
    background-color: var(--color-gray-light);
    color: var(--color-white);
    margin-right: 5px;
    margin-bottom: 5px;
    cursor: pointer;
}

.reef-member-role-pill.inactive {
    background-color: var(--color-gray-light);
    color: var(--color-black);
}

.reef-member-role-pill:hover {
    filter: brightness(1.2);
}

.reef-member-role-placeholder {
    padding: 10px;
    background-color: var(--color-gray-light);
    text-align: center;
    color: var(--color-black);
}

.reef-member-role-container p {
    text-align: center;
}

.reef-input-group.member-file {
    display: grid;
}

.reef-member-file-button {
    display: grid;
    cursor: pointer;
    padding: 10px;
    background-color: var(--color-gray);
    color: var(--color-black);
    text-decoration: none;
    font-size: 1.5rem;
    width: 100%;
    margin: 0 auto;
    align-items: center;
    text-align: center;
    font-size: 1.5rem;
}

.reef-member-file-button.active {
    background-color: green;
    color: var(--color-white);
}

/* MEMBER END */
/*PROGRAM START*/
.reef-program-container {
    display: grid;
    padding: 10px;
}

.reef-program-detail-wrapper {
    margin-top: calc(var(--size-navbar-height-desktop) + 20px);
    display: grid;
    gap: 10px;
    padding: 10px;
}

.reef-form-title {
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
}

.reef-program-item {
    display: grid;
    border-bottom: 1px solid var(--color-gray);
    gap: 10px;
    padding: 10px 0;
}

.reef-program-item img {
    max-width: 100%;
}

.reef-program-item-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.reef-program-item-content h5 {
    font-weight: 1000;
    font-size: 1.5rem;
}

.reef-program-item-content p {
    font-size: 1.5rem;
}

.reef-program-item-meta-container {
    display: grid;
    gap: 10px;
}

.reef-program-item-meta {
    display: flex;
    align-items: center;
    gap: 5px;
}

.reef-program-item-meta-icon {
    width: 10%;
}

.reef-program-item-meta-text {
    font-size: 1.5rem;
}

.reef-program-item-button-container {
    display: flex;
    justify-content: flex-end;
}

.reef-program-item-button-detail {
    padding: 10px;
    min-width: 120px;
    text-align: center;
    background-color: var(--color-red);
    color: var(--color-white);
    text-decoration: none;
    font-size: 1.8rem;
}

.reef-program-item-button-detail:hover {
    box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}

/*PROGRAM END*/
/*PROGRAM DETAIL START*/
.reef-program-header {
    display: grid;
    gap: 10px;
}

.reef-program-image {
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 66%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
}

.reef-program-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.reef-program-content h3 {
    font-weight: 1000;
    font-size: 2.5rem;
    padding: 0;
}

.reef-program-content p {
    font-size: 1.5rem;
}

.reef-program-meta-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.reef-program-meta-schedule {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.reef-program-meta-registration {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.reef-program-meta {
    display: flex;
    align-items: center;
    gap: 5px;
}

.reef-program-meta-icon {
    width: 50px;
}

.reef-program-meta-text {
    font-size: 1.5rem;
}

.reef-program-description {
    font-size: 1.5rem;
    padding: 10px;
    margin-top: 20px;
}

.reef-program-description ul {
    margin-left: 15px;
}

.reef-program-tab-button-container {
    display: flex;
    padding: 10px 10px 0;
    overflow-x: auto;
}

.reef-program-tab-button {
    padding: 10px;
    cursor: pointer;
    font-size: 1.2rem;
    font-weight: bold;
    border: solid 2px transparent;
    margin-right: 10px;
}

.reef-program-tab-button.active {
    position: relative;
    border: solid 2px var(--color-red);
}

.reef-program-tab-button.active::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: -2px;
    background-color: var(--color-white);
    z-index: 20;
}

.reef-program-tab-page {
    display: none;
}

.reef-program-tab-page.active {
    display: block;
    border-top: solid 2px var(--color-red);
    margin: -2px 10px 0;
}

.program-tab-page .reef-document-list-wrapper {}

.reef-program-tab-page-placeholder {
    padding: 40px;
    text-align: center;
    color: var(--color-gray);
    font-family: 'montserrat-light';
    font-size: 1.5rem;
}

.reef-program-faq-item {
    padding: 5px;
    border: solid 2px var(--color-red);
    margin: 5px 0;
}

.reef-program-faq-item:hover {
    background-color: var(--color-yellow-light);
}

.reef-program-faq-question {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.reef-program-faq-answer {
    font-size: 1.2rem;
}

.reef-program-gallery-container {
    padding: 10px 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.reef-program-gallery-item {
    display: grid;
    gap: 5px;
    text-align: center;
    overflow: hidden;
    cursor: pointer;
}

.reef-program-gallery-item:hover {
    box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}

.reef-program-gallery-item.enlarged {
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.75);
    z-index: 100;
    align-items: center;
    justify-content: center;
}

.reef-program-gallery-image {
    height: 0;
    padding-bottom: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.enlarged .reef-program-gallery-image {
    position: relative;
    margin: 0 auto;
    margin-top: min(100px, 10vh);
    height: min(500px, 80vh);
    width: min(500px, 80vw);
    padding-bottom: 0;
    background-size: contain;
}

.reef-program-gallery-caption {
    padding: 5px;
    max-height: 30px;
    overflow: hidden;
}

.enlarged .reef-program-gallery-caption {
    color: var(--color-white);
    font-size: 1.5rem;
    max-width: 80vw;
    margin: 0 auto;
    max-height: none;
    overflow: visible;
}

/*PROGRAM DETAIL END*/
/*REGISTER START*/
.reef-register-wrapper {
    margin-top: calc(var(--size-navbar-height-desktop) + 20px);
    display: grid;
    gap: 10px;
    padding: 10px;
}

.reef-register-wrapper.result {
    text-align: center;
    padding: 50px;
    max-width: 700px;
    margin: calc(var(--size-navbar-height) + 30px) auto 0;
}

.reef-register-wrapper.result h1 {
    font-size: 3rem;
}

.reef-register-wrapper.result p {
    font-size: 1.5rem;
}

.reef-form-warning {
    text-align: center;
    font-size: 1.5rem;
    background-color: var(--color-gray);
    color: var(--color-black);
    padding: 5px;
}

.reef-form-warning.success {
    background-color: var(--color-green);
    color: var(--color-white);
}

.reef-form-warning.error {
    background-color: var(--color-red);
    color: var(--color-white);
}

/*REGISTER END*/
/*FORM START*/
.reef-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.75);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.reef-popup-container {
    display: grid;
    width: 50%;
    font-size: 1.5rem;
    padding: 10px;
    text-align: center;
    background-color: var(--color-white);
    padding: 30px;
}

.reef-popup-container h2 {
    margin: 0 0 20px;
}

.reef-button-close-popup {
    padding: 10px;
    display: inline-block;
    background-color: var(--color-red);
    color: var(--color-white);
    cursor: pointer;
    border: none;
    min-width: 120px;
    margin: 10px auto 0;
}

.reef-button-close-popup:hover {
    box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}

.reef-form-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
}

.reef-form-container h2 {
    font-size: 2.5rem;
}

.reef-form-container h3 {
    font-weight: bold;
    font-size: 2rem;
    padding: 0;
}

.reef-form-container h4 {
    font-weight: normal;
    font-size: 1.5rem;
    padding: 0;
}

.reef-form {
    display: grid;
    gap: 10px;
}

.reef-form-column {
    display: flex;
    flex-direction: column;
    gap: 10px;
}


.reef-input-container {
    display: grid;
    gap: 10px;
}


.reef-input-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.reef-input-group.row {
    display: grid;
    grid-template-columns: 200px 1fr;
    align-items: center;
}

.reef-input-group.left {
    text-align: left;
}

.reef-input-group.checkbox {
    flex-direction: row;
    align-items: center;
}

.reef-input-label {
    font-weight: 1000;
    font-size: 1.5rem;
    text-transform: capitalize;
}

.reef-input-label.thin {
    font-weight: lighter;
}

.reef-input-text {
    border: 1px solid var(--color-gray);
    padding: 10px;
    font-size: 1.5rem;
}

.reef-input-text.textarea {
    height: 100px;
}

.reef-disclaimer-text {
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--color-red);
}

.reef-button {
    cursor: pointer;
    padding: 10px;
    background-color: var(--color-gray);
    color: var(--color-black);
    text-decoration: none;
    font-size: 1.8rem;
    display: inline-block;
    max-width: 200px;
    margin: 0 auto;
    align-items: center;
    text-align: center;
}

.reef-button.full {
    width: 100%;
    max-width: 100%;
}

.reef-button.red {
    background-color: var(--color-red);
    color: var(--color-white);
}

.reef-button.green {
    background-color: var(--color-green);
    color: var(--color-white);
}

.reef-button:hover {
    box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px
}

.reef-button.small {
    font-size: 1.5rem;
}

.reef-checkbox-container {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.reef-input-group.checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.reef-input-group.checkbox input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--color-gray);
    border-radius: 6px;
    background-color: var(--color-white);
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease;
}

.reef-input-group.checkbox input[type="checkbox"]:hover {
    border-color: var(--color-blue);
}

.reef-input-group.checkbox input[type="checkbox"]:checked {
    background-color: var(--color-blue);
    border-color: var(--color-blue);
}

.reef-input-group.checkbox input[type="checkbox"]:checked::after {
    content: "✔";
    color: var(--color-white);
    font-size: 14px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
}

.reef-input-checkbox {
    font-size: 15px;
    font-weight: 500;
    color: var(--color-black);
    cursor: pointer;
    transition: color 0.2s ease;
}

.reef-input-checkbox:hover {
    color: var(--color-blue);
}

.reef-form-message {
    font-size: 1.5rem;
    font-weight: 1000;
    border-top: 1px solid var(--color-red);
    padding-top: 10px;
}

.reef-form-message a,
.reef-form-message a:visited {
    text-decoration: none;
    color: var(--color-black)
}

.reef-form-message a:hover {
    color: var(--color-red);
}

/*FORM END*/
@media only screen and (min-width: 768px) {

    .reef-section {
        min-height: 370px;
    }

    /* NAVBAR START*/
    .reef-navbar-button-group {
        width: 50%;
    }

    /* NAVBAR END*/
    /* FOOTER START */
    .reef-footer-grid.desktop {
        display: grid;
    }

    .reef-footer-grid.mobile {
        display: none;
    }

    /* FOOTER END */
    /* HOME START */
    .reef-about-container {
        grid-template-columns: 2fr 1fr;
        align-items: center;
    }


    .reef-about-text {
        text-align: left;
    }

    .reef-about-text h1 {
        font-size: 3rem;
        padding: 20px;
    }

    .reef-about-text p {
        padding-left: 100px;
    }

    /* HOME END */
    /* DOCUMENT START */
    .reef-document-list-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }

    .reef-document-item h2 {
        text-align: left;
    }

    .reef-document-detail-wrapper {
        grid-template-columns: 300px 1fr;
    }

    .reef-document-detail-wrapper h1 {
        text-align: left;
    }

    .reef-empty-list-placeholder {
        grid-column-start: span 4;
    }

    /* DOCUMENT END */
    /* VOTE START */
    .reef-vote-container {
        grid-template-columns: 1fr 1fr;
    }

    .reef-vote-header {
        grid-template-columns: 2fr 1fr;
        align-items: flex-start;
        gap: 10px;
    }

    .reef-vote-item-meta-container {
        grid-template-columns: 1fr 1fr;
    }

    .reef-vote-header .reef-vote-item-meta-container {
        grid-template-columns: 1fr;
    }

    .reef-vote-item-meta-icon {
        width: 25px;
    }

    .reef-vote-option-container {
        grid-template-columns: 1fr 1fr;
    }

    /* VOTE END */
    /* COMMITTEE START */
    /* .reef-committee-container {
        grid-template-columns: repeat(5, 1fr);
    } */

    /* COMMITTEE END */
    /* MEMBER START */
    .reef-member-container {
        grid-template-columns: repeat(5, 1fr);
    }

    .reef-member-detail-wrapper {
        grid-template-columns: 250px 1fr;
    }

    .reef-member-photo {
        max-width: 100%;
    }

    .reef-member-info-container {
        text-align: left;
    }

    .reef-member-data-container {
        grid-template-columns: 1fr 1fr;
    }

    .reef-member-data-placeholder {
        grid-column-start: span 2;
    }

    .reef-member-data-icon {
        width: 40px;
    }

    .reef-input-group.member-file {
        grid-template-columns: 1fr 2fr;
    }

    .reef-input-group.member-file .reef-input-label {
        grid-column-start: span 2;
    }

    /* MEMBER END */
    /* PROGRAM START */
    .reef-program-item {
        grid-template-columns: 300px 1fr;
    }

    .reef-program-item-meta-icon {
        width: 40px;
    }

    .reef-program-item-meta-fill {
        width: 35px;
    }

    .reef-program-item-content h5 {
        font-size: 2rem;
    }

    .reef-program-item-content p {
        font-size: 1.5rem;
    }

    .reef-program-item-button-detail {
        max-width: 200px;
        align-self: flex-end;
    }

    .reef-program-item-meta-container {
        grid-template-columns: 1fr 1fr;
    }

    .reef-program-header {
        grid-template-columns: 300px 1fr;
    }

    .reef-input-container {
        grid-template-columns: 1fr 1fr;
    }

    .reef-member-info-container .reef-input-container {
        grid-template-columns: 1fr;
    }

    .reef-program-gallery-container {
        grid-template-columns: repeat(4, 1fr);
    }

    /* PROGRAM END */
    /* PROGRAM DETAIL START */
    .reef-program-meta-container {
        flex-direction: row;
    }

    .reef-program-image {
        padding-bottom: 50%;
    }

    /* PROGRAM DETAIL END */
}

@media only screen and (min-width: 1024px) {

    /* NAVBAR START*/
    .reef-navbar-wrapper {
        height: var(--size-navbar-height-desktop);
    }

    .reef-navbar-container-group {
        display: grid;
        grid-template-columns: 80px 1fr;
    }

    .reef-navbar-trigger {
        display: none;
    }

    .reef-navbar-logo {
        padding: 10px 20px;
    }

    .reef-navbar-button-group {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 300px;
        width: 100%;
        margin: 0;
        color: var(--color-black);
        box-shadow: none;
        padding: 0;
        transform: translate3d(0, 0, 0);
        height: auto;
        align-items: center;
        justify-content: space-between;
    }

    .reef-navbar-button-subgroup {
        display: flex;
    }

    .reef-navbar-button-subgroup.left {
        order: 1;
    }

    .reef-navbar-button-subgroup.right {
        display: flex;
        justify-content: flex-end;
        order: 2;
        grid-template-columns: 1fr 50px;
        direction: ltr;
    }

    /* NAVBAR END*/

    /* DOCUMENT START */
    .reef-section {
        min-height: 450px;
    }

    .reef-document-list-wrapper {
        grid-template-columns: repeat(4, 1fr);
    }

    /* DOCUMENT END */
    /* COMMITTEE START*/
    .reef-committee-children-container {
        grid-template-columns: repeat(3, 1fr);
    }

    /* COMMITTEE END */
    /* MEMBER START*/
    .reef-member-container {
        grid-template-columns: repeat(6, 1fr);
    }

    /* MEMBER END */
    /*PROGRAM DETAIL START*/
    .reef-program-image {
        padding-bottom: 100%;
        background-size: cover;
    }

    .reef-program-content h3,
    .reef-form-container h3 {
        padding: 0;
    }

    .reef-member-info-container .reef-input-container {
        grid-template-columns: 1fr 1fr;
    }

    .reef-program-gallery-container {
        grid-template-columns: repeat(6, 1fr);
    }

    /*PROGRAM DETAIL END*/
}

@media only screen and (min-width: 1366px) {

    /* NAVBAR START*/
    /* NAVBAR END*/
    /* FOOTER START */
    .reef-footer-grid.logo {
        grid-template-columns: 230px 1fr;
    }

    .reef-footer-logo {
        width: 230px;
    }

    /* FOOTER END */
    /* BANNER START */
    .reef-banner-container {
        box-shadow: 0 6px 10px -10px grey;
    }

    .reef-banner-container img {
        width: var(--size-max-width);
    }

    /* BANNER END */
    /* VOTE START */
    .reef-vote-container {
        padding: 0;
    }

    .reef-vote-detail-wrapper {
        padding: 0;
    }

    /* VOTE END */
    /* PROGRAM START */
    .reef-program-container {
        padding: 0;
    }

    .reef-program-detail-wrapper {
        padding: 0;
    }

    .reef-program-description {
        padding: 0;
    }

    .reef-form-container {
        padding: 0;
    }

    .reef-program-tab-button-container {
        padding: 10px 0 0;
    }

    .reef-program-tab-page.active {
        margin: -2px 0 0;
    }

    .reef-program-tab-page .reef-document-list-wrapper {
        padding: 10px;
    }

    /* PROGRAM END */
    /* DOCUMENT START */
    .reef-document-list-wrapper {
        padding: 0;
    }

    .reef-document-detail-wrapper {
        padding: 0;
    }

    /* DOCUMENT END */
    /* REGISTER START */
    .reef-register-wrapper {
        padding: 0;
    }

    /* REGISTER END */
}