/* Fonts */
@font-face {
    font-family: 'AlegreyaSansSC-Bold';
    src: url('/res/fonts/AlegreyaSansSC-Bold.ttf') format('truetype');
}



/* Keyframes */
@keyframes fadeInDown {
    0% { opacity: 0; transform: translateY(30px); }
    100% { opacity: 1; transform: translateY(0px); }
}

@keyframes fadeInUp {
    0% { opacity: 0; transform: translateY(-30px); }
    100% { opacity: 1; transform: translateY(0px); }
}



/* Color */
:root {
    --palette1: #4a196c; /* #59d9ff */
    --palette2: #804595; /* #71c8d6 */
    --palette3: #9c539c; /* #71c8d6 */
    --palette4: #c967a2; /* #71c8d6 */
    --palette5: #d876a9; /* #71c8d6 */
}

.bg-palette1 { background-color: var(--palette1) !important; }
.bg-palette2 { background-color: var(--palette2) !important; }
.bg-palette3 { background-color: var(--palette3) !important; }
.bg-palette4 { background-color: var(--palette4) !important; }
.bg-palette5 { background-color: var(--palette5) !important; }
.bg-shadow { background: rgba(0, 0, 0, 0.7); }

.border-palette1 { border-color: var(--palette1) !important; }
.border-palette2 { border-color: var(--palette2) !important; }
.border-palette3 { border-color: var(--palette3) !important; }
.border-palette4 { border-color: var(--palette4) !important; }
.border-palette5 { border-color: var(--palette5) !important; }

.text-palette1 { color: var(--palette1) !important; }
.text-palette2 { color: var(--palette2) !important; }
.text-palette3 { color: var(--palette3) !important; }
.text-palette4 { color: var(--palette4) !important; }
.text-palette5 { color: var(--palette5) !important; }
.text-debug { color: #804595 !important; }
.text-shadow { text-shadow: -1px -1px 2px #000, 1px -1px 2px #000, -1px  1px 2px #000, 1px  1px 2px #000; }



/* General styles */
body {
    /* font-family: 'OpenSans-Regular', Courier, monospace; */
    background: url('/res/img/misc/abstract-gears-on-black-background-free-vector.png') var(--palette1) center / cover fixed;
    background-blend-mode: multiply;
}

main {
    padding-top: 4rem !important;
    padding-bottom: 2em;
}

p {
    margin-bottom: 0.5rem;
}

a {
    color: var(--palette3);
}

a:hover {
    text-decoration: underline;
}



/* Sections */
.section:not(:last-of-type) {
    padding-bottom: 4em;
}



/* Navbar and nav pills */
.navbar {
    /* background-color: var(--palette1); */
    transition: background 1s ease;
    font-family: 'AlegreyaSansSC-Bold', Courier, monospace;
    /* border-bottom: 1px solid var(--palette3); */
}

/* .navbar-brand,
.nav-link,
footer {
    color: var(--palette3);
} */

.brand-logo {
    float: left;
    min-width: 32px;
    min-height: 32px;
    background: url('/res/img/logo-64x64.png') no-repeat;
    background-size: contain;
}

.nav {
    --bs-nav-link-color: var(--palette3);
}

.nav-pills .nav-link:hover {
    color: var(--palette4);
}

.nav-pills .nav-link.active,
.dropdown-item:focus,
.dropdown-item.active {
    background: var(--palette2);
    color: #fff;
    text-decoration: underline;
}



/* Carousels */
#home-carousel .carousel-item :is(h5, p) {
    opacity: 0;
}

#home-carousel .carousel-item.active h5 {
    animation: fadeInUp 0.5s ease forwards;
}

#home-carousel .carousel-item.active p {
    animation: fadeInDown 0.5s ease forwards;
}

#home-carousel .carousel-item:before {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(0, 0, 0, 1.0)
    );
}

#home-carousel .carousel-item img {
    height: min(50vh, 60vw);
    object-fit: cover;
    object-position: center;
    overflow: hidden;
}



/* Accordions */
.accordion {
    --bs-accordion-btn-color: var(--palette3);
    --bs-accordion-active-bg: var(--palette2);
    --bs-accordion-active-color: #ffffff;
    --bs-accordion-bg: #000000;
    --bs-accordion-color: #ffffff;
}

/** /
.accordion-item {
    
}

.accordion-button:not(.collapsed) {
    
}
/**/



/* Lists */
ul.timeline {
    position: relative;
    list-style-type: none;
    /* padding-left: 32px; */
}

ul.timeline:before {
    z-index: 999;
    position: absolute;
    display: inline-block;
    left: 29px;
    width: 2px;
    height: 100%;
    /* background: #d4d9df; */
    background: var(--palette3);
    content: ' ';
}

ul.timeline > li {
    margin: 10px 0;
    padding-left: 20px;
}

ul.timeline > li:first-child {
    padding-top: 20px;
}

ul.timeline > li:before {
    z-index: 999;
    position: absolute;
    display: inline-block;
    left: 20px;
    margin-top: 2px;
    width: 20px;
    height: 20px;
    /* background: white; */
    background: var(--palette1);
    border-radius: 50%;
    /* border: 3px solid #22c0e8; */
    border: 3px solid var(--palette3);
    content: ' ';
}



/* Tooltips */
.custom-tooltip {
    --bs-tooltip-bg: var(--bd-violet-bg);
    --bs-tooltip-color: var(--bs-white);
}
