.input-group {
    width: 100%;
    max-width: 100%;
}

._form, .row.formcontact {
    margin-top: 0.5em;
    display: flex;
    flex-wrap: wrap;
}

._form textarea {
    height: 8em;
}

._form .form_buttons .btn {
    display: block;
    margin: 0.5em auto;
    /*width: 50%;*/
}

._form .help-block {
    font-size: 13px;
    line-height: 15px;
    margin-bottom: 0.1em;
}


/* contact items for formcontact */
.formcontact_contact {
    padding: 0.5em;
}
.formcontact_contact i {
    display: inline-block;
    width: 2.5em;
    text-align: center;
}


.form-inline .included_options, .form-inline .notincluded_options {
    margin-top: 1em;
}


@media (min-width: 768px) {

    .form_item {
        padding-bottom: 1em;
        flex: 1;
    }

    .form_item.col-md-6 {
        width: auto !important;
        flex-basis: 50% !important;
    }
    .form_item.col-md-4 {
        width: auto !important;
        flex-basis: 33% !important;
    }
    .form_item.col-md-12 {
        width: auto !important;
        flex-basis: 100% !important;
    }

    .formcontact_contacts {
        margin-top: 1em;
    }

    .formcontact_contact {
        margin-bottom: 0.5em;
    }
    .formcontact_contact i {
        font-size: 2em;
    }

    .col-sm-6 .widget_formcontact .col-lg-6, .col-sm-4 .widget_formcontact .col-lg-6, .col-sm-3 .widget_formcontact .col-lg-6, .col-sm-2 .widget_formcontact .col-lg-6 {
        width: 100% !important;
    }


    .form-inline .included_options .included_option_option, .form-inline .notincluded_options .notincluded_option_option {
        display: block;
    }

}



.included_option_option, .notincluded_option_option {
    text-align: left;
}


/*** from https://codepen.io/aorcsik/pen/OPMyQp ***/


input[type="checkbox"].ios8-switch {
    position: absolute;
    margin: 8px 0 0 16px;
    visibility: hidden;
}
input[type="checkbox"].ios8-switch + label {
    position: relative;
    padding: 5px 0 0 50px;
    line-height: 2.0em;
}
input[type="checkbox"].ios8-switch + label:before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: 8px;
    width: 40px; /* x*5 */
    height: 24px; /* x*3 */
    border-radius: 16px; /* x*2 */
    background: #fff;
    border: 1px solid #d9d9d9;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
input[type="checkbox"].ios8-switch + label:after {
    content: "";
    position: absolute;
    display: block;
    left: 0px;
    top: 8px;
    width: 24px; /* x*3 */
    height: 24px; /* x*3 */
    border-radius: 16px; /* x*2 */
    background: #fff;
    border: 1px solid #d9d9d9;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
input[type="checkbox"].ios8-switch + label:hover:after {
    box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
input[type="checkbox"].ios8-switch:checked + label:after {
    margin-left: 16px;
}
input[type="checkbox"].ios8-switch:checked + label:before {
    background: #55D069;
}

/* SMALL */

input[type="checkbox"].ios8-switch-sm {
    margin: 5px 0 0 10px;
}
input[type="checkbox"].ios8-switch-sm + label {
    position: relative;
    padding: 0 0 0 32px;
    line-height: 1.3em;
}
input[type="checkbox"].ios8-switch-sm + label:before {
    width: 25px; /* x*5 */
    height: 15px; /* x*3 */
    border-radius: 10px; /* x*2 */
}
input[type="checkbox"].ios8-switch-sm + label:after {
    width: 15px; /* x*3 */
    height: 15px; /* x*3 */
    border-radius: 10px; /* x*2 */
}
input[type="checkbox"].ios8-switch-sm + label:hover:after {
    box-shadow: 0 0 3px rgba(0,0,0,0.3);
}
input[type="checkbox"].ios8-switch-sm:checked + label:after {
    margin-left: 10px; /* x*2 */
}

/* LARGE */

input[type="checkbox"].ios8-switch-lg {
    margin: 10px 0 0 20px;
}
input[type="checkbox"].ios8-switch-lg + label {
    position: relative;
    padding: 7px 0 0 60px;
    line-height: 2.3em;
}
input[type="checkbox"].ios8-switch-lg + label:before {
    width: 50px; /* x*5 */
    height: 30px; /* x*3 */
    border-radius: 20px; /* x*2 */
}
input[type="checkbox"].ios8-switch-lg + label:after {
    width: 30px; /* x*3 */
    height: 30px; /* x*3 */
    border-radius: 20px; /* x*2 */
}
input[type="checkbox"].ios8-switch-lg + label:hover:after {
    box-shadow: 0 0 8px rgba(0,0,0,0.3);
}
input[type="checkbox"].ios8-switch-lg:checked + label:after {
    margin-left: 20px; /* x*2 */
}

/** reCAPTCHA **/
.g-recaptcha > div {
    margin: auto;
}
@media (max-width: 768px) {
    .g-recaptcha > div {
        transform: scale(0.75);
        margin-left: -12%;
    }
}

/** formcontact on desktop when in a smaller "container" **/
@media (min-width: 768px) {
    .col-sm-6 .formcontact_contacts, .col-sm-6 .formcontact_form,
    .col-sm-4 .formcontact_contacts, .col-sm-4 .formcontact_form,
    .col-sm-3 .formcontact_contacts, .col-sm-3 .formcontact_form,
    .col-sm-2 .formcontact_contacts, .col-sm-2 .formcontact_form
    {
        width: 100% !important;
    }

    .rating-md {
        margin-top: -0.35em;
    }
}

.checkout_form label {
    margin-top: 10px;
}

/** prevent zooming when focus **/
/** https://stackoverflow.com/questions/2989263/disable-auto-zoom-in-input-text-tag-safari-on-iphone/6394497 **/
@media (max-width: 768px) {
    input[type="color"],
    input[type="date"],
    input[type="datetime"],
    input[type="datetime-local"],
    input[type="email"],
    input[type="month"],
    input[type="number"],
    input[type="password"],
    input[type="search"],
    input[type="tel"],
    input[type="text"],
    input[type="time"],
    input[type="url"],
    input[type="week"],
    select:focus,
    textarea {
        font-size: 16px !important;
    }
}
