#gform_page_41_1 .gform_page_fields,
.fh-md-width-form .gform_page_fields,
.fh-md-width-heading {
    width: 80%;
    margin: 0 auto;
}

/* Gravity Forms — medium-width centred input */
.fh-full-page-form_wrapper .fh-input-md-width {
    width: 70%;
    margin: 0 auto
}

.fh-full-page-form_wrapper .gform-body.gform_body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    /*
    * To center the body:
    * Full page height - narbar height - footer height - step height - self height
    */
    min-height: calc(100vh - 75px - 116px - 34px - 200px);
}

#gform_wrapper_41 .gform_required_legend,
.fh-full-page-form_wrapper .gform_required_legend {
    display: none !important;
}
.gform_wrapper#gform_wrapper_41 h1, .gform_wrapper h2, .gform_wrapper#gform_wrapper_41 h3 {
    font-size: 37px;
    line-height: 1.5;
    border: none;
}

.form-link-small{
    text-transform: uppercase;
    text-decoration: underline;
    text-align: center;
    font-family: 'Circular', serif;
    font-weight: unset;
    font-size: 16px;
    display: flex;
    justify-content: center;
}

#gform_41 input[type="text"],
#gform_41 input[type="email"],
#gform_41 input[type="tel"],
#gform_41 input[type="url"],
#gform_41 input[type="number"],
#gform_41 input[type="password"],
.gform_wrapper.gravity-theme.fh-full-page-form_wrapper input[type="text"],
.gform_wrapper.gravity-theme.fh-full-page-form_wrapper input[type="email"],
.gform_wrapper.gravity-theme.fh-full-page-form_wrapper input[type="tel"],
.gform_wrapper.gravity-theme.fh-full-page-form_wrapper input[type="url"],
.gform_wrapper.gravity-theme.fh-full-page-form_wrapper input[type="number"],
.gform_wrapper.gravity-theme.fh-full-page-form_wrapper input[type="password"]{
    width: 100%;
    height: 50px;
    padding: 8px 0;
    border: 0;
    border-bottom: 1px solid #111;
    font-size: 18px;
}

.gform_wrapper.gravity-theme#gform_wrapper_41 .gfield_label,
.gform_wrapper.gravity-theme.fh-full-page-form_wrapper .gfield_label{
    font-size: 20px;
    font-weight: normal;
    color: black;
    border: none;
}

