/* MARKETO RESET STYLES.
* Get rid of those god-awful stylings created by a bunch of back-end engineers
* who don't know anything about front-end development. */
.mktoOffset,
.mktoGutter,
.mktoClear,
.mktoAsterix {
    display: none !important;
}

/* MARKETO FULL-WIDTH.
* This makes the form fit whatever contains it. */
form,
.mktoFieldDescriptor,
.mktoFieldWrap,
input,
.mktoForm select.mktoField,
.mktoForm .mktoRadioList,
.mktoForm .mktoCheckboxList {
    width: 100% !important;
}

/* MARKETO MOBILE FORM RESET.
* These are meant to make forms 'responsive,' but it's a lot of unnecessary
* styling that breaks our more robust styling. */
.mktoForm {
    padding: 0px !important;
    font-family: Verdana, system-ui, sans-serif !important;
}

.mktoForm .mktoFormRow:nth-child(-n + 4) {
    max-width: 800px !important;
    width: 100% !important;
    display: flex !important;
}

.mktoForm fieldset .mktoFormRow:nth-child(-n + 4) {
    width: 100% !important;
    max-width: none !important;
}
.mktoForm .mktoFormCol {
    width: 100% !important;
    min-height: auto !important;
    margin-bottom: 0 !important;
}

/* special buttons container */
div.mktoFormCol
    > div.mktoFieldWrap
    > div.mktoHtmlText.mktoHasWidth
    > .row
    > .col-md-6:first-child {
    padding-right: 15px;
}

/* one item */
.mktoFormCol:first-child:nth-last-child(2),
.mktoFormCol:first-child:nth-last-child(2) ~ .mktoFormCol {
    width: 100%;
}

/* two items */
.mktoFormCol:first-child:nth-last-child(3),
.mktoFormCol:first-child:nth-last-child(3) ~ .mktoFormCol {
    width: 50% !important;
    padding-right: 2%;
}

.mktoFormCol:first-child:nth-last-child(3) ~ .mktoFormCol {
    padding-left: 2%;
    padding-right: 0;
}

/* three items */
.mktoFormCol:first-child:nth-last-child(4),
.mktoFormCol:first-child:nth-last-child(4) ~ .mktoFormCol {
    width: 32.3333% !important;
    padding-right: 1%;
}

/* four items */
.mktoFormCol:first-child:nth-last-child(5),
.mktoFormCol:first-child:nth-last-child(5) ~ .mktoFormCol {
    width: 24% !important;
    padding-right: 1%;
}

.mktoForm fieldset {
    padding: 0px !important;
    margin: 0 !important;
    border: 0;
}

div.mktoHtmlText {
    width: 100% !important;
}

.mktoFieldWrap a,
.mktoFieldWrap blockquote,
.mktoFieldWrap div,
.mktoFieldWrap p,
.mktoFieldWrap span {
    font-size: 20px !important;
    font-weight: 300;
    line-height: 27px !important;
}

.mktoFieldWrap span.mktoErrorDetail,
.mktoForm .mktoError .mktoErrorMsg {
    font-size: 15px !important;
    line-height: 20px !important;
}

.mktoForm input[type="url"],
.mktoForm input[type="text"],
.mktoForm input[type="date"],
.mktoForm input[type="tel"],
.mktoForm input[type="email"],
.mktoForm input[type="number"],
.mktoForm textarea.mktoField,
.mktoForm select.mktoField {
    height: inherit !important;
    line-height: inherit !important;
    font-size: inherit;
}

.mktoForm input[type="text"],
.mktoForm input[type="email"],
.mktoForm input[type="number"],
.mktoForm select.mktoField,
.mktoForm input[type="url"],
.mktoForm input[type="text"],
.mktoForm input[type="date"],
.mktoForm input[type="tel"],
.mktoForm input[type="email"],
.mktoForm input[type="number"],
.mktoForm textarea.mktoField,
.mktoForm select.mktoField {
    box-shadow: none !important;
    font-family: Verdana, system-ui, sans-serif !important;
    display: block;
    width: 100% !important;
    min-height: 48px !important;
    padding: 6px 12px !important;
    -webkit-appearance: none;
    border-radius: 0;
    border: 1px solid #0A187B !important;
    background-color: #fff !important;
}

.mktoForm select.mktoField,
.mktoForm textarea.mktoField {
    box-shadow: none !important;
    font-family: Verdana, system-ui, sans-serif !important;
    display: block;
    width: 100% !important;
    padding: 6px 12px !important;
    min-height: auto !important;
    -webkit-appearance: none;
    border-radius: 0;
    border: 1px solid #0A187B;
    background-color: #fff !important;
}
.mktoForm textarea.mktoField {
    min-height: 110px !important;
}

