﻿:root {
    --blucobalto: rgba(0, 71, 171, 1);
    --blucobalto-light: rgba(133,164,214, 1);
    --verde: #d2f4ea;
    --verde-rgb: 210, 244, 234;
    --grigino-body: rgb(248, 249, 252);
    --grigino-body-rgb: 248, 249, 252;
    --grigiobtnlogin: rgba(33, 37, 41, 0.85);
    --grigiobtnlogin-rgb: 33, 37, 41;
    --backcolor-formlabel: white;
    --bordeaux-rgb: 100,28,52;
    --nav-color-bottom: rgba(var(--verde-rgb),1) 100%;
    --nav-color-top: rgba(0,0,0,0.9) 0%;
    --footer-color-bottom: rgba(var(--verde-rgb),1) 0%;
    --footer-color-top: rgba(0,0,0,0.9) 100%;
}


html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
    height: -webkit-fill-available;
}
@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

header {
    z-index: -1;
}

body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
        background-color: var(--grigino-body);
    margin-bottom: 60px;
}

main {
    height: 100vh;
    height: -webkit-fill-available;
    max-height: 100vh;
    overflow-x: auto;
    overflow-y: hidden;
}
@media (min-width: 991.98px) {
    main {
        padding-left: 240px;
    }
}




.rounded-link {
    border: 1px solid white;
    padding: 0.50rem 1rem;
    border-radius: 3rem;
    text-decoration: none;
    color: white;
    font-weight: 300;
    font-size: 0.875em;
}




.dropdown-toggle {
    outline: 0;
}


.scrollarea {
    overflow-y: auto;
}





/* Sidebar */
.sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    padding: 58px 0 0; /* Height of navbar */
    box-shadow: 0 2px 5px 0 rgb(0 0 0 / 5%), 0 2px 10px 0 rgb(0 0 0 / 5%);
    width: 240px;
    z-index: 600;
}

@media (max-width: 991.98px) {
    .sidebar {
        width: 100%;
    }
}

.sidebar .active {
    border-radius: 5px;
    box-shadow: 0 2px 5px 0 rgb(0 0 0 / 16%), 0 2px 10px 0 rgb(0 0 0 / 12%);
}

.sidebar-sticky {
    position: relative;
    top: 0;
    height: calc(100vh - 58px);
    padding-top: 0.5rem;
    overflow-x: hidden;
    overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
}

.text-xs {
    font-size: x-small;
}

.text-xxs {
    font-size: xx-small;
}

a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

/* Provide sufficient contrast against white background */
a {
    color: #0366d6;
}


.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

/* Sticky footer styles
-------------------------------------------------- */


.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

/* Sticky footer styles
-------------------------------------------------- */


.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    line-height: 2.5rem; /* Vertically center the text there */
}

.border-transparent {
    border-color: transparent;
}

.form-outline {
    position: relative;
    width: 100%
}

    .form-outline .form-control ~ .form-label {
        position: absolute;
        top: 0;
        max-width: 90%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        left: .75rem;
        padding-top: .37rem;
        pointer-events: none;
        transform-origin: 0 0;
        transition: all .2s ease-out;
        color: rgba(0, 0, 0, .6);
        margin-bottom: 0
    }

    .form-outline .form-control.active ~ .form-label,
    .form-outline .form-control:focus ~ .form-label {
        transform: translateY(-1rem) translateY(.1rem) scale(.8)
    }

    .form-outline .form-control.active ~ .form-label {
        background-color: white;
        padding-left: 0.25em;
        padding-right: 0.25em;
    }

    .form-outline .form-control:focus ~ .form-label {
        background-color: white;
        color: #3b71ca;
        padding-left: 0.25em;
        padding-right: 0.25em;
    }

    .form-outline .form-select ~ .form-label {
        background-color: white;
        padding-left: 0.25em;
        padding-right: 0.25em;
        transform: translateY(-3.1rem) scale(.8);
        color: rgba(0, 0, 0, .6);
    }

    .form-outline .form-select:focus ~ .form-label {
        background-color: white;
        color: #3b71ca;
    }

    .form-outline .form-select.is-valid ~ .form-label,
    .form-outline .form-select.is-valid:focus ~ .form-label {
        background-color: var(--backcolor-formlabel);
        color: #198754;
        padding-left: 0.25em;
        padding-right: 0.25em;
    }

    .form-outline .form-select.is-invalid ~ .form-label,
    .form-outline .form-select.is-invalid:focus ~ .form-label {
        background-color: var(--backcolor-formlabel);
        color: #dc3545;
        padding-left: 0.25em;
        padding-right: 0.25em;
    }

.autocomplete {
    padding: .375rem 48px .375rem 24px
}

    .autocomplete::placeholder {
        color: #adb2b8
    }

    .autocomplete:disabled {
        background-color: #cacacc
    }

        .autocomplete:disabled::placeholder {
            color: #5c6f82
        }

.autocomplete-icon {
    position: absolute;
    right: 0;
    top: .5rem;
    padding: 0 8px;
    background-color: #fff
}

    .autocomplete-icon .icon {
        fill: #5c6f82
    }