#gform_wrapper_41 .ginput_container.ginput_container_radio,
.fh-full-page-form_wrapper .ginput_container.ginput_container_radio {
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Yes / No choice button layout */
.fh-choice-buttons .gfield_radio {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 30%;
}

/* Three-column variation of the existing choice buttons */
.fh-full-page-form_wrapper
.fh-choice-buttons.fh-choice-grid
.gfield_radio {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 70%;
}

/* Visually hide the actual radio input */
.fh-choice-buttons input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

/* Button appearance */
.gform_wrapper.gravity-theme
.fh-choice-buttons
.gfield-choice-input + label {
    display: flex !important;
    align-items: center;
    justify-content: center;

    padding: 15px 0;
    max-width: unset;

    border: 1px solid black;
    background: white;
    color: black;

    font-size: 14px;
    font-family: "Circular", serif;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;

    cursor: pointer;
    transition:
            background-color 0.3s ease,
            border-color 0.3s ease,
            color 0.3s ease;
}

/* Hover and checked state */
.gform_wrapper.gravity-theme
.fh-choice-buttons
.gchoice
.gfield-choice-input + label:hover,
.gform_wrapper.gravity-theme
.fh-choice-buttons
.gchoice
.gfield-choice-input:checked + label  {
    background: black;
    color: white;
}
.fh-full-page-form_wrapper .ginput_container.ginput_container_checkbox{
    display: flex;
    justify-content: center;
    align-items: center;
}

/* =========================================================
   Confirmation Styling
   ========================================================= */
#gform_confirmation_wrapper_41,
.gform_confirmation_wrapper.fh-full-page-form {
    min-height: calc(100vh - 75px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 65%;
    margin: 0 auto;
}

#gform_confirmation_message_41 {
    width: 100%;
}

.fh-rating-confirmation,
.fh-confirmation {
    width: 100%;
    text-align: center;
}

.fh-rating-confirmation__title,
.fh-confirmation__title {
    margin: 0 0 32px;
    font-size: 32px;
}
.fh-rating-confirmation__text,
.fh-confirmation__text {
    margin: 0 0 60px;
    font-size: 20px;
    line-height: normal;
}

.fh-rating-confirmation__links {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.fh-rating-confirmation__link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 300px;

    padding: 10px 20px;

    border: 1px solid black;
    background: white;
    color: black;

    font-size: 12px;
    font-family: "Circular", serif;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;

    cursor: pointer;
    transition:
            background-color 0.3s ease,
            border-color 0.3s ease,
            color 0.3s ease;
}

/* Make the anchor cover the entire button */
.fh-rating-confirmation__link a {
    position: absolute;
    inset: 0;
    z-index: 1;

    display: flex;
    align-items: center;

    /*
     * Extra right padding prevents the text from
     * overlapping the platform icon.
     */
    padding: 10px 54px 10px 20px;
    box-sizing: border-box;

    color: #000;
    font-family: "Circular", serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
}

/* Keep the icon visually on the right */
.fh-rating-confirmation__platform-icon {
    position: relative;
    z-index: 2;

    display: block;
    width: 21px;
    height: 21px;
    margin-left: auto;
    flex: 0 0 auto;
    object-fit: contain;

    /*
     * Allows clicks on the icon to pass through
     * to the full-width anchor behind it.
     */
    pointer-events: none;
}

.fh-rating-confirmation__platform-icon {
    display: block;
    width: 21px;
    height: 21px;
    flex: 0 0 auto;
    object-fit: contain;
}

.fh-rating-confirmation__success {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 84px;
    font-size: 16px;
}

.fh-rating-confirmation__success-icon {
    display: block;
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
}

.fh-rating-confirmation__link:hover {
    background: #000;
    color: white;
}
.fh-rating-confirmation__link:hover a{
    color: white;
}

/* Keep selected radio styling on every device */
.gform_wrapper.gravity-theme
.fh-choice-buttons
.gchoice
.gfield-choice-input:checked + label {
    background: black;
    color: white;
}

@media (max-width: 1260px){
    .fh-choice-buttons .gfield_radio,
    .fh-full-page-form_wrapper .fh-choice-buttons.fh-choice-grid .gfield_radio{
        width: 100%
    }
    .fh-full-page-form_wrapper .fh-input-md-width {
        width: 100%;
    }
    .fh-md-width-form .gform_page_fields,
    .fh-md-width-heading
    {
        width: 100%;
    }
}
@media (max-width: 768px){
    #gform_page_41_1 .gform_page_fields
    {
        width: 100%;
    }
    .fh-full-page-form_wrapper .gform-body.gform_body{
        padding-bottom: 150px;
    }
    .fh-full-page-form_wrapper .fh-choice-buttons.fh-choice-grid .gfield_radio{
        grid-template-columns: 1fr;
    }
    .form-link-small{
        justify-content: flex-start;
    }
    .fh-choice-buttons .gfield_radio{
        width: 100%;
    }
    .gform_wrapper.gravity-theme .fh-choice-buttons .gfield-choice-input + label{
        max-width: unset;
    }
    #gform_wrapper_41 .ginput_container.ginput_container_radio{
        justify-content: flex-start;
    }
    #gform_wrapper_41
    .fh-star-rating
    .gfield-choice-input + label::before{
        font-size: 60px;
    }
    #gform_confirmation_wrapper_41,
    .gform_confirmation_wrapper.fh-full-page-form{
        width: 100%;
    }
    .fh-rating-confirmation{
        padding: 0 16px;
    }
    .fh-confirmation{
        padding: 0 16px;
    }
    .fh-rating-confirmation__links{
        flex-direction: column;
    }
    .fh-rating-confirmation__link{
        width: 100%;
    }
    .fh-rating-confirmation__title,
    .fh-rating-confirmation__text,
    .fh-rating-confirmation__subtitle,
    .fh-confirmation__title,
    .fh-confirmation__text,
    .fh-confirmation__subtitle {
        text-align: left;
    }
    .fh-rating-confirmation__success{
        justify-content: flex-start;
    }
}

/* Only enable hover effects on devices with a real mouse/pointer */
@media (hover: hover) and (pointer: fine) {

    .gform_wrapper.gravity-theme
    .fh-choice-buttons
    .gchoice
    .gfield-choice-input + label:hover {
        background: black;
        color: white;
    }

    #gform_wrapper_41
    .fh-star-rating
    .gfield_radio:hover
    > .gchoice
    > label::before {
        content: "☆" !important;
    }

    #gform_wrapper_41
    .fh-star-rating
    .gfield_radio
    > .gchoice:hover
    > label::before,
    #gform_wrapper_41
    .fh-star-rating
    .gfield_radio
    > .gchoice:hover
    ~ .gchoice
    > label::before {
        content: "★" !important;
    }

    .fh-rating-confirmation__link:hover {
        background: #000;
        color: #fff;
    }

    .fh-rating-confirmation__link:hover a {
        color: #fff;
    }
}