.form-container { margin: 1.5rem 0; }

    .form label { padding: .5rem 0; }
    
    .form .group { 
        display: flex;
        flex-wrap: wrap;
        margin-bottom: .75rem; 
    }
    
    .form .group > textarea { height: auto; }
    .form .group > label { padding-right: .75rem; }
    .form .group > select { height: 2.4rem; }
    
        .form .group .group { display: flex; margin-bottom: 0; }
    
    .form input[type=range] { 
        border: 0;
        padding-left: 0; 
        padding-right: 0; 
        align-self: center;
    }
    
    .form .field { 
        flex-grow: 1;
        margin: 0; 
    }
    
    .form .field.mktoInvalid { border-color: #AF1B1B; }
    .form .text-error {
        margin-top: .5rem;
        width: 100%;
        order: 10; 
        color: #AF1B1B;
    }
    
    .form fieldset {
        border: 1px solid #CCC;
        padding: .75rem 1.5rem;
        margin-bottom: 1.5rem;
        border-radius: 5px;
    }

    .form legend {
        color: #888;
        padding: 0 1rem;
    }
    
    /** Tooltip icon. */
    .form .tooltip-icon {
        opacity: .5;
        font-size: 115%;
        white-space: nowrap;
    }
    
    .form .tooltip-icon:hover, 
    .form .tooltip-icon:focus,
    .form .tooltip-icon:active {
        opacity: 1;
    }
    
    .form .tooltip-icon:before {
        display: inline;
        margin-left: .3rem;
        margin-right: .3rem;
    }
    
    .form .group-radio > input[type=radio], 
    .group-checkbox > input[type=checkbox] {
        flex: auto;
        width: auto; /* IE11 */
        width: initial;
        vertical-align: top;
        position: relative; top: .6rem;
    }
    
    .form .group-radio > label, 
    .form .group-checkbox > label {
        margin: 0 1.5rem 0 .35rem;
        width: auto;
        font-weight: normal;
    }
    
    .form .text-hint { margin: 1rem 0; }
    .form .btn { margin: 1.6em 0 0; }
    
    .form .note {
        max-width: 50rem;
        font-size: 90%;
        margin: 1.5em 0 0;
    }
    
    .form .field-value {
        order: 10;
        padding: .5rem 0;
        margin-left: 1rem;
        line-height: 1;
    }
    
    /* 3rd party extensions */
    .form .mktoInvalid ~ .select2 .select2-selection--single { border: 2px solid #AF1B1B; }
    .form .select2 .select2-selection__rendered { padding-top: .2em; padding-bottom: .2em; }
    .form .select2 .select2-selection--single { height: auto; }
    
    .select2-selection__arrow {
        top: 50% !important;
        margin-top: -13px; // 1/2 of the selection__arrow's height
    }
    
    /* Mobile large and bigger */
    @media screen and (min-width: 30em) {
        .form .group { align-items: flex-start; }
        
        .form .group > input,
        .form .group > select {
            max-width: 20rem;
        }
        
        .form .group > textarea {
            max-width: 30rem;
            height: auto;
        }
        
       .form .group .group { flex: 1 1 auto; }
       
       .form .group-radio, 
       .form .group-checkbox { 
            display: flex; 
            align-items: flex-start;
       }
       
       .form .text-error { 
           width: 75%; 
           margin-left: 25%; 
       }
       
       .form .text-hint { max-width: calc( 25% + 30rem); }
       .form .field { flex: 1 1; }
    }
    
    @media screen and ( max-width: 30em ) {
        .form .group > label { width: 100%; }

        .form .group-radio > label, 
        .form .group-checkbox > label {
          width: calc(100% - 20px);
          margin-right: 0;
        }

        .form .group-radio > input[type=radio], 
        .group-checkbox > input[type=checkbox] {
          width: 15px;
        }
        
        
    }

/*IE only*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .mktoFormRow .mktoFieldWrap {
        display: block;
    }
}


