@import url(buttons.css);
@import url(tables.css);
@import url(utils.css);
/* -------------------- Base styles -------------------- */
* {
    margin: 0;
    padding: 0;
}

html {
    height: 100%;
    margin: 0;
}

body {
    font-family: 'Arial', sans-serif;
    line-height: 1.6;
    color: #333;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    background-color: #f5f5f5;
}
/* ------------------------------------------------------ */


/* -------------------- Content/container styles -------------------- */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Viewport height */
}

.content {
    flex: 1 0 auto; /* This makes the content area take up all available space */
}
/* ------------------------------------------------------ */


/* -------------------- Header styles -------------------- */
header {
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 1rem 0;
}
/* ------------------------------------------------------ */


/* -------------------- Footer styles -------------------- */
footer {
    background-color: #333;
    color: #fff;
    padding: 2rem 0;
    margin-top: 2rem;
}

.site-footer {
    flex-shrink: 0; /* Prevents the footer from shrinking */
    padding: 20px;
}
/* ------------------------------------------------------ */


/* -------------------- Image related (for now) -------------------- */
.img-centered {
    display: flex;
    justify-content: center;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}
/* ------------------------------------------------------ */


/* -------------------- Alert styles -------------------- */
.alert {
    text-align: center;
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .75rem;
}

.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}
/* ------------------------------------------------------ */


/* -------------------- Utils -------------------- */
.d-flex {
    display: flex;
}

.justify-content-center {
    justify-content: center;
}

.space-around {
    justify-content: space-around;
}

.d-none {
    display: none;
}

.text-center {
    text-align: center;
}
/* ------------------------------------------------------ */

/* -------------------- Form styles -------------------- */
.row {
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
}

.is-required {
    color: red;
}

.input {
    border: 2px solid #000000;
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 10px;
    max-width: 100%;
}

.input-error {
    border: 2px solid red;
}
/* ------------------------------------------------------ */

/* -------------------- Modal styles -------------------- */
/* Modal overlay (hidden by default) */
.modal {
    display: none;
    position: fixed;
    inset: 0; /* top:0; right:0; bottom:0; left:0; */
    background: rgba(0, 0, 0, 0.6);
    justify-content: center;
    align-items: center;
    z-index: 10;
}

/* Modal box */
.modal-content {
    background: white;
    padding: 20px;
    border-radius: 10px;
    width: 90%;
    max-width: 400px;
    text-align: center;
}

/* Close button */
.close {
    float: right;
    text-decoration: none;
    font-size: 22px;
    color: #555;
}

/* Show modal when targeted */
.modal:target {
    display: flex;
}
/* ------------------------------------------------------ */

/* -------------------- Image styles -------------------- */
@media(min-width: 900px) {
    .w50 {
        max-width: 50%;
    }
}
/* ------------------------------------------------------ */
