@import url('https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

/* ------------------------------------------------------------------------ General */
body {
    font-family: 'Spectral', serif;
    color: #000;
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    overflow: auto !important;
}

main {
    flex: 1 0 auto;
}

p {
    font-size: 16px;
}

footer {
    background-color: #366355;
}


/* ------------------------------------------------------------------------ Base */
nav {
    height: 110px;
    padding: 10px 0;
    background-color: #fff;
    box-shadow: none;
}

#nav-container {
    display: flex;
    justify-content: center;
    margin-bottom: 0;
}

#nav-main {
    margin-left: 0;
}

.logo {
    height: 90px;
    border-radius: 5px;
}

nav ul a {
    font-size: 20px;
    margin: 13px;
    color: #000;
    border-radius: 5px;
    display: flex;
    justify-content: center;
}

.nav-links li {
    width: 173px;
}

#checklist-dropdown,
#guest-dropdown,
#dash-dropdown {
    width: auto !important;
}

nav .sidenav-trigger {
    float: right;
}

.nav-trigger {
    background-color: unset !important;
}

.nav-trigger:hover {
    background-color: #E8D2CA !important;
}

.sidenav {
    background-color: #E8D2CA;
}

.fa-bars {
    color: #000;
}

#three-bars {
    cursor: pointer;
    height: 30px;
    line-height: 30px;
    margin-top: 30px;
    margin-bottom: 30px;
}

#three-bars i {
    height: 30px;
    line-height: 30px;
}

.side-nav {
    margin-top: 30px;
}

.sidenav li>a {
    font-size: 18px;
    margin-bottom: 10px;
}

.drop-option {
    margin: 0;
    padding: 20px !important;
    text-align: center;
}

.dropdown-content {
    border-radius: 5px;
}

.drop-top {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.drop-bottom {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

#footer-links,
#footer-socials {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

#footer-links li {
    font-size: 16px;
    margin: 0 20px;
    border-bottom: 1px solid #366355;
}

#footer-socials li {
    font-size: 24px;
    margin: 0 50px;
}

#footer-links li,
#footer-socials li {
    padding: 5px;
}

#footer-links a,
#footer-socials a,
.contact-link {
    color: #fff;
}

#footer-links a:hover,
.contact-link:hover {
    color: #E8D2CA;
    border-bottom: 1px solid #E8D2CA;
}

.contact-link {
    white-space: nowrap;
}

#footer-socials a:hover {
    color: #E8D2CA;
}

#contact {
    color: #fff;
    text-align: center;
}

#contact-p {
    margin: 20px;
}

#copyright {
    font-size: 12px;
    margin: 5px;
}

/* ------------------------------------------------------------------------ Dashboard */

#no-checklist {
    display: none;
}

.dash-heading {
    display: flex;
    justify-content: center;
}

#dash-container {
    text-align: center;
    margin-left: 0;
    padding: 0;
}

#dash-title {
    padding: 10px;
}

#dash-checklist {
    margin-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}

#whats-next {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

#no-checklist {
    font-size: 20px;
}

.row .col {
    padding: 0;
}

.green-row {
    background-color: #dcece7;
    border-radius: 6px;
    margin-top: 20px;
    margin-left: 0;
}

.green-row h1 {
    font-size: 40px;
    margin: 1.5rem 0;
}

.dash-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

#green-one,
#green-two,
#green-three,
#green-four {
    margin-left: 0;
    padding: 30px;
    color: #000;
    display: flex;
    justify-content: center;
    border: 1.5px solid #dcece7;
    font-size: 20px;
}

#green-one {
    margin-right: 10px;
}

#green-two,
#green-three {
    margin-right: 10px;
    margin-left: 10px;
}

#green-four {
    margin-left: 10px;
}

#green-one:hover,
#green-two:hover,
#green-three:hover,
#green-four:hover {
    border: 1.5px solid #366355;
}

.dash-button-container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-top: 20px;
}

.dash-buttons {
    padding: 10px 30px;
    width: 40%;
    background-color: #E8D2CA;
    border-radius: 3px;
    font-size: 16px;
    text-decoration: none;
    color: #000;
}

#confetti-container {
    display: flex;
    justify-content: center;
}

#click-confetti {
    width: fit-content;
    text-align: center;
    margin: 5px;
    cursor: pointer;
}

/* ------------------------------------------------------------------------ Checklist */

.new-green-row {
    background-color: #EFF6F3;
    border: 1.5px solid #dcece7;
    font-size: 16px;
    color: #000;
    margin-bottom: 20px;
    text-align: center;
}

