.fs-row {
    display: block;
}

.fs-row::before {
    display: table;
    content: " ";
    box-sizing: border-box;
}

.fs-row::after {
    clear: both;
    display: table;
    content: " ";
    box-sizing: border-box;
}

.form-cancel-link {
    text-decoration: underline;
    color: #999;
    font-weight: 300;
}

.fs_form .fsf_ib input,
.fs_form .fsf_cluster input,
.fs_form .fsf_ib select,
.fs_form .fsf_cluster select {
    color: #222;
    height: 41px;
    line-height: 1.5;
    font-size: 18px;
    font-weight: 100;
    border: 1px solid #ccc;
    background: white;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    box-shadow: none;
    display: inline-block;
}

.fs_form .fsf_ib input:not([type="checkbox"]):not([type="range"]):not([type="radio"]),
.fs_form .fsf_cluster input:not([type="checkbox"]):not([type="range"]):not([type="radio"]) {
    -webkit-appearance: none;
}

.fs_form .fsf_ib input[type=radio] {
    height: auto;
    vertical-align: middle;
    width: auto;
    margin: 0 5px;
}

.fs_form .fsf_ib input[type=checkbox] {
    height: auto;
    vertical-align: middle;
    width: auto;
    margin: 0 5px;
}

.fs_form .fsf_ib select,
.fs_form .fsf_cluster select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;

    background: url(../img/icon-arrow-down-b-128.png) no-repeat !important;
    background-size: 24px !important;
    background-position: right 5px center !important;
    background-color: white !important;
    padding: 0 30px 0 5px;
}

.fs_form .fsf_cluster input.error,
.fs_form .fsf_ib input.error,
.fs_form .fsf_cluster textarea.error ,
.fs_form .fsf_ib textarea.error {
    background: #f002;
}

.fs_form .fsf_cluster #email_suggestion {
    height: auto;
    font-size: 16px;
    font-weight: 100;
    border: 1px solid #ccc;
    border-top: none;
    background: #eee;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    color: black;
    text-align: left;
    padding: 5px 15px;
}

.fs_form .fsf_cluster #email_suggestion i {
    color: blue;
}

.fs_form .fsf_ib select::-ms-expand,
.fs_form .fsf_cluster select::-ms-expand {
	display: none;
}

.fs_form .fsf_ib input:read-only,
.fs_form .fsf_cluster input:read-only {
    color: #aaa;
    background: #eee;
}

.fs_form .fsf_ib input:disabled,
.fs_form .fsf_cluster input:disabled,
.fs_form .fsf_ib select:disabled,
.fs_form .fsf_cluster select:disabled {
    color: #aaa;
    background: #eee;
}

/* .fs_form .fsf_ib input:invalid {
    outline-color: red;
    outline-style: solid;
    outline-width: 2px;
    z-index: 85;
    position: relative;
} */

.fsf_block {
    box-sizing: border-box;
    font-size: 0;
    text-align: left;
    width: calc(100% + 10px);
    padding: 0;
    margin: 0 -5px;
}

.fs_form .fsf_ib {
    box-sizing: border-box;
    display: inline-block;
    font-size: 0;
    margin: 0;
    padding: 5px;
}

.fs_form .fsf_ib.ib_15 { width: 15%; }
.fs_form .fsf_ib.ib_20 { width: 20%; }
.fs_form .fsf_ib.ib_25 { width: 25%; }
.fs_form .fsf_ib.ib_30 { width: 30%; }
.fs_form .fsf_ib.ib_33 { width: 33.33%; }
.fs_form .fsf_ib.ib_40 { width: 40%; }
.fs_form .fsf_ib.ib_45 { width: 45%; }
.fs_form .fsf_ib.ib_50 { width: 50%; }
.fs_form .fsf_ib.ib_60 { width: 60%; }
.fs_form .fsf_ib.ib_67 { width: 66.67%; }
.fs_form .fsf_ib.ib_75 { width: 75%; }
.fs_form .fsf_ib.ib_80 { width: 80%; }
.fs_form .fsf_ib.ib_100 { width: 100%; }

.fs_form .fsf_ib label {
    font-size: 14px;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 5px;
    line-height: 20px;
}

.fs_form .fsf_ib input[type=radio] + label {
    vertical-align: middle;
    line-height: 31px;
    font-size: 16px;
    font-weight: 100;
    margin: 0;
}

.fs_form .fsf_ib input[type=checkbox] + label {
    vertical-align: middle;
    line-height: 20px;
    font-size: 16px;
    font-weight: 100;
    margin: 0;
    max-width: calc(100% - 30px);
}

.fsf_block button {
    font-size: 16px;
}