/* Style dropdown arrow */
.mktoForm select.mktoField {
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: "";
    padding: 0.2em 22px 0.2em 15px !important;
    background: #fff
        url(http://info.softwareone.com/rs/854-YZJ-461/images/red-arrow-down.png)
        95% 50% no-repeat !important;
    height: 34px !important;
    color: #000 !important;
    /*color:#373a40;*/
}

.mktoField:focus,
.mktoField:hover {
    border-color: #C52334 !important;
}

div.mktoHtmlText h3 {
    margin-bottom: 20px;
}

/* MARKETO LABEL*/
label {
    color: #313d4e !important;
    display: block !important;
}

.mktoForm .mktoLabel {
    float: none !important;
    line-height: 1.2em;
    padding-top: 1rem !important;
    width: 100% !important;
    margin-bottom: 5px !important;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 700 !important;
}

.mktoForm .mktoRadioList > input,
.mktoCheckboxList input,
.mktoForm input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    cursor: pointer;
}

.mktoForm .mktoRadioList input,
.mktoCheckboxList input,
.mktoCheckboxList label,
.mktoRadioList label {
    display: inline-block;
    vertical-align: middle;
    margin: 5px;
    cursor: pointer;
}

.mktoCheckboxList label,
.mktoRadioList label {
    position: relative;
}
.mktoForm input#Preferences + label:before {
    display: none !important;
}
/* Checkbox style before it's checked */
.mktoCheckboxList input + label:before,
.mktoForm input[type="checkbox"] + label:before,
.mktoForm .mktoRadioList input + label:before,
.mktoForm input[type="radio"] + label:before {
    content: "";
    background: #fff !important;
    border: 1px solid #0A187B !important;
    display: inline-block !important;
    vertical-align: middle !important;
    width: 20px !important;
    height: 20px !important;
    padding: 0px !important;
    margin-right: 10px !important;
    text-align: center !important;
    position: absolute !important;
    left: 0 !important;
    box-shadow: none !important;
    line-height: inherit !important;
    margin-left: 0 !important;
    margin-top: 2px !important;
}
.mktoForm input[type="checkbox"] + label[for="UnsubscribeBtn1"],
.mktoForm input[type="checkbox"] + label[for="UnsubscribeBtn2"] {
    display: inline-block !important;
    text-decoration: underline;
    color: #C52334 !important;
    cursor: pointer;
}
.mktoForm input[type="checkbox"] + label[for="UnsubscribeBtn1"]:before,
.mktoForm input[type="checkbox"] + label[for="UnsubscribeBtn2"]:before {
    display: none !important;
}

/* Checkbox style after it's checked */
.mktoCheckboxList input:checked + label:before,
.mktoForm input[type="checkbox"]:checked + label:before,
.mktoRadioList input:checked + label:before,
.mktoForm input[type="radio"]:checked + label:before {
    background: url(https://pages.connect.massgeneral.org/rs/329-ZEM-341/images/homebase_checkbox.png) !important;
    background-size: cover !important;
    border-color: #313d4e !important;
}

/* Radio button and or Checkbox label style*/
body .mktoForm .mktoCheckboxList > label,
body .mktoForm .mktoRadioList > label {
    margin-left: 0;
    color: #313d4e !important;
    font-family: Verdana, system-ui, sans-serif !important;
    font-size: 18px;
    font-weight: 700;
    line-height: 20px;
    padding-left: 30px;
}
body .mktoForm .mktoCheckboxList > label h4,
body .mktoForm .mktoRadioList > label h4 {
    font-size: 18px;
    line-height: 20px;
    font-weight: 700;
    user-select: none;
}
body .mktoForm .mktoCheckboxList > label p,
body .mktoForm .mktoRadioList > label p {
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: 300;
    margin-top: 5px;
}
/* Radio button style before it's checked */
input[name="btn"] {
    display: none !important;
}

/* Radio button and or Checkbox label style*/
input[name="btn"] + label {
    text-align: center;
    display: inline-block !important;
    font-weight: 300 !important;
    font-size: 20px !important;
    line-height: 28px !important;
    outline: none;
    margin: 0;
    border-radius: 0px;
    cursor: pointer;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    text-decoration: none;
    width: 385px !important;
    height: 70px;
    float: left;
}
input[name="btn"] + label:first-of-type {
    background: transparent;
    color: #106a8e;
    padding: 20px 18px;
    margin-right: 30px;
}

input[name="btn"] + label:last-of-type {
    background: transparent;
    color: #106a8e;
    padding: 20px 18px;
}

input[name="btn"]:checked + label,
input[name="btn"] + label:hover {
    color: #fff !important;
    background-color: #C52334;
    padding: 20px 18px;
}

input:focus-visible {
    outline: 1px solid #0A187B !important;
}

.mktoForm .mktoRequiredField label.mktoLabel {
    font-family: Verdana, system-ui, sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.mktoForm .mktoRequiredField label.mktoLabel:after {
    content: " *";
    display: inline-block;
    color: #313d4e !important;
}

.mktoForm .mktoCheckboxList {
    padding: 0 !important;
}

@media only screen and (max-width: 480px) {
    .mktoForm input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="submit"],
    .mktoButton,
    .mktoForm select.mktoField,
    .mktoForm textarea.mktoField {
        margin-bottom: 20px !important;
    }
}

.mktoForm input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
.mktoForm select.mktoField,
.mktoForm textarea.mktoField {
    border: 1px solid #ffffff;
    background-color: #fff !important;
    color: #313d4e !important;
    font-size: 1rem !important;
    font-weight: 400;
}

.mktoForm input[type="tel"],
.mktoForm input#Company {
    width: 100% !important;
}