.new-green-row p {
    margin: 10px;
}

.new-green-row:hover {
    border: 1.5px solid #366355;
}

.green-container {
    display: flex;
    flex-direction: column;
    align-content: center;
    flex-wrap: wrap;
    text-align: left;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    hyphens: auto;
}

.checklist-item {
    background-color: rgb(255, 255, 255, 0.5);
    margin: 2px 0;
    border-radius: 4px;
    display: flex;
    align-items: center;
}

.checklist-item p {
    margin: 10px 20px;
    overflow-wrap: break-word;
}

.checklist-date {
    margin: 0 0 5px 10px;
}

.checklist-notes {
    border-right: 1px solid #366355;
    margin-right: 0 !important;
    padding-right: 20px;
    font-weight: 600;
}

.checklist-checkbox a {
    min-width: 30px;
    text-align: center;
    background-color: #366355;
    border-radius: 5px;
    color: #fff;
}

.checklist-checkbox {
    display: flex;
    justify-content: space-around;
}

.date-after-first {
    margin-top: 20px;
}

.edit-buttons {
    font-size: 14px;
    padding: 3px;
    text-align: center;
}

.checklist-checkbox a:hover {
    color: #E8D2CA;
}

.edit-buttons {
    color: inherit;
}

.modal-content,
.modal .modal-footer {
    text-align: center;
}

.modal-footer #cancel-btn,
.modal-footer #confirm-btn {
    margin-left: 3%;
    margin-right: 3%;
    width: 104px;
}

.back-dash {
    margin-left: 0 !important;
}

/* ------------------------------------------------------------------------ Add Checklist Item */

#form-row {
    display: flex;
    justify-content: center;
}

#form-col {
    margin-left: 0;
    border: 1.5px solid #dcece7;
    border-radius: 4px;
    padding: 30px 3%;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

#form-col label {
    font-size: 16px;
    color: #000;
}

#form-col input {
    padding: 0 10px;
    background-color: #dcece7;
    border-radius: 4px;
    box-shadow: 2px 3px #888888;
    border-bottom: 0;
    width: auto;
    font-family: 'Spectral', serif;
    color: #000
}

#form-col input:focus {
    box-shadow: 2px 3px #366355;
    border-bottom: 0;
}

[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
    position: relative;
    margin-top: 20px;
    margin-bottom: 20px;
}

#payment-span:before {
    left: -8px;
    top: 2px;
}

#payment-span:after {
    left: -10px;
    border-radius: 2px;
    top: 2.5px;
}

[type="checkbox"].filled-in:checked+span:not(.lever):after {
    border: 2px solid #366355;
    background-color: #366355;
}

#payment-span {
    padding-left: 24px;
    font-size: 16px;
}

.submit {
    margin-top: 10px;
    background-color: #366355;
    width: 50%;
    margin: auto;
    font-family: 'Spectral', serif;
    font-size: 16px;
    text-transform: none;
    max-width: 200px;
}

.submit:hover {
    background-color: #92a8a2;
}

.flash-message {
    background-color: #E8D2CA;
}

.flash-message h5 {
    padding: 0 10px;
}

.pink-button {
    border: 1.5px solid #E8D2CA;
}

.pink-button:hover {
    border: 1.5px solid #C48C78;
}

#submit-button {
    margin-top: 30px;
}

input#checklist_date,
input#wedding_date {
    cursor: text;
}

/* ------------------------------------------------------------------------ Edit Checklist */

.back-button {
    padding: 2px 5px;
    color: #000;
    border-radius: 4px;
    text-decoration: underline;
    border: 1px solid #dcece7;
}

.back-button:hover {
    text-decoration: underline;
    border: 1px solid #366355;
}

.fa-arrow-left-long {
    margin-right: 4px;
}

.fa-arrow-right-long {
    margin-left: 4px;
}

.btn-flat {
    font-family: 'Spectral', serif;
}

#back-div,
#back-div-checklist {
    margin-left: unset;
}

/* ------------------------------------------------------------------------ Guests Page */

#guests-container {
    padding-top: 20px;
}

/* ------------------------------------------------------------------------ Add Guest */

#chosen-table {
    padding: 2px 20px;
    min-height: 36px;
    margin: 0;
    text-align: center;
}

#chosen-table-div {
    margin-left: 10px;
}

.radio-group {
    display: flex;
}

#table_name {
    display: none;
}

