#svelte-forms .form-container * {
    box-sizing: border-box;

    font-family: Verdana, Geneva, Tahoma, sans-serif;
    font-size: 16px;
    color: black;
}
#svelte-forms *:focus {
    outline-color: lightskyblue !important; outline: 0.25em solid; 
}
#svelte-forms .form-container h2 {
    font-size: 1.5em;
    margin: 0;
}

#svelte-forms .form-container,
form {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;

    gap: 1.5em;
}
#svelte-forms .form-container {
    width: 60%;
    margin: 2em;
    padding: 3em;
    border-radius: 1em;
    background-color: lavender;
}
#svelte-forms .form-block {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.25em;
}
#svelte-forms input,
#svelte-forms textarea,
#svelte-forms .dropdown, 
#svelte-forms .checkbox {
    width: 100%;
    padding: 1em;
    background-color: white;
    border: solid 0.25em darkslategray;
    border-radius: 0.25em;
}
#svelte-forms textarea {
    height: 20em;
    overflow-y: scroll;
    resize: none;
}
#svelte-forms .dropdown-container { border-radius: 0.25em; }
#svelte-forms .dropdown, 
#svelte-forms .checkbox,
#svelte-forms .option {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
#svelte-forms .option { padding: .5em 1.25em; }
#svelte-forms .option:hover { background-color: lightgray; }
#svelte-forms .option.active { outline-color: lightskyblue !important; outline: 0.25em solid; }
#svelte-forms .option-container {
    position: absolute;
    width: 100%;
    background-color: lavenderblush;
    z-index: 1;
}
#svelte-forms .dropdown-container .option-empty:not(.redact) { color: grey; }
#svelte-forms .form-group {
    width: 100%;
}
#svelte-forms .checkbox.redact::after {    
    content: '[redacted]';
    color: darkblue;    
    font-weight: bold;
    text-align: center; 
    
    position: absolute;
    background-color: orange;
    padding: 1em;
    width: 100%;
    height: 100%;
    left: 0;
    box-sizing: border-box;
    
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
#svelte-forms .checkbox.redact:hover::after, 
#svelte-forms .checkbox.redact:focus::after 
{ display: none; }

/* DEBUG VIEW */
#svelte-forms details {
    margin-top: 3em;
}
#svelte-forms summary {
    padding: 1em 0.5em;
    background-color: orange;
    font-family: monospace !important;
    font-weight: bold;
}
#svelte-forms details div {
    padding: 2em;
}
#svelte-forms details div > div {
    padding: 1em;
    background-color: beige;
}
#svelte-forms code {
    width: 100%;
    font-family: monospace !important;

    white-space: pre-wrap; /* Since CSS 2.1 */
    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
    white-space: -pre-wrap; /* Opera 4-6 */
    white-space: -o-pre-wrap; /* Opera 7 */
    word-wrap: break-word; /* Internet Explorer 5.5+ */
}


.form-group.warn { 
    outline-color: red !important; outline: 0.25em solid; 
} 
.form-group.warn span, .form-group.warn span *,
.form-block.warn label, .form-block.warn label * {
	color: red !important;
}
.form-block.warn input, .form-block.warn textarea, .form-block.warn .dropdown {
	border-color: red !important;
}

.condition-true {
	color: green !important;
}
.condition-false {
	color: red !important;
}

.container-preview {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1em;
}
#svelte-forms .preview {
    width: 8em;
    height: 8em;

	gap: 0.25em;
    padding: 1em;
    
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    
    background-color: darkblue;
    border-radius: 10px;
}
#svelte-forms .preview * {
	color: orange;
}
#svelte-forms .preview span {
	font-size: 4em !important;
}
#svelte-forms .preview p {
	font-size: 1em;
    white-space: nowrap;
    width: 5em;
    text-overflow: ellipsis;
    overflow: hidden;
    display: inline-block;
}
#svelte-forms .container-preview.redact::after {    
    content: '[redacted]';
    color: darkblue;    
    font-weight: bold;
    text-align: center;
    
    position: absolute;
    background-color: orange;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 1em solid darkblue;
    
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#svelte-forms .container-preview { overflow: hidden; }
#svelte-forms .container-preview:hover::after { display: none; }
.material-icons {
    font-family:'Material Icons' !important;
    font-size: 24px !important; 
}


@media only screen and (max-width: 400px) {
    div.form-container {
        width: 95% !important;
        border-radius: 0.5em !important;
        padding: 1em !important;
    }
}

@media only screen and (min-width: 400px) and (max-width: 600px) {
    div.form-container {
        width: 85% !important;
        border-radius: 0.5em !important;
    }
}