:root {
    --font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-icons: "Font Awesome 6 Pro";
    --text-color: #ffffff;
    --gradiente-1: #DA1A47;
    --gradiente-2: #e3672c;
    --content-margin: 430px;
}

/** GLOBAL */
* {
    box-sizing: border-box;
}

body, html, p {
    margin: 0;
    font-family: var(--font-family);
    font-size: 16px;
    color: var(--text-color);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

body {
    background-color: #1e1e1e;
    background-image: url("../assets/body-bg.png");
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
}

img, svg {
    max-width: 100%;
}

a {
    text-decoration: none;
    color: var(--text-color);
    transition: all .3s ease-in-out;
}

ul {
    margin:0;
    list-style: none;
    padding: 0;
}

.legend {
    opacity: 0.7;
}

.small {
    font-size: 14px;
}

.container {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    padding-inline: 20px;
}

/** DROPDOWN */
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-toggle {
    display: inline-block;
    position: relative;
}
.dropdown-toggle::after {
    display: inline-block;
    margin-left: 5px;
    vertical-align: middle;
    content: "\f078";
    font-family: var(--font-icons);
    font-size: 10px;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    white-space: nowrap;
    width: auto;
    min-width: max-content; 
    animation: growOut 0.3s ease-in-out forwards;
    transform-origin: top center;
    z-index: 1000;

    background-color: #ffffff;
    background-clip: padding-box;
    border-radius: 10px;
    -webkit-box-shadow: 0 8px 20px rgba(32, 54, 86, 0.2);
    -moz-box-shadow: 0 8px 20px rgba(32, 54, 86, 0.2);
    box-shadow: 0 8px 20px rgba(32, 54, 86, 0.2);
}
.dropdown-menu:after {
    content: "";
    position: absolute;
    top: -10px;
    left: 10%;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 10px solid #FFF;
}

.dropdown-menu li a {
    padding: 10px 25px;
    color: #79889e;
}

.dropdown:hover .dropdown-menu {
    display: block;
}

@keyframes growOut {
    0% {
        transform: scale(0.95);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/** FLEX BOX */
.flex-container, .flex-container-row, .d-flex {
    padding: 0;
    margin: 0;
    list-style: none;
    display: table-row;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}
.flex-container-col {
    padding: 0;
    margin: 0;
    list-style: none;
    display: table-column;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-flow: col wrap;
    flex-flow: col wrap;
}

.flex-align-space-between {
    justify-content: space-between;
}
.flex-align-center {
    justify-content: center;
}

.flex-align-middle {
    align-items: center;
}
.flex-align-top {
    align-items: flex-start;
}

.flex-item {
    -webkit-flex: auto auto;
    flex: auto auto;
    -webkit-flex-grow: 1;
    flex-grow: 1;
}
.flex-stretch {
    -webkit-align-self: stretch;
    align-self: stretch;
}

.gap2 {
    gap: 10px;
}
.gap4 {
    gap: 20px;
}

.justify-content-left {
  justify-content: flex-start !important;
}