.dropdown-trigger {
    background-color: #366355;
}

.dropdown-trigger:hover {
    background-color: #92a8a2;
}

.table-dropdown {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    text-align: center !important;
}

#table-drop {
    max-height: 300px;
}

#create-table {
    padding: 5px;
    border-radius: 2px;
}

#table-label {
    margin: 0;
}

.create-table-a {
    color: #000;
    text-decoration: underline;
}

.create-table-a:hover {
    color: #366355;
}

/* ------------------------------------------------------------------------ Edit Guest */

.edit-chosen-table {
    border: 2px solid #366355;
}

.btn {
    text-transform: none;
}

/* ------------------------------------------------------------------------ Table Plan */

.table-container {
    flex-direction: unset;
    justify-content: center;
}

.table-box {
    flex-direction: column;
    text-align: left;
    margin-left: 0 !important;
    margin: 20px 10px !important;
    padding: 0 5px !important;
    height: 300px;
    overflow-y: scroll;
    max-width: 550px;
}

.table-box p {
    margin: 10px 0;
}

.table-pencil {
    margin-right: 20px;
}

.table-x {
    margin-left: 20px;
}

#new-table-row {
    margin-left: unset;
}

.unassigned-guest {
    flex-direction: column;
}

.unassigned-guest-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin: 0 !important;
}

.guest-name-box {
    display: flex;
    justify-content: flex-start;
    width: 80%;
    max-width: 80%;
    word-break: break-word;
    margin-left: 10px;
    margin-right: 10px;
}

.guest-edit-box {
    margin-left: 10px;
    margin-right: 10px;
}

.assign-button {
    background-color: #E8D2CA;
    border-radius: 2px;
}

.assign-button a {
    text-decoration: none;
    color: #000;
    padding: 0 5px;
}

input:-internal-autofill-selected {
    appearance: menulist-button;
    background-image: none !important;
    background-color: -internal-light-dark(rgb(232, 240, 254), rgba(70, 90, 126, 0.4)) !important;
    color: fieldtext !important;
}

#add-new-table {
    color: #000;
    overflow: hidden;
    border: 1px solid #eef6f3;
    font-weight: 500;
}

#add-new-table:hover {
    border: 1px solid #366355;
}

/* ------------------------------------------------------------------------ Sign Up Page */

.signup-details {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 55%;
    height: 75px;
}

.signup-left {
    margin-right: 10px;
}

.signup-middle {
    margin: 0 10px;
}

.signup-right {
    margin-left: 10px;
}

.signup-input-container {
    display: flex;
    flex-direction: column;
}

.signup-and p {
    font-size: 24px;
}

.signup-input-container p {
    margin: 0 10px;
}

.signup-note {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 200;
    font-style: italic;
}

/* ------------------------------------------------------------------------ Edit Profile */
input#input-disabled {
    background-color: #E8E8E8;
}

#home-wrapper {
    display: flex;
    justify-content: center;
    flex-direction: column;
    float: none;
    margin: 0;
}

.home-container {
    background-color: #E8D2CA;
    border-radius: 6px;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}

.home-image {
    height: 650px;
    border-radius: 8px;
}

.home-text {
    background-color: rgb(255, 255, 255, 0.4);
    border-radius: 8px;
    margin: 100px;
    width: 70%;
    padding: 3%;
}

.home-text p {
    margin: 0;

}

.home-text ul {
    line-height: 2;
}

#edit-p {
    margin: 10px 0 5px 0;
}

/* ------------------------------------------------------------------------------------ Responsive Design */

/* ------------------------------------------------------------------------ General */
@media (min-width: 1900px) {

    p,
    a {
        font-size: 18px;
    }
}

@media (min-width: 2100px) {

    p,
    a {
        font-size: 20px;
    }

    h5 {
        font-size: 26px
    }
}

/* ------------------------------------------------------------------------ Nav */

@media (max-width: 650px) {
    #footer-links {
        flex-direction: column;
        align-items: center;
    }

    #footer-socials li {
        margin: 0 8%;

    }

    .sidenav {
        width: 250px;
    }
}

@media (max-width: 450px) {
    nav {
        height: 100px;
    }

    .logo {
        height: 80px;
    }

    #three-bars {
        cursor: pointer;
        margin-top: 25px;
        margin-bottom: 25px;
    }

    .sidenav {
        width: 200px;
    }

}