.autocomplete-list {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    background-color: #fff;
    padding: 8px 0;
    box-shadow: 0 20px 30px 5px rgba(0, 0, 0, .05);
    border-top: 1px solid #5c6f82;
    transition: opacity .3s;
    display: none
}

    .autocomplete-list.autocomplete-list-show {
        display: block;
        z-index: 10
    }

    .autocomplete-list li {
        list-style-type: none;
        padding: 0
    }

    .autocomplete-list a {
        padding: 12px 24px;
        display: block;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        color: #455b71;
        line-height: 1.2;
        font-size: 1rem;
        text-decoration: none
    }

        .autocomplete-list a:hover {
            color: #06c;
            text-decoration: none
        }

            .autocomplete-list a:hover .icon {
                fill: #06c
            }

            .autocomplete-list a:hover .autocomplete-list-text span {
                text-decoration: underline
            }

            .autocomplete-list a:hover .autocomplete-list-text em {
                color: #06c
            }

            .autocomplete-list a:hover mark,
            .autocomplete-list a:hover .mark {
                color: #06c
            }

        .autocomplete-list a .icon,
        .autocomplete-list a .avatar {
            margin-right: 16px;
            flex-shrink: 0
        }

        .autocomplete-list a .icon {
            fill: #455b71
        }

        .autocomplete-list a .autocomplete-list-text {
            margin-top: 2px
        }

            .autocomplete-list a .autocomplete-list-text em {
                font-style: normal;
                text-transform: uppercase;
                font-size: .75rem;
                color: #435a70;
                font-weight: 600;
                letter-spacing: .1em;
                display: block;
                margin-top: 4px
            }

    .autocomplete-list mark,
    .autocomplete-list .mark {
        padding: 0;
        background: rgba(0, 0, 0, 0);
        font-weight: bold
    }

.autocomplete-wrapper-big .autocomplete {
    height: 56px;
    font-size: 1.5rem;
    font-weight: normal;
    padding-left: 64px;
    padding-right: 24px
}

.autocomplete-wrapper-big .autocomplete-icon {
    position: absolute;
    left: .5rem;
    right: auto;
    top: 1rem
}

    .autocomplete-wrapper-big .autocomplete-icon .icon {
        fill: #06c;
        width: 24px;
        height: 24px
    }

.autocomplete-wrapper-big .autocomplete-list a {
    font-size: 1.125rem
}

    .autocomplete-wrapper-big .autocomplete-list a .autocomplete-list-text {
        margin-top: 0
    }

@media(min-width: 576px) {
    .autocomplete-list a {
        font-size: .889rem;
        align-items: flex-start
    }

        .autocomplete-list a .autocomplete-list-text span {
            margin-right: 8px
        }

        .autocomplete-list a .autocomplete-list-text em {
            display: inline-block;
            font-size: .667rem;
            margin-top: 0
        }

    .autocomplete-wrapper-big .autocomplete {
        height: 72px;
        font-size: 2.222rem;
        padding-left: 64px
    }

    .autocomplete-wrapper-big .autocomplete-icon .icon {
        width: 40px;
        height: 40px
    }

    .autocomplete-wrapper-big .autocomplete-list a {
        font-size: 1.111rem
    }

        .autocomplete-wrapper-big .autocomplete-list a .autocomplete-list-text span {
            margin-right: 16px
        }
}

.autocomplete__wrapper .autocomplete__menu {
    border: 1px solid #979899;
    border-top: none;
    width: 100%;
    position: absolute;
    top: 100%;
    z-index: 10;
}

    .autocomplete__wrapper .autocomplete__menu .autocomplete__hint,
    .autocomplete__wrapper .autocomplete__menu .autocomplete__option {
        padding: 12px 24px;
        background-color: #fff;
        border: none;
        font-size: .889rem;
        font-weight: 600
    }

        .autocomplete__wrapper .autocomplete__menu .autocomplete__hint:hover,
        .autocomplete__wrapper .autocomplete__menu .autocomplete__hint:focus,
        .autocomplete__wrapper .autocomplete__menu .autocomplete__option:hover,
        .autocomplete__wrapper .autocomplete__menu .autocomplete__option:focus {
            color: #06c
        }

        .autocomplete__wrapper .autocomplete__menu .autocomplete__hint:focus,
        .autocomplete__wrapper .autocomplete__menu .autocomplete__option:focus {
            border: 2px solid #f90
        }

.autocomplete__wrapper {
    position: relative
}