.fsf_tooltip {
    font-size: 14px;
    font-weight: bold;
    display: inline;
    line-height: 20px;
}

.fs_form .fsf_ib input {
    width: 100%;
    padding: 0 5px;
    border-radius: 5px;
}

.fs_form .fsf_ib input:focus {
    z-index: 90;
    position: relative;
}

.fs_form .fsf_ib label.required:after {
    color: #e32;
    content: ' *';
    display: inline;
}

.fs_form .fsf_separator {
    width:100%;
    height:2px;
    background-color:#ddd;
    margin-bottom:15px;
    margin-top: 15px;
}

.fs_form .fsf_section_title {
    font-size: 16px;
    font-weight: bold;
    width: 100%;
    margin: 5px 0;
}

.fs_form .fsf_cluster {
    width: 100%;
    display: block;
    font-size: 0;
}

.fs_form .fsf_cluster input {
    border-radius: 0;
    border-top: none;
    width: 100%;
    padding: 5px;
    box-sizing: border-box;
}
.fs_form .fsf_cluster select {
    border-radius: 0;
    border-top: none;
    width: 100%;
    box-sizing: border-box;
}
.fs_form .fsf_cluster textarea {
    font-size: 16px;
    font-weight: 100;
    margin: 0;
    border-radius: 5px;
    border: 1px solid #ccc;
    width: 100%;
    padding: 5px;
    box-sizing: border-box;
    background: white;
    line-height: 1.5;
}

.fs_form .fsf_cluster input:focus,
.fs_form .fsf_cluster select:focus,
.fs_form .fsf_cluster textarea:focus {
    z-index: 90;
    position: relative;
}

.fs_form .fsf_cluster .ib_15 { width: 15%; }
.fs_form .fsf_cluster .ib_20 { width: 20%; }
.fs_form .fsf_cluster .ib_25 { width: 25%; }
.fs_form .fsf_cluster .ib_30 { width: 30%; }
.fs_form .fsf_cluster .ib_33 { width: 33.33%; }
.fs_form .fsf_cluster .ib_40 { width: 40%; }
.fs_form .fsf_cluster .ib_45 { width: 45%; }
.fs_form .fsf_cluster .ib_50 { width: 50%; }
.fs_form .fsf_cluster .ib_60 { width: 60%; }
.fs_form .fsf_cluster .ib_67 { width: 66.67%; }
.fs_form .fsf_cluster .ib_75 { width: 75%; }
.fs_form .fsf_cluster .ib_80 { width: 80%; }
.fs_form .fsf_cluster .ib_100 { width: 100%; }


.fs_form .fsf_cluster .fsfc_ibl  {   border-bottom-left-radius:  5px;    }
.fs_form .fsf_cluster .fsfc_ibr  {   border-bottom-right-radius: 5px;    }
.fs_form .fsf_cluster .fsfc_itl  {   border-top-left-radius:     5px;    }
.fs_form .fsf_cluster .fsfc_itr  {   border-top-right-radius:    5px;    }

.fs_form .fsf_cluster .fsfc_show_top      {   border-top: 1px solid #ccc;         }
.fs_form .fsf_cluster .fsfc_hide_left     {   border-left: none;                  }
.fs_form .fsf_cluster .fsfc_hide_top      {   border-top: none;                   }
.fs_form .fsf_cluster .fsfc_show_left     {   border-left: 1px solid #ccc;        }


.fs_form .fsf_selector {
    margin: 5px 0;
    padding: 0;
    width: 100%;
    display: block;
    font-size: 0;
}
.fsf_option {
    display: inline-block;
    background: white;
    border: 1px solid #007AFF;
    color: #007AFF;
    box-sizing: border-box;
    border-left: none;
    text-align: center;
    font-size: 16px;
    height: 30px;
    padding: 0;
    line-height: 30px;
    width: 50%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.fs_form .fsf_selector:focus {
    outline: revert;
}
.fs_form .fsf_selector.error {
    outline-color: red;
    outline-style: solid;
    outline-width: 2px;
    outline-offset: 2px;
    border-radius: 3px;
}

.fsfs_3 .fsf_option { width: 33.33%; }
.fsfs_4 .fsf_option { width: 25%; }
.fsfs_5 .fsf_option { width: 20%; }

.fsf_option:first-of-type {
    border-left: 1px solid #007AFF;
    border-top-left-radius:     5px;
    border-bottom-left-radius:  5px;
}

.fsf_option:last-of-type {
    border-top-right-radius:    5px;
    border-bottom-right-radius: 5px;
}

.fsf_option.selected {
    background: #007AFF;
    color: white;
}

.fs_form .fsf_mhide { display: inline; }
.fs_form .fsf_mshow { display: none; }
.fs_form .fsf_shide { display: inline; }
.fs_form .fsf_sshow { display: none; }

/* start location house section */
#fsf_location {
    position: relative;
}
#fsf_location .fsf_option, #fsf_location_m {
    width: 33.33%;
    height: 50px;
    background: white;
    padding: 4px 4px;
    position: relative;
    border-radius: 0;
    border-left: none;
    border-top: none;
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
}
#fsf_location .fsf_option span {
    position: absolute;
}
#fsf_location .fsf_option.selected {
    background: #007AFF;
    color: white;
}
#fsf_location #fsf_location_h {
    background: white;
    border-radius: 10px;
    border: 1px solid #007AFF;
    position: absolute;
    text-align: center;
    width: 50%;
    height: 80px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