@media (min-width: 1900px) {
    nav {
        height: 120px;
    }

    .logo {
        height: 100px;
    }

    nav ul a {
        font-size: 22px;
        padding: 5px 20px;
    }

    .dropdown-content li>a {
        font-size: 20px;
    }

    .drop-option {
        padding: 24px !important;
    }

    .nav-links li {
        width: 194px;
    }
}

@media (min-width: 2100px) {
    nav {
        height: 140px;
    }

    .logo {
        height: 120px;
    }

    nav ul a {
        font-size: 26px;
        padding: 10px 25px;
        margin: 18px;
    }

    .nav-links li {
        width: 239px;
    }
}

/* ------------------------------------------------------------------------ Footer */

@media (min-width: 1900px) {

    .fa-square-facebook,
    .fa-square-instagram,
    .fa-square-twitter,
    .fa-square-youtube {
        font-size: 24px;
    }
}

@media (min-width: 2100px) {

    .fa-square-facebook,
    .fa-square-instagram,
    .fa-square-twitter,
    .fa-square-youtube {
        font-size: 28px;
    }

    #copyright {
        font-size: 14px;
    }
}

/* ------------------------------------------------------------------------ Modals */

@media (min-width: 1900px) {

    .modal-footer #cancel-btn,
    .modal-footer #confirm-btn {
        width: 114px;
        font-size: 16px;
    }

}

@media (max-width: 650px) {
    .modal-content h5 {
        font-size: 20px;
    }
}

/* ------------------------------------------------------------------------ Add Checklist */

@media (min-width: 1900px) {

    #form-col label,
    #form-col input {
        font-size: 18px;
    }
}

@media (min-width: 2100px) {

    #form-col label,
    #form-col input,
    #form-col span,
    #form-col button {
        font-size: 20px;
    }
}

@media (min-width: 850px) and (max-width: 1400px) {

    #nav-main,
    #dash-container,
    #home-wrapper,
    #back-div-checklist {
        width: 83%;
    }

    #back-div {
        width: 66%;
    }

    #form-col {
        width: 66%;
        padding: 30px 5%;
    }
}

@media (max-width: 849px) {

    #back-div,
    #back-logged-out {
        width: 91.5%;
    }

    .green-row h1 {
        font-size: 35px;
    }

    #form-col {
        padding: 30px 5%;
    }
}

@media (max-width: 425px) {
    .green-row h1 {
        font-size: 28px
    }
}

/* ------------------------------------------------------------------------ Add Guest */
@media (min-width: 1900px) {

    .radio-group li,
    .radio-group a {
        font-size: 18px;
    }
}

@media (min-width: 2100px) {

    .radio-group li,
    .radio-group a {
        font-size: 20px;
    }
}

@media (max-width: 600px) {
    #chosen-table-div {
        margin-left: 0;
        margin-bottom: 0;
    }

    #chosen-table {
        width: fit-content;
    }

    .radio-group {
        flex-direction: column;
    }
}

/* ------------------------------------------------------------------------ Edit Profile */

@media (max-width: 1100px) {
    .signup-details {
        flex-direction: column;
        height: auto;
        width: auto;
    }

    .signup-and p {
        display: none;
    }

    .signup-left,
    .signup-middle,
    .signup-right {
        margin: 0;
    }
}

/* ------------------------------------------------------------------------ Checklist */

@media (max-width: 992px) {
    .checklist-item {
        flex-direction: column;
        position: relative;
    }

    .checklist-notes {
        border-right: unset;
        padding-right: 0;
        margin-right: 20px !important;
        text-align: center;
    }

    .green-container {
        text-align: center;
    }

}

/* ------------------------------------------------------------------------ Table Plan */


@media (min-width: 1650px) {
    .table-box {
        width: 30% !important;
    }
}

/* ------------------------------------------------------------------------ Dashboard */

@media (max-width: 800px) {
    .dash-content {
        grid-template-columns: 1fr 1fr;
    }

    #green-one,
    #green-two,
    #green-three,
    #green-four {
        margin-right: 5px;
        margin-left: 5px;
    }
}

@media (max-width: 400px) {
    .dash-content {
        grid-template-columns: 1fr;
        column-gap: 10px;
    }

    .dash-buttons {
        padding: 10px 10px;
    }
}

/* ------------------------------------------------------------------------ Home Page */


@media (max-width: 2500px) {
    .home-text {
        margin: 2% 4%;
    }

}

@media (max-width: 1100px) {
    .home-image {
        display: none;
    }

    .home-text {
        width: 96%;
        margin: 4%;
    }
}