.autocomplete__hint,
.autocomplete__input {
    display: block;
    width: 100%;
    padding: 0.36rem 0.5rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: transparent;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0.375rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.autocomplete__input {
    position: relative
}


.form-outline .form-label-autocomplete[aria-label="focus"] {
    background-color: white;
    color: #3b71ca;
    padding-left: 0.25em;
    padding-right: 0.25em;
}

.form-outline .form-label-autocomplete {
    background-color: white;
    color: rgba(0, 0, 0, .6);
    padding-left: 0.25em;
    padding-right: 0.25em;
    transform: translateY(-3.1rem) translateX(0.5rem) scale(.8);
}

.form-outline .form-select:focus ~ .form-label {
    background-color: white;
    color: #3b71ca;
}


.autocomplete__hint {
    color: #b1b4b6;
    position: absolute
}

.autocomplete__input--default {
    padding: 5px
}

.autocomplete__input--focused {
    background-color: #fff;
    border-color: #3b71ca;
    outline: 0;
}

.autocomplete__input:focus {
    background-color: transparent;
    border-color: #3b71ca;
    outline: 0;
}

.autocomplete__input--show-all-values {
    /*    padding: 5px 34px 5px 5px;*/
    padding: 0.36rem 0.75rem;
    cursor: pointer
}

.autocomplete__dropdown-arrow-down {
    z-index: -1;
    display: inline-block;
    position: absolute;
    right: 8px;
    width: 24px;
    height: 24px;
    top: 10px
}


.autocomplete__menu {
    background-color: #fff;
    border: 2px solid #0b0c0c;
    border-top: 0;
    color: #0b0c0c;
    margin: 0;
    max-height: 342px;
    overflow-x: hidden;
    padding: 0;
    width: 100%;
    width: calc(100% - 4px)
}

.autocomplete__menu--visible {
    display: block
}

.autocomplete__menu--hidden {
    display: none
}

.autocomplete__menu--overlay {
    box-shadow: rgba(0, 0, 0, .256863) 0 2px 6px;
    left: 0;
    position: absolute;
    top: 100%;
    z-index: 100
}

.autocomplete__menu--inline {
    position: relative
}

.autocomplete__option {
    border-bottom: solid #b1b4b6;
    border-width: 1px 0;
    cursor: pointer;
    display: block;
    position: relative
}

    .autocomplete__option > * {
        pointer-events: none
    }

    .autocomplete__option:first-of-type {
        border-top-width: 0
    }

    .autocomplete__option:last-of-type {
        border-bottom-width: 0
    }

.autocomplete__option--odd {
    background-color: #fafafa
}

.autocomplete__option--focused,
.autocomplete__option:hover {
    background-color: #1d70b8;
    border-color: #1d70b8;
    color: #fff;
    outline: 0
}

@media(-ms-high-contrast: active), (forced-colors: active) {
    .autocomplete__menu {
        border-color: FieldText
    }

    .autocomplete__option {
        background-color: Field;
        color: FieldText
    }

        .autocomplete__option--focused,
        .autocomplete__option:hover {
            forced-color-adjust: none;
            background-color: SelectedItem;
            border-color: SelectedItem;
            color: SelectedItemText;
            outline-color: SelectedItemText
        }
}

.autocomplete__option--no-results {
    background-color: #fafafa;
    color: #646b6f;
    cursor: not-allowed
}

.mb-28px {
    margin-bottom: 28px;
}

* {
    margin: 0;
    padding: 0;
}

/* Icon 1 */

#nav-icon1 {
    width: 32px;
    height: 32px;
    position: relative;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}

    #nav-icon1 span, #nav-icon3 span, #nav-icon4 span {
        display: block;
        position: absolute;
        height: 9px;
        width: 100%;
        background: #d3531a;
        border-radius: 9px;
        opacity: 1;
        left: 0;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .25s ease-in-out;
        -moz-transition: .25s ease-in-out;
        -o-transition: .25s ease-in-out;
        transition: .25s ease-in-out;
    }

        #nav-icon1 span:nth-child(1) {
            top: 0px;
        }

        #nav-icon1 span:nth-child(2) {
            top: 18px;
        }

        #nav-icon1 span:nth-child(3) {
            top: 36px;
        }

    #nav-icon1.open span:nth-child(1) {
        top: 18px;
        -webkit-transform: rotate(135deg);
        -moz-transform: rotate(135deg);
        -o-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    #nav-icon1.open span:nth-child(2) {
        opacity: 0;
        left: -60px;
    }

    #nav-icon1.open span:nth-child(3) {
        top: 18px;
        -webkit-transform: rotate(-135deg);
        -moz-transform: rotate(-135deg);
        -o-transform: rotate(-135deg);
        transform: rotate(-135deg);
    }
.nav-front {
    position: relative;
    height: 8rem;
    background: linear-gradient(var(--nav-color-top),var(--nav-color-bottom));
}

    .nav-front > .d-flex.justify-content-between {
        height: 7rem;
    }

.logo-front {
    position: absolute;
    height: 3rem;
}

.logo-front-soc {
    height: 3rem;
    margin-right: -0.5rem;
}

.primo {
    position: relative;
    background-color: var(--grigino-body);
    /*                z-index: ;*/
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-top: -1rem;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    min-height:calc(100vh - 7rem);
}

.offcanvas-bg-front {
    color: #fff !important;
    background: linear-gradient(rgba(0,0,0,1) 0%,var(--nav-color-bottom));
}

.footer-front {
    position: relative;
}