/*
 * Shared custom selection-control styling.
 *
 * Checkboxes are wrapped in <div class="checkbox-wrapper-61"> by CheckboxWrapperTagHelper
 * and radio buttons in <div class="radio-wrapper-61"> by RadioWrapperTagHelper. Both hide
 * the native input and reveal an animated SVG tick via the adjacent label; the only visual
 * difference is the outline (a square for checkboxes, a circle for radios). These rules are
 * loaded globally from _Layout and _AuthLayout so the style is consistent across the portal.
 */

.checkbox-wrapper-61 input[type="checkbox"] {
    visibility: hidden;
    display: none;
}

.checkbox-wrapper-61 *,
.checkbox-wrapper-61 ::after,
.checkbox-wrapper-61 ::before {
    box-sizing: border-box;
}

.checkbox-wrapper-61 {
    position: relative;
    display: block;
    overflow: hidden;
}

.checkbox-wrapper-61 .check {
    width: 50px;
    height: 50px;
    position: absolute;
    opacity: 0;
}

.checkbox-wrapper-61 .label svg {
    vertical-align: middle;
}

.checkbox-wrapper-61 .path1 {
    stroke-dasharray: 400;
    stroke-dashoffset: 400;
    transition: .5s stroke-dashoffset;
    opacity: 0;
}

.checkbox-wrapper-61 .check:checked + label svg g path {
    stroke-dashoffset: 0;
    opacity: 1;
}

/* Radio buttons share the same animated tick; the outline is a circle instead of a square. */

.radio-wrapper-61 input[type="radio"] {
    visibility: hidden;
    display: none;
}

.radio-wrapper-61 *,
.radio-wrapper-61 ::after,
.radio-wrapper-61 ::before {
    box-sizing: border-box;
}

.radio-wrapper-61 {
    position: relative;
    display: block;
    overflow: hidden;
}

.radio-wrapper-61 .check {
    width: 50px;
    height: 50px;
    position: absolute;
    opacity: 0;
}

.radio-wrapper-61 .label svg {
    vertical-align: middle;
}

.radio-wrapper-61 .path1 {
    stroke-dasharray: 400;
    stroke-dashoffset: 400;
    transition: .5s stroke-dashoffset;
    opacity: 0;
}

.radio-wrapper-61 .check:checked + label svg g path {
    stroke-dashoffset: 0;
    opacity: 1;
}