#fsf_location #fsf_location_h img {
    height: 100%;
}

#fsf_location .fsf_location_top { border-top: 1px solid #007AFF; }
#fsf_location .fsf_location_left {  border-left: 1px solid #007AFF; }
#fsf_location .fsf_location_top.fsf_location_left { border-top-left-radius:     5px; }
#fsf_location .fsf_location_top.fsf_location_right { border-top-right-radius:     5px; }
#fsf_location .fsf_location_bottom.fsf_location_left { border-bottom-left-radius:     5px; }
#fsf_location .fsf_location_bottom.fsf_location_right { border-bottom-right-radius:     5px; }

#fsf_location .fsf_location_top span { top: 6px; }
#fsf_location .fsf_location_middle span { top: 50%; transform: translateY(-50%); }
#fsf_location .fsf_location_bottom span { bottom: 6px; }
#fsf_location .fsf_location_left span { left: 6px; }
#fsf_location .fsf_location_center span { left: 50%; transform: translateX(-50%); }
#fsf_location .fsf_location_right span { right: 6px; }

/* end location house section */

@media only screen and (max-width: 650px) {
    .fs_form .fsf_cluster input,
    .fs_form .fsf_ib input,
    .fs_form .fsf_cluster select,
    .fs_form .fsf_ib select {
        font-size: 16px; /* needed to prevent auto zoom on ios */
        height: 35px;
        font-weight: 100;
    }

    .fs_form .fsf_cluster #email_suggestion {
        font-size: 14px;
    }

    .fs_form .fsf_cluster .fsfcm_ibl  {   border-bottom-left-radius:  5px;    }
    .fs_form .fsf_cluster .fsfcm_ibr  {   border-bottom-right-radius: 5px;    }
    .fs_form .fsf_cluster .fsfcm_itl  {   border-top-left-radius:     5px;    }
    .fs_form .fsf_cluster .fsfcm_itr  {   border-top-right-radius:    5px;    }
    .fs_form .fsf_cluster .fsfcm_nibl  {   border-bottom-left-radius:  0;    }
    .fs_form .fsf_cluster .fsfcm_nibr  {   border-bottom-right-radius: 0;    }
    .fs_form .fsf_cluster .fsfcm_nitl  {   border-top-left-radius:     0;    }
    .fs_form .fsf_cluster .fsfcm_nitr  {   border-top-right-radius:    0;    }

    .fs_form .fsf_cluster .fsfcm_show_top      {   border-top: 1px solid #ccc;         }
    .fs_form .fsf_cluster .fsfcm_hide_left     {   border-left: none;                  }
    .fs_form .fsf_cluster .fsfcm_hide_top      {   border-top: none;                   }
    .fs_form .fsf_cluster .fsfcm_show_left     {   border-left: 1px solid #ccc;        }

    .fs_form .fsf_cluster .ibm_15 { width: 15%; }
    .fs_form .fsf_cluster .ibm_20 { width: 20%; }
    .fs_form .fsf_cluster .ibm_25 { width: 25%; }
    .fs_form .fsf_cluster .ibm_30 { width: 30%; }
    .fs_form .fsf_cluster .ibm_33 { width: 33.33%; }
    .fs_form .fsf_cluster .ibm_40 { width: 40%; }
    .fs_form .fsf_cluster .ibm_45 { width: 45%; }
    .fs_form .fsf_cluster .ibm_50 { width: 50%; }
    .fs_form .fsf_cluster .ibm_60 { width: 60%; }
    .fs_form .fsf_cluster .ibm_67 { width: 66.67%; }
    .fs_form .fsf_cluster .ibm_75 { width: 75%; }
    .fs_form .fsf_cluster .ibm_80 { width: 80%; }
    .fs_form .fsf_cluster .ibm_100 { width: 100%; }

    .fs_form .fsf_ib.ibm_15 { width: 15%; }
    .fs_form .fsf_ib.ibm_20 { width: 20%; }
    .fs_form .fsf_ib.ibm_25 { width: 25%; }
    .fs_form .fsf_ib.ibm_30 { width: 30%; }
    .fs_form .fsf_ib.ibm_33 { width: 33.33%; }
    .fs_form .fsf_ib.ibm_40 { width: 40%; }
    .fs_form .fsf_ib.ibm_45 { width: 45%; }
    .fs_form .fsf_ib.ibm_50 { width: 50%; }
    .fs_form .fsf_ib.ibm_60 { width: 60%; }
    .fs_form .fsf_ib.ibm_67 { width: 66.67%; }
    .fs_form .fsf_ib.ibm_75 { width: 75%; }
    .fs_form .fsf_ib.ibm_80 { width: 80%; }
    .fs_form .fsf_ib.ibm_100 { width: 100%; }

    .fs_form .fsf_mhide { display: none; }
    .fs_form .fsf_mshow { display: inline; }
}

@media only screen and (max-width: 400px) {
    .fs_form .fsf_cluster .fsfcs_ibl  {   border-bottom-left-radius:  5px;    }
    .fs_form .fsf_cluster .fsfcs_ibr  {   border-bottom-right-radius: 5px;    }
    .fs_form .fsf_cluster .fsfcs_itl  {   border-top-left-radius:     5px;    }
    .fs_form .fsf_cluster .fsfcs_itr  {   border-top-right-radius:    5px;    }
    .fs_form .fsf_cluster .fsfcs_nibl  {   border-bottom-left-radius:  0;    }
    .fs_form .fsf_cluster .fsfcs_nibr  {   border-bottom-right-radius: 0;    }
    .fs_form .fsf_cluster .fsfcs_nitl  {   border-top-left-radius:     0;    }
    .fs_form .fsf_cluster .fsfcs_nitr  {   border-top-right-radius:    0;    }

    .fs_form .fsf_cluster .fsfcs_show_top      {   border-top: 1px solid #ccc;         }
    .fs_form .fsf_cluster .fsfcs_hide_left     {   border-left: none;                  }
    .fs_form .fsf_cluster .fsfcs_hide_top      {   border-top: none;                   }
    .fs_form .fsf_cluster .fsfcs_show_left     {   border-left: 1px solid #ccc;        }

    .fs_form .fsf_cluster .ibs_15 { width: 15%; }
    .fs_form .fsf_cluster .ibs_20 { width: 20%; }
    .fs_form .fsf_cluster .ibs_25 { width: 25%; }
    .fs_form .fsf_cluster .ibs_30 { width: 30%; }
    .fs_form .fsf_cluster .ibs_33 { width: 33.33%; }
    .fs_form .fsf_cluster .ibs_40 { width: 40%; }
    .fs_form .fsf_cluster .ibs_45 { width: 45%; }
    .fs_form .fsf_cluster .ibs_50 { width: 50%; }
    .fs_form .fsf_cluster .ibs_60 { width: 60%; }
    .fs_form .fsf_cluster .ibs_67 { width: 66.67%; }
    .fs_form .fsf_cluster .ibs_75 { width: 75%; }
    .fs_form .fsf_cluster .ibs_80 { width: 80%; }
    .fs_form .fsf_cluster .ibs_100 { width: 100%; }

    .fs_form .fsf_ib.ibs_15 { width: 15%; }
    .fs_form .fsf_ib.ibs_20 { width: 20%; }
    .fs_form .fsf_ib.ibs_25 { width: 25%; }
    .fs_form .fsf_ib.ibs_30 { width: 30%; }
    .fs_form .fsf_ib.ibs_33 { width: 33.33%; }
    .fs_form .fsf_ib.ibs_40 { width: 40%; }
    .fs_form .fsf_ib.ibs_45 { width: 45%; }
    .fs_form .fsf_ib.ibs_50 { width: 50%; }
    .fs_form .fsf_ib.ibs_60 { width: 60%; }
    .fs_form .fsf_ib.ibs_67 { width: 66.67%; }
    .fs_form .fsf_ib.ibs_75 { width: 75%; }
    .fs_form .fsf_ib.ibs_80 { width: 80%; }
    .fs_form .fsf_ib.ibs_100 { width: 100%; }

    .fs_form .fsf_shide { display: none; }
    .fs_form .fsf_sshow { display: show; }
    .fsf_option {
        font-size: 14px;
    }

    #fsf_location .fsf_location_top span { top: 8px; }
    #fsf_location .fsf_location_bottom span { bottom: 8px; }
    #fsf_location .fsf_location_left span { left: 8px; }
    #fsf_location .fsf_location_right span { right: 8px; }
}
