.skyline-form {
    padding: 20px;
    width: calc(100% - 40px);
}

.skyline-form input,
.skyline-form select,
/* .skyline-form .group, */
.skyline-form textarea {
    background-color: #f7f6f4;
    color: #555555;
    border: 0;
    padding: 18px 20px;
    width: calc(100% - 40px);
    height: 60px;
    margin-top: 5px;
    font-size: 1.125rem;
}

.skyline-form select[multiple] {
	height: auto;
	padding: 0 20px 20px;
	background-image: none;
}

.skyline-form select option.field {
	margin: 0;
}

.skyline-form select[multiple] option.field:not([disabled]):before {
    content: '';
    position: relative;
    display: inline-block;
    width: 18px;
    height: 18px;
    margin: 0px 5px -3px 0;
    border: 1px solid #fff;
    border-radius: 2px;
    outline: 1px solid #555;
}

.skyline-form select[multiple] option.field:checked:before {
	background-color: #004270;
}

.skyline-form input[type="submit"] {
    font-weight: bold;
    background-color: #ddaa00;
    color: #004270;
    border-radius: 10px;
    width: auto;
    padding: 18px 80px;
}

.skyline-form textarea {
    resize: vertical;
}

.skyline-form .field {
    position: relative;
    margin: 15px 0;
}

.skyline-form .field.select.multiple {
    margin: 25px 0 15px;
}

.skyline-form .field:not(.field.error) p.error-descriptor {
    margin-bottom: 0;
}

.skyline-form .field.group fieldset {
	border: none;
    padding: 0 0 15px;
    margin: 0;
	border-bottom: 1px solid #ddd;
}

/* .skyline-form .field.group .field.checkbox {
	display: none;
} */


.skyline-form .field.date label,
.skyline-form .field.group legend,
.skyline-form .field.text label,
.skyline-form .field.number label,
.skyline-form .field.email label,
.skyline-form .field.tel label,
.skyline-form .field.textarea label,
.skyline-form .field.select label,
.skyline-form .field.checkbox label,
.skyline-form .field.radio label,
.skyline-form .field.informative {
    font-size: 1.125rem;
    color: #555555;
    transition: color 0.5s;
    font-weight: 400;
}

.skyline-form .field.text label,
.skyline-form .field.number label,
.skyline-form .field.number label,
.skyline-form .field.email label,
.skyline-form .field.tel label,
.skyline-form .field.textarea label,
.skyline-form .field.select label {
    position: absolute;
    top: 25px;
    left: 20px;
    transition: top 0.5s, left 0.5s, color 0.5s;
    pointer-events: none;
}

.skyline-form .field.select.multiple label {
    top: -15px;
    left: 0;
}

/* .skyline-form .field.group {
	margin: 33px 0 25px;
} */

/* .skyline-form .field.group legend {
	position: absolute;
	top: 20px;
	left: 20px;
	transition: top 0.5s, left 0.5s, color 0.5s;
	pointer-events: none;
} */

/* .skyline-form .field.group:focus-within legend,
.skyline-form .field.group.expanded legend {
	top: -23px;
	left: 0;
} */

.skyline-form .field.text:focus-within label,
.skyline-form .field.number:focus-within label,
.skyline-form .field.email:focus-within label,
.skyline-form .field.tel:focus-within label,
.skyline-form .field.textarea:focus-within label,
.skyline-form .field.text.has-value label,
.skyline-form .field.number.has-value label,
.skyline-form .field.email.has-value label,
.skyline-form .field.tel.has-value label,
.skyline-form .field.textarea.has-value label,
.skyline-form .field.select.has-value label {
    top: -15px;
    left: 0;
}

.skyline-form .field:focus-within label {
    color: #00416f;
}

.skyline-form .field.checkbox input,
.skyline-form .field.radio input {
    width: 40px;
    height: 40px;
    vertical-align: middle;
}

/* .skyline-form .field.group .field.checkbox input {
	width: 30px;
	height: 30px;
} */

