.frame-type-form_formframework {
    padding: 50px 25px;
    padding-left: 0;
    padding-top: 0;
}

.frame-type-form_formframework form {
    max-width: 600px!important;
}

.frame-type-form_formframework h2 {
    display: none!important;
}

.frame-type-form_formframework  .control-label {
    display: none;
}

.frame-type-form_formframework  input[type="text"],
.frame-type-form_formframework  input[type="tel"] {
    border: 0;
    background-color: var(--grey);
    border-radius: 20px;
    padding: 10px 20px;
    /* remove default styling */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: var(--blue);
}

.frame-type-form_formframework  .form-label {
  display: none;
}

.frame-type-form_formframework  input[type="text"]:focus,
.frame-type-form_formframework  input[type="tel"]:focus {
    box-shadow: none;
    /*background-color: #d9f0f2;*/
    background-color: var(--selected);
}

.frame-type-form_formframework  select {
    border: 0;
    border-radius: 20px;
    padding: 7.5px 20px;
    height: 40px;
    background-color: var(--grey);
    color: var(--blue);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
    linear-gradient(45deg, transparent 50%, white 50%),
    linear-gradient(135deg, white 50%, transparent 50%),
    linear-gradient(to right, var(--lightblue), var(--lightblue));
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    100% 0;
  background-size:
    5px 5px,
    5px 5px,
    2.5em 2.5em;
  background-repeat: no-repeat;
  cursor: pointer;
}

.frame-type-form_formframework  select option {
    background-color: var(--unselected);
    border: none;
}

.frame-type-form_formframework  select:focus {
    box-shadow: none;
    background-color: var(--selected);
    color: var(--blue);
}


.frame-type-form_formframework .btn.btn-primary,
.frame-type-form_formframework .btn.btn-primary:focus,
.frame-type-form_formframework .btn.btn-primary:active {
    background-color: var(--purple) !important;
    color: white;
    font-weight: 600;
    border: none;
    box-shadow: none;
    border-radius: 20px;
    width: 100%;
    height: 40px;
}

.frame-type-form_formframework div.btn-group,
.frame-type-form_formframework span.btn-group,
.frame-type-form_formframework .btn.btn-primary {
    width: 100%;
}

.frame-type-form_formframework .btn.btn-primary {
    border-style: solid;
    border-color: var(--purple);
}

.frame-type-form_formframework .btn.btn-primary:hover {
    /*background-color: #0f3d43!important;*/

    background-color: transparent !important;
    color: var(--purple);
}

.frame-type-form_formframework .form-check label.form-check-label {
    display: flex;
}

/* create custom checkbox with :before */
.frame-type-form_formframework  input[type="checkbox"] {
    display: block;
    height: 25px;
    background-color: var(--grey);
    border-radius: 20px;
}

.frame-type-form_formframework  span:not(.required) {
    display: block;
    margin-left: 15px;
}

.frame-type-form_formframework  input[type="checkbox"] + label {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
}

.frame-type-form_formframework  input[type="checkbox"] + span {
    cursor: pointer;
}

.frame-type-form_formframework  input[type="checkbox"] + span:before {
    content: "";
    position: absolute;
    left: 16px;
    top: 2px;
    width: 20px;
    height: 20px;
    border: 3px solid var(--purple);
    border-radius: 50%;
    background-color: white;
}

.frame-type-form_formframework  input[type="checkbox"]:checked + span:before {
    content: "";
    position: absolute;
    left: 16px;
    top: 2px;
    width: 20px;
    height: 20px;
    border: 3px solid var(--purple);
    border-radius: 50%;
    background-color: var(--purple);
}

.frame-type-form_formframework span.error {
    color: red!important;
}

@media (max-width: 568px) {
    #simplecontactform-208-event-id,
    #simplecontactform-208-needs-hotelroom,
    .frame-type-form_formframework input[type="text"], 
    .frame-type-form_formframework input[type="tel"],
    .frame-type-form_formframework .form-check label.form-check-label {
        font-size: 12px;
    }

    .frame-type-form_formframework select {
        background-position: calc(100% - 20px) calc(1em + 5px), calc(100% - 15px) calc(1em + 5px), 100% 0;
        background-size: 5px 5px, 5px 5px, 3.0em 3.5em;
    }
}