/*	CSS for customized radio buttons and check boxes */

/* page styles */

fieldset { 
	padding: 0 15px 3em;
	border: 0;
}

legend {
	font-size: 1.4em;
	font-weight: bold;
	padding: .2em 5px;
}
	
/*	wrapper divs */
.custom-checkbox, .custom-radio { position: relative; }
	
/* input, label positioning */
/* wrapper divs */
.custom-checkbox, .custom-radio { 
	position: relative;
	color: black;
	font-size: 13px;
	font-family: Helvetica; 
	text-transform: none;
}
	
/* input, label positioning */
.custom-checkbox input, 
.custom-radio input {
	position: absolute;
	left: -9999999px;
	top: 3px;
	margin: 0;
	z-index: 0;
	
}

.custom-checkbox label, 
.custom-radio label {
	display: inline-block;
	position: relative;
	z-index: 1;
	padding-right: 1em;
	line-height: 1.4em;
	padding: .2em 0 0 30px;
	margin: 0 0 .3em;
	cursor: pointer;
}
	
/* states */
.custom-checkbox label { background: url(../images/checkbox.png) no-repeat; }

.custom-radio label { background: url(../images/radiobutton.gif) no-repeat; }

.custom-checkbox label, .custom-radio label {
	background-position: -10px -14px;
}

.custom-checkbox label.hover,
.custom-checkbox label.focus,
.custom-radio label.hover,
.custom-radio label.focus {
	background-position: -10px -114px;
}

.custom-checkbox label.checked, 
.custom-radio label.checked {
	background-position: -10px -214px;
}

.custom-checkbox label.checkedHover, 
.custom-checkbox label.checkedFocus {
	background-position: -10px -314px;
}

.custom-checkbox label.focus,
.custom-radio label.focus {
    outline: 1px dotted #888;
}
/* append: jquery-custom-checkbox.adhoc.css */
.custom-checkbox,
.custom-radio {
    font-size: inherit;
}

.custom-checkbox label {
    background-image: none;

    .custom-checkbox-indicator {
        width: 1.25em;
        height: 1.25em;
        border-radius: 2px;
        border: 1px solid #161615;
        position: absolute;
        left: 0;
        display: flex;
        place-content: center;
        place-items: center;
    }

    &:is(:hover,:focus),
    input:focus ~ & {
        .custom-checkbox-indicator {
            background: var(--default-button-color-bg);
            border-color: var(--default-button-color-bg);
            color: var(--default-button-color-text);
        }
    }

    &.checked .custom-checkbox-indicator {
        background: #161615;
        border-color: #161615;
        color: #fff;

        &::before {
            content: "✓";
        }
    }
}