.mktoFieldDescriptor {
    margin: 0 0 10px !important;
}

.mktoButtonRow,
.mktoButtonWrap {
    display: inline-block;
    position: inherit !important;
    margin: 45px 0 10px 0 !important;
    width: 100% !important;
}

.mktoButtonWrap {
    margin: 0 !important;
}

input[type="submit"],
.mktoButton,
.btn-solid a {
    box-shadow: none !important;
    border: 0 !important;
    background: #0A187B !important;
    color: #fff !important;
    font-family: Verdana, system-ui, sans-serif !important;
    font-size: 20px !important;
    font-weight: 300;
    line-height: 32px;
    padding: 20px 15px !important;
    text-align: center;
    text-decoration: none;
    text-shadow: none !important;
    cursor: pointer;
    display: block !important;
    width: 336px !important;
    height: 70px;
    margin-right: auto !important;
}
input[type="submit"]:hover,
.mktoButton:hover,
.btn-solid a:hover {
    background: #C52334 !important;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
    transition-duration: 150ms !important;
}

*::-webkit-input-placeholder {
    color: #313d4e;
}

*::-moz-placeholder {
    color: #313d4e;
}

*:-ms-input-placeholder {
    color: #313d4e;
}

*::placeholder {
    color: #313d4e;
}

/* Hide legend */
.mktoForm fieldset legend {
    display: none !important;
}

.mktoForm .mktoError {
    left: 0 !important;
}

@media only screen and (max-width: 768px) {
    input[name="btn"] + label,
    input[type="submit"],
    .mktoButton {
        width: 100% !important;
    }
    input[name="btn"] + label:first-of-type {
        margin-right: 0px;
        margin-bottom: 30px;
    }

    .mktoForm fieldset legend {
        display: none;
    }
    .mktoForm fieldset {
        padding: 0px !important;
        margin: 30px 0 0 0 !important;
        border: 0;
    }

    /* one item */
    .mktoFormCol:first-child:nth-last-child(2),
    .mktoFormCol:first-child:nth-last-child(2) ~ .mktoFormCol {
        width: 100% !important;
    }

    /* two items */
    .mktoFormCol:first-child:nth-last-child(3),
    .mktoFormCol:first-child:nth-last-child(3) ~ .mktoFormCol {
        width: 100% !important;
        padding-right: 0;
        padding-left: 0;
    }

    /* three items */
    .mktoFormCol:first-child:nth-last-child(4),
    .mktoFormCol:first-child:nth-last-child(4) ~ .mktoFormCol {
        width: 100% !important;
        padding-right: 0;
    }

    /* four items */
    .mktoFormCol:first-child:nth-last-child(5),
    .mktoFormCol:first-child:nth-last-child(5) ~ .mktoFormCol {
        width: 100% !important;
        padding-right: 0;
    }
    .mktoForm .mktoFormRow:nth-child(-n + 4) {
      display: block !important;
  }
}

@media only screen and (max-width: 479px) {
    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
        width: 100% !important;
    }
}

@media only screen and (max-width: 480px),
    only screen and (max-device-width: 480px),
    only screen and (max-device-height: 480px) {
    .mktoForm h3,
    .mktoForm hr,
    .mktoForm h4, .mktoForm a {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
        padding: 0px !important;
    }
    .mktoForm .mktoCheckboxList {
        padding: 0 !important;
        float: none !important;
    }

    .mktoForm .mktoFormCol {
        min-height: unset !important;
    }
}

/* Custom HB CSS */

button#notYou {
    border: none;
    background-color: transparent;
    cursor: pointer;
    text-decoration: underline;
    color: #7ea3cc;
    cursor: pointer;
    font-weight: 400;
    padding: 0;
    font-size: 1.25rem;
    margin-bottom: .5rem;
}
button#notYou:hover {
    color: #7092ba;
}
.mktoForm #formTitle h2 {
    padding: 0;
    padding-top: 3rem;
    padding-bottom: 1.25rem;
    font-weight: 600;
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    color: #C52334;
}
.mktoForm #formTitle p {
    color: #0A187B;
}
.mktoForm .formHR {
    margin-top: 2rem;
}
.mktoForm .unsubParagraph {
    padding-top: 1.5rem;
}
.mktoForm .unsubLink {
    padding-top: .5rem;
}
#LblunsubscribedfromHomeBase {
    display: none !important;
}
.mktoForm label[for='Unsubscribed'] {
    display: none !important;
}