* {
    font-family: 'Futura PT';
}
.preload * {
    transition: none;
    -webkit-transition: none;
    -o-transition: none;
    -moz-transition: none;
}

.reg-form {
    min-width: 320px;
    max-width: 600px;
    margin: auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
    .header {
        margin: 15px 0 30px;
    }

    /* Форма регистрации */
    .input-wrap {
        position: relative;
        width: 320px;
        height: 50px;
        background-color: rgba(250,250,250);
        margin-bottom: 15px;
    }
        .input-label {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            z-index: 1;
            color: rgba(10,10,10,.9);
        }
        .input {
            border: none;
            outline: none;
            padding: 10px 30px;
            box-sizing: border-box;
            display: block;
            
            width: 100%;
            height: 100%;
            position: relative;
            background-color: transparent;
            z-index: 5;
            font-size: 16px;
            text-align: center;
            
            transition: background-color .5s, box-shadow .5s;
        }
        .input[name='firstname'] {
            text-transform: capitalize;
        }
        .input:focus {
            background-color: rgba(255,255,255);
            box-shadow: 0 0 15px rgba(10,10,10,.1);
        }
        .input:not(:placeholder-shown) {
            background-color: rgba(255,255,255);
            box-shadow: 0 0 15px rgba(10,10,10,.1);
        }
        
    .select-wrap {
        width: 320px;
        box-sizing: border-box;
        padding: 0 10px;
        background-color: rgba(250,250,250);
        height: 50px;
        margin-bottom: 15px;
        transition: box-shadow .5s, background-color .5s;
    }
    .select-wrap.selected {
        box-shadow: 0 0 15px rgba(10,10,10,.1);
        background-color: rgba(255,255,255);
    }
        .select {
            border: none;
            height: 100%;
            padding-left: 15px;
            width: 100%;
            outline: none;
            background-color: transparent;
            font-size: 16px;
        }
        .select.selected {
            box-shadow: 0 0 15px rgba(10,10,10,.1);
            background-color: rgba(255,255,255);
            
        }
        .btn-geo {
            //position: absolute;
            //right: 15px;
            //top: 50%;
            //transform: translateY(-50%);
            //width: 30px;
            //height: 30px;
            //display: flex;
            //align-items: center;
            //justify-content: center;
            //z-index: 6;
            padding: 3px 15px;
            box-shadow: 0 0 15px rgba(10,10,10,.1);
            text-align: center;
            opacity: .3;
            transition: opacity .5s;
            margin-bottom: 15px;
        }
            .btn-geo .geo-icon {
                display: block;
                width: 80%;
                height: 80%;
                background: url('imgs/geo.svg') no-repeat center;
                background-size: 80%;
                opacity: .3;
                transition: opacity .5s;
            }
        .btn-geo:hover {
            cursor: pointer;
            opacity: 1;
        }
            .btn-geo:hover .geo-icon {
                opacity: 1;
            }
    
    .textarea-wrap {
        position: relative;
        width: 320px;
        height: 150px;
        background-color: rgba(250,250,250);
        margin-bottom: 15px;
    }
        .textarea {
            border: none;
            outline: none;
            padding: 15px;
            box-sizing: border-box;
            display: block;
            
            width: 100%;
            height: 100%;
            position: relative;
            background-color: transparent;
            z-index: 5;
            font-size: 16px;
            resize: none;
            
            
            transition: background-color .5s, box-shadow .5s;
        }
        .textarea:focus {
            background-color: rgba(255,255,255);
            box-shadow: 0 0 15px rgba(10,10,10,.1);
        }
        .textarea:not(:placeholder-shown) {
            background-color: rgba(255,255,255);
            box-shadow: 0 0 15px rgba(10,10,10,.1);
        }
.checkbox-wrapper {
    box-sizing: border-box;
    padding-left: 15px;
}      
    .checkbox-wrap {
        display: flex;
        align-items: center;
        height: 30px;
    }
        .checkbox {
            margin-right: 10px;
        }
        
    
    .btn-submit {
        background-color: #ED002F;
        height: 50px;
        margin: auto;
        padding: 5px 15px;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 30px;
        margin-bottom: 30px;
    }
    .btn-submit.noaccept {
        opacity: .5;
    }
    .btn-submit.noaccept:hover {
        cursor: default !important;
    }
    .btn-submit:hover {
        cursor: pointer;
    }
    
    form .error {
        background-color: rgba(215,47,47,.1);
    }