/* .skyline-form .field.group .field.checkbox label {
	position: relative;
	top: 8px;
} */

.skyline-form hr {
    margin: 30px 0 20px;
}

.skyline-form .field.checkbox label,
.skyline-form .field.radio label {
    width: calc(100% - 85px);
    display: inline-block;
    vertical-align: top;
}

.skyline-form .field.checkbox label:not(:has(p)),
.skyline-form .field.radio label:not(:has(p)) {
    vertical-align: middle;
}

.skyline-form .checkbox.error .error-descriptor,
.skyline-form .radio.error .error-descriptor {
    margin-left: 65px;
    width: calc(100% - 105px);
}

/* .skyline-form .field.group, */
.skyline-form select {
    appearance: none;
    background-image: url(/wp-content/plugins/skyline-forms/images/icon-chevron-down.svg);
    background-position: calc( 100% - 20px);
    background-repeat: no-repeat;
}

/* .skyline-form .field.group .error-descriptor {
	position: relative;
	top: 22px;
	width: 100%;
} */

.skyline-form select:focus-within {
    background-image: url(/wp-content/plugins/skyline-forms/images/icon-chevron-up.svg);
}

.skyline-form select[multiple]:focus-within {
	background-image: none;
}

.skyline-form textarea {
    min-height: 100px;
}

.skyline-form .field .instruction,
.skyline-form .field.disclaimer-text p {
    color: #555;
    font-style: italic;
    font-size: 0.8rem;
    margin-top: 5px;
    margin-bottom: 0;
}

.skyline-form .field.disclaimer-text {
    margin-top: 0;
    margin-bottom: 10px;
}

.skyline-form .field.informative p {
    margin-bottom: 0;
}

.skyline-form .field.checkbox label.after,
.skyline-form .field.radio label.after {
    padding-left: 20px;
}

.skyline-form .field.checkbox label.before,
.skyline-form .field.radio label.before {
    padding-right: 20px;
}

.skyline-form .field.checkbox label p:last-of-type,
.skyline-form .field.radio label p:last-of-type {
    margin-bottom: 0;
}

.skyline-form .field.group fieldset .field {
    margin: 5px 0;
}

.skyline-form input[type="submit"],
.skyline-form .field.select select {
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}

.skyline-form input[type="submit"]:hover,
.skyline-form input[type="submit"]:focus,
.skyline-form input[type="submit"]:active {
    background-color: #00416f;
    color: #fff;
}

.skyline-form .field.required label > span {
    display: inline-block;
    padding: 0 5px;
}

.skyline-form .hidden {
    display: none;
}

.skyline-form p.error {
    color: #cc0000;
    font-size: 1rem;
    line-height: 1;
}

.skyline-form .field.error input,
.skyline-form .field.error select,
.skyline-form .field.error textarea {
    border: 2px solid #cc0000!important;
}

.skyline-form .form-info {
    font-size: 1rem;
    font-style: italic;
    color: #555;
}

.skyline-form .form-info .form-expiry,
.skyline-form .form-info .form-submission-limit {
    font-size: 0.8rem;
}

/*--- Validation Styling ---*/
.skyline-form .error .error-descriptor{
    border: 1px solid rgb(221, 0, 0, 0.2);
    background-color: #fde4e4;
    color: #d0002e;
    padding: 10px 10px;
    margin-top: 0px;
    font-size: 1rem;
    font-weight: 800;
    width: calc(100% - 40px);
}

.skyline-form .error-descriptor ul{
    margin: 0px;
    padding: 0 22px;
    font-size: .8rem;
}

.skyline-form .error-descriptor ul li, .form-error-list li{
  list-style: none;
  padding-left: 0px;
  color: #d0002e;
}

