/* General */
body {
    font-family: "Nunito Sans", sans-serif;
    background-color: black;
}
.wider-title {
    letter-spacing: .3rem;
}
.hr-lg {
    width: 6rem;
}
.fade-out {
    opacity: 0;
    transition: opacity 0.7s ease;
}

/* Horizontal List */
.horizontal-list {
    padding-left: 0;
}
.horizontal-list > li { /* Mobile - Vertical list */
    list-style-type: none;
}
@media (min-width: 992px) { /* Desktop - Horizontal List */
    .horizontal-list > li::before {
        display: list-item;
        position: absolute;
        content: "";
        margin-inline-start: -.1em;
    }
    .horizontal-list > li {
        display: inline-block;
        list-style-type: "・";
        padding-right: 1em;
    }
    .horizontal-list > li:first-child {
        list-style-type: "";
    }
}

/* Carousel */
.carousel-item {
    height: 100dvh;
}
.carousel-item img {
    object-fit: cover;
}
.carousel-item:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.2); /* Darker Images */
    z-index: 1;
    opacity: 1;
}
.brighter-image-fade:after {
    transition: opacity 0.7s ease;
    opacity: 0;
}
#header,
.carousel-caption {
    z-index: 2;
    text-shadow: 0 0 30px rgba(0, 0, 0, 0.8);
}
.carousel-caption .show-title { /* Mobile */
    font-size: .7rem;
}
.carousel-caption .credits { /* Mobile */
    font-size: .5rem;
}
@media (min-width: 576px) { /* Desktop */
    .carousel-caption .show-title {
        font-size: .9rem;
    }
    .carousel-caption .credits {
        font-size: .7rem;
    }
}

/* Header */
.logo-name {
    letter-spacing: .15rem;
}
@media (min-width: 768px) {
    .logo-name {
        font-size: 3rem;
    }
}
@media (max-width: 600px) {
    .logo-name {
        font-size: 1.8rem;
    }
    .logo-subtitle {
        font-size: 1.1rem;
    }
}

/* Nav Links */
.nav-link, .nav-link:focus {
    color: white;
    opacity: 1;
    transition: opacity 0.4s ease;
    box-shadow: none;
}
.nav-link:hover {
    color: white;
    opacity: 0.7;
}

/* Modal */
.modal-content {
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    color: white;
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    background-color: rgba(0, 0, 0, 0.6);
}
.modal-header {
    border-bottom: none;
    padding-bottom: 0 !important;
}
.modal-footer {
    border-top: none;
}
.modal-content-narrow {
    max-width: 800px;
}
.modal-custom-close-btn {
    background: none;
    border: none;
    color: white;
    opacity: 0.4;
    transition: opacity 0.4s ease;
}
.modal-custom-close-btn:hover {
    opacity: 0.9;
}

/* Form */
form {
    max-width: 500px;
}
.form-control, .form-control:focus, form .btn, .alert {
    border: none;
    background-color: rgba(100, 100, 100, 0.1);
    color: white;
    box-shadow: none;
}
form .btn:hover, form .btn:focus {
    background-color: rgba(100, 100, 100, 0.25);
}
.form-floating>.form-control-plaintext~label::after,
.form-floating>.form-control:focus~label::after,
.form-floating>.form-control:not(:placeholder-shown)~label::after,
.form-floating>.form-select~label::after {
    background: none;
}
.form-floating>.form-control:focus~label,
.form-floating>.form-control:not(:placeholder-shown)~label {
    color: white;
}

/* About Page */
img.rounded-corners {
    object-fit: cover;
    border-radius: 5%;
}