@font-face {
    font-family: "Poppins";
    src: url("/fonts/Poppins-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Poppins";
    src: url("/fonts/Poppins-SemiBold.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "Poppins";
    src: url("/fonts/Poppins-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "Poppins";
    src: url("/fonts/Poppins-Italic.woff2") format("woff2");
    font-weight: 400;
    font-style: italic;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
q,
cite {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
    overflow-wrap: break-word;
}

img {
    max-width: 100%;
    height: auto;
}

h1 {
    font-size: 3.2rem;
    font-weight: 700;
}

h2 {
    font-size: 2.4rem;
    font-weight: 500;
}

h3 {
    font-size: 1.8rem;
    font-weight: 400;
}

h4 {
    font-size: 1.6rem;
    font-weight: 400;
}

h5 {
    font-size: 1.4rem;
    font-weight: 700;
}

h6 {
    font-size: 0.8rem;
    font-weight: 500;
}

.font-bold { 
    font-weight: 700;
}

.font-semibold {
    font-weight: 500;
}

ul, ol {
    list-style: disc;
    padding-left: 1.5rem;
}

ol {
    list-style: decimal;
}

p, ul, ol {
    margin-bottom: 1rem;
}

p:last-child, ul:last-child, ul li p {
    margin-bottom: 0;
}

fieldset,
.row-fluid {
    display: flex;
    gap: 2rem;
    flex: 1;

    .col-md-1  { flex: calc(1 / 12); }
    .col-md-2  { flex: calc(2 / 12); }
    .col-md-3  { flex: 0.25; }
    .col-md-4  { flex: 0.333; }
    .col-md-5  { flex: calc(5 / 12); }
    .col-md-6  { flex: 0.5; }
    .col-md-7  { flex: calc(7 / 12); }
    .col-md-8  { flex: 0.666; }
    .col-md-9  { flex: 0.75; }
    .col-md-10 { flex: calc(10 / 12); }
    .col-md-11 { flex: calc(11 / 12); }
    .col-md-12 { flex: 1; }
}

section {
    position: relative;
}

@media (max-width: 767px) {
    .grid [umbraco-type] {
        grid-column: 1 / -1;
    }

    fieldset,
    .row-fluid {
        flex-direction: column;
        gap: 1rem;
    }
}

@media (max-width: 639px) {
    h1 { font-size: 2.2rem; }
    h2 { font-size: 1.8rem; }
    h3 { font-size: 1.4rem; }
    h4 { font-size: 1.2rem; }
}

.site.vote-company {
}

.site:not(.site-vote-company) {
    --border-radius: 10px;
    
    #main-header {
        height: 112px;
    }
    
    #desktop-nav ul li.active:last-child a {
        background: var(--color-menu-hover) !important;
    }
    
    #desktop-nav ul li:last-child > a {
        border: none;
        background: none !important;
        &:hover {
            background: var(--color-menu-hover) !important;
        }
    }

    #desktop-nav ul li a,
    button.button,
    a.button {
        font-weight: 700;
        border-radius: var(--border-radius) !important;
    }
}