.skyline-form .error-descriptor ul li::before,.form-error-list li::before {
  content: '';
  display: block;
  position: absolute;
  height: 10px;
  margin-left: -20px;
  margin-top: 5px;
  width: 11px;
  top: unset;
  border-radius: unset;
  background-color: unset;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg version='1.1' id='warning-triangle' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 287.5 252.8' style='enable-background:new 0 0 287.5 252.8;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:%23d0002e;height: 18px; width: 18px;%7d %3c/style%3e%3cg%3e%3cpath class='st0' d='M145.1,252.8c-36.6,0-73.3,0-109.9,0c-4.3,0-8.6-0.4-12.8-1.5c-14.8-3.7-21.6-15.8-17-30.5 c2.7-8.5,7.8-15.8,12.2-23.4C52,137.7,86.5,78.1,121,18.5c1.5-2.6,3.1-5.1,4.9-7.5c11-14.6,28.7-14.7,39.5,0 c8.2,11.2,14.3,23.6,21.2,35.6c31.3,54,62.4,108,93.6,162.1c3.4,5.9,6.4,12.1,7.2,19c1.4,11.6-7.6,22-20.9,24.3 c-3.1,0.5-6.3,0.8-9.4,0.8C219.7,252.8,182.4,252.8,145.1,252.8z'/%3e%3c/g%3e%3c/svg%3e ");
}

.form-error-list li a{
    text-decoration: underline;
}

.form-error-list li{
  margin-left: 20px;
}

.form-error-list p, .form-error-list li a{
    color: #d0002e!important;
    font-size: .8rem;
    margin-bottom: 10px!important;
    margin: 10px 0px;
}

.skyline-form #error-casl-consent{
    display: none;
}

.skyline-form:has(.error) .form-error-list{
    border: 1px solid rgb(221, 0, 0, 0.2);
    background-color: #fde4e4;
    color: #d0002e;
    padding: 5px 17px;
    margin-top: 10px;
    font-size: 1rem;
    font-weight: 800;
    width: calc(100% - 40px);
}

.skyline-form:has(.error) .form-error-list{
    border: 1px solid rgb(221, 0, 0, 0.2);
    background-color: #fde4e4;
    color: #d0002e;
    padding: 5px 17px;
    margin-top: 10px;
    font-size: 1rem;
    font-weight: 800;
    width: calc(100% - 40px);
}

.skyline-form .textarea .error-descriptor{
    margin-bottom: 0;
}

.skyline-form input:disabled,
.skyline-form textarea:disabled,
.skyline-form .field.select select:disabled,
.skyline-form .field.disabled p,
.skyline-form .field.disabled a,
.skyline-form .field.disabled label,
.skyline-form .field.select.disabled select {
    opacity: 0.7;
    cursor: not-allowed;
}

.skyline-form p a:hover {
	text-decoration: underline;
}

.skyline-form input[type="submit"]:disabled:hover,
.skyline-form input[type="submit"]:disabled:focus,
.skyline-form input[type="submit"]:disabled:active {
    background-color: #ddaa00;
    color: #004270;
}

.skyline-form.disabled label, .skyline-form.disabled p {
    opacity: 0.7;
    cursor: not-allowed;
}


/* TODO: Move the below styles to their appropriate form stylesheets */
#lander-alfa-form.skyline-form .error .error-descriptor,
#lander-alfa-form.skyline-form:has(.error) .form-error-list,
#non-retail-meeting-request-form.skyline-form .error .error-descriptor,
#non-retail-meeting-request-form:has(.error) .form-error-list
{
    width: 100%;
}

@media only screen and (max-width: 600px) {
    .skyline-form input, .skyline-form select, .skyline-form textarea  {
        width: 100%;
    }
    .skyline-form .error .error-descriptor,
    .skyline-form:has(.error) .form-error-list
    {
        width: 100%;
    }
}

@media only screen and (max-width: 380px) {
    .skyline-form input,
    .skyline-form select,
    .skyline-form textarea {
        padding: 18px 10px;
    }

    .skyline-form .field.text label,
    .skyline-form .field.number label,
    .skyline-form .field.email label,
    .skyline-form .field.tel label,
    .skyline-form .field.textarea label,
    .skyline-form .field.select label {
        left: 10px;
    }

    .skyline-form select {
        background-position: calc(100% - 10px);
    }
}
