:root{
    --grigio-chiaro: #CCC;
    --verde-sm: #68B4A1;
    --fontprincipale:'Nunito Sans', sans-serif;
    --fonttitoli:'Playfair Display', serif;

    --verdescuro: #659d90;
--verdechiaro: #05574f;

}
html{
    height:100%
}
body{
    font-family: var(--fontprincipale); box-sizing: border-box;
}

.logo_login{ margin: 6em 0 2em 0; text-align: center;}
.titolo{
    text-align: center;
    font-size: 28px;
    font-family: var(--fonttitoli);
}

.btn-xs:not(.btn_sso){
    background-color: var(--verdechiaro) !important;
    border: 1px solid var(--verdechiaro);
    color: #FFF !important;
    padding: 15px !important;
    border-radius: 0 !important;
    transition: all 0.5s;
    width: 100%;
    text-transform: uppercase;
}
.btn-xs:not(.btn_sso):hover {
    background-color: var(--verdescuro) !important;
    border-color: var(--verdescuro);
}


.btn_sso{
    padding: 15px !important;
    border-radius: 0 !important;
    transition: all 0.5s;
    width: 100%;
    text-transform: uppercase;

    
    background: transparent !important;
    color: #000;
    border: 1px solid #000 !important;
    border-radius: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-content: center;
    margin-top: 30px;
    
}
input[type="text"],
input[type="password"]{
    border-color: #62bba5;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form-group{
    position: relative;
    margin-bottom: 1.5em;
    height: 50px;
}
.form-group label{
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(1em, -50%);
    color: #333;
    z-index: 1;
    
    font-weight: 500;
} 
.form-group input:not(input[type="checkbox"]),
.form-group input:focus:not(input[type="checkbox"]){
    z-index: 2;
    background-color: transparent;
    position: relative;
    height: 100%;
    border-radius: 0;
    outline: none;
    box-shadow: none;
    border-color: var(--grigio-chiaro);
    transition: all 0.5s;
}
.form-group input:focus:not(input[type="checkbox"]){
    border-color: var(--verde-sm) !important;
    border-top-color: transparent !important;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
}

.form-group input:focus{
    border-color: #f5f5f5;
}

.form-group label{
    display: block;
}
.form-group label.hover{
    display: none;
}

.form-checkbox{
    margin-left: calc(2em - 3px);
    height: calc(50px / 2);
    margin-bottom: calc(1.5em + 6px);
}
.form-checkbox input{
    z-index: 2;
    position: relative;
    
    top: -7px;
    margin-left: -29px !important;
    width: calc(50px / 2);
    height: calc(50px / 2);
    opacity: 0;
    display: none;
}
.form-checkbox label{
    position: relative;
    z-index: 1;
}
.form-checkbox label::before{
    content: "";
    position: absolute;
    left: calc(calc(-50px / 2) - 1em);
    top: 0;
    width: calc(50px / 2);
    height: calc(50px / 2);
    border: 1px solid var(--grigio-chiaro);
    background: transparent;
}
.form-checkbox label::after{
    content: "✔";
    position: absolute;
    left: -33px;
    top: 2px;
    width: calc(50px / 2);
    height: calc(50px / 2);
    font-size: 16px;
    color: #659d90;
    transition: all .2s;
    opacity: 0;
    transform: scale(0);
}
.form-checkbox label span{
    position: relative;
    top: 3px;
}

.form-checkbox input[type="checkbox"]:checked ~ label::after{
    opacity: 1;
    transform: scale(1);
} 

.btn-link,
.btn-link:hover{
    text-align:center;
    margin-top:3em;
    color: #333;
    text-decoration: none;
}
.btn-link a{
    text-decoration:underline;
    color: var(--verde-sm);
}


.form_2_col{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}
.form_2_col .form-group{
    width: 50%;
}
.form_2_col .form-group:nth-child(2n){
    padding-left: 1em;
}
.form_2_col .form-group:nth-child(2n) label{
  transform: translate(2em,-50%);
}

.register .btn-xs{
    width: 50% !important;
}