@import url('loading-dots.css');

/* Loading Dots Styles */
.loadingDots {
    display: none;
    position: relative;
    top: -9px;
}

.btn.loading .loadingDots {
    display: inline-block;
}

.btn.loading {
    display: flex;
}

/* General A11y & Styles */
.luEduFormBuilder select {
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    pointer-events: auto;
    background-color: white;
}
.luEduFormBuilder {
    display: flex;
    flex-direction: column;
    font-size: 16px;
}

.luEduFormBuilder label {
    line-height: 2em;
    margin: 10px 0;
    position: relative;
    display: flex;
    flex-direction: column;
}

.luEduFormBuilder input.btn {
    margin-top: 3rem;
    width: 145px;
}

.luEduFormBuilder__submitBtn {
    margin-top: 3rem;
    width: 145px;
    padding: .61em 1.07em;
}

.luEduFormBuilder select::-ms-expand {
    display: none;
}

.luEduFormBuilder--arrowSelectWrapper {
    border: 1px solid #e1e1e1;
    pointer-events: none;
    display: flex;
    position: relative;
}

.luEduFormBuilder--arrowSvg {
    position: absolute;
    right: 1em;
    top: 1.2em;
}

.luEduFormBuilder--labelTextWrapper {
    display: flex;
    justify-content: space-between;
}

.luEduFormBuilder--optional {
    font-size: 14px;
    font-family: 'Roboto';
    color: #747676;
    padding-right: 5px;
}

.luEduFormBuilder input,
.luEduFormBuilder select,
.luEduFormBuilder textarea {
    border: 1px solid #e1e1e1;
    padding: 5px 10px;
    font: inherit;
    height: 45px;
    width: 100%;
}

.red {
    color: #E4002B;
}

.fieldsSameRow {
    display: flex;
    column-gap: 2em;
}

@media(max-width: 600px) {
    .fieldsSameRow{
        display: block;
    }
}

.luEduFormBuilder--emailInput {
    max-width: 20em;
}

.luEduFormBuilder--textInput {
    max-width: 15em;
}

/* Error Message */
.form__errorMessage {
    color: #E4002B;
    font-size: 0.95rem;
    margin-top: 5px;
    display: none;
    width: 100%;
}

.form__label--haserror .form__errorMessage {
    display: block;
}

.form__label--haserror {
    border-left: 3px solid #E4002B;
    padding-left: 10px;
}

.luEduFormBuilder--phoneInput {
    max-width: 200px;
}

/* LUCOM RFI Form Styles */
.luEduFormBuilder--lucomRfi label,
.luEduFormBuilder--lucomRfi input {
    max-width: 360px;
    min-width: 160px;
}

/* SGA Website Suggestion Form Styles */
.luEduFormBuilder--sgaSiteSuggest textarea {
    height: 10rem !important;/*override height rule in .luEduFormBuilder textarea*/
}

.luEduFormBuilder__checkboxSection {
    display: flex;
    flex-direction: column;
}
.luEduFormBuilder__checkboxContainer {
    position: relative;
    display: flex;
}

.luEduFormBuilder__checkboxInput {
    min-width: 30px !important;
    height: 100%;
    cursor: pointer;
    position: relative;
    opacity: 0.01;
    vertical-align: bottom;
    margin-right: 10px;
    flex: 0;
}

.luEduFormBuilder__checkboxBox {
    width: 20px;
    height: 20px;
    border: 2px solid #256EC1;
    position: absolute;
    top: 14px;
    left: 1px;
    pointer-events: none;
    background-color: #FFFFFF;
}

.luEduFormBuilder__checkboxInput:checked~.luEduFormBuilder__checkboxBox:after {
    display: block;
}

.luEduFormBuilder__checkboxInput:focus-visible~.luEduFormBuilder__checkboxBox {
    outline: 2px solid black;
}

.luEduFormBuilder__checkboxBox:after {
    left: 4px;
    top: 1px;
    width: 5px;
    height: 10px;
    border: solid #256EC1;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
    position: absolute;
    display: none;
}

/* LUCOM Search Bar */
.luEduFormBuilder--summonSearch .luEduFormBuilder--textInput {
    max-width: unset;
}

.luEduFormBuilder--summonSearch .luEduFormBuilder--optional {
    display: none;
}

/* Visitor Parking */
.luEduFormBuilder .visitorParking__container {
    font-family: 'Roboto', sans-serif;
    width: 594px;
}

.luEduFormBuilder .visitorPark__flexRow {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.luEduFormBuilder .visitorPark__group {
    margin-bottom: 2.5rem;
    transition: all .3s;
    z-index: 1;
    width: 100%;
    padding-right: 48px;
}

.luEduFormBuilder label.visitorPark__label {
    font-size: 1rem;
    color: black;
    display: block;
    opacity: 1;
    transform: translateY(-1.9rem);
    transform-origin: 0 0;
    transition: all .3s;
    padding-left: 8px;
    pointer-events: none;
    position: absolute;
    margin: 0px;
    line-height: normal;
}

.luEduFormBuilder label.visitorPark__label--select {
    padding-left: 0 !important;
    transform: translateY(-0.5rem) !important;
    width: 100%;
    max-width: 546px;
}

.luEduFormBuilder .visitorPark__label--required::after {
    content: "*";
    color: red;
}

.luEduFormBuilder input.visitorPark__control {
    box-shadow: none;
    background-color: transparent;
    border-radius: 0px;
    border: 1px solid #ccc;
    transition: all 1.0s;
    padding: 1.2rem 1rem .8rem 1rem;
    width: 100%;
    font-family: 'Roboto', sans-serif;
}

.luEduFormBuilder #visitorPark__header {
    margin-bottom: 25px;
}

.luEduFormBuilder .visitorPark__group .form__errorMessage {
    margin-top: 0px;
}

.luEduFormBuilder .visitorPark__group.form__label--haserror {
    border-left: 3px solid red;
    padding-left: 5px;
}

.luEduFormBuilder .visitorPark__control::placeholder {
    color: transparent;
}

.luEduFormBuilder .visitorPark__control:focus {
    outline: none;
}

.luEduFormBuilder .visitorPark__control:focus + .visitorPark__label,
.luEduFormBuilder .visitorPark__control:not(:placeholder-shown) + .visitorPark__label {
    transform: translateY(-3.1rem) scale(.9);
    padding-left: .5rem;
}

.visitorPark__modal,
.modal__overlay {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0 ,0, .4);
    z-index: 1;
    justify-content: center;
    align-items: center;
}

.visitorPark_title h3 {
    font-size: 20px !important;
    line-height: 26px !important;
    margin-bottom: 26px;
    font-family: 'PT Serif', serif;
}

.visitorPark_title a {
    font-family: sans-serif !important;
}

.visitorPark__dialog {
    width: 811px;
    height: auto;
    margin: 0 auto;
    top: 100%;
    flex-shrink: 1;
    flex-direction: column;
    background: #fff;
    border-radius: 3px;
    justify-content: space-evenly;
    text-align: right;
    margin-top: 70px;
}

.visitorPark__dialog p {
    margin-bottom:1em;
    font-family: 'Roboto', sans-serif;
}

.visitorPark__innerDialogue {
    padding: 20px 70px;
    text-align: left;
}

ul.visitorPark__confirmList {
    padding: 0px;
    padding-left: 0px !important;
    list-style-type: none;
}

ul.visitorPark__confirmList li {
    margin-left: 0px !important;
    text-align: left;
    width: 100%;
    display: inline-flex;
    font-family: 'Roboto', sans-serif;
}

.listDisplay,
.listSelector {
    width: 50%;
    font-family: sans-serif;
    margin-bottom: 5px;
}

.visitorPark__buttonLoadingDots {
    display: none;
    position: relative;
    top: -14px;
    width: 7rem;
}

.dialogue__close:disabled .visitorPark__buttonLoadingDots {
    display: inline-block;
}

.listDisplay {
    font-weight: 700;
}

.dialogue__close {
    margin: 20px auto;
    width: 50%;
    display: block;
}

.dialogue__close:disabled {
    cursor:not-allowed;
}

.visitorPark_title {
    text-align: left !important;
}

#visitorPark__confirmClose{
    background: transparent;
    color: #000;
    text-align: right;
    font-size: 1.55em;
    padding: 10px;
    cursor: pointer;
}

#visitorPark__confirmClose img {
    max-width: fit-content;
}

#visitorPark__confirmClose:hover {
    cursor: pointer;
}

@media (max-width: 820px) {
	.luEduFormBuilder .visitorPark__flexRow {
        flex-direction: column !important;
	}
	.luEduFormBuilder .visitorParking__container {
        width: 100% !important;
	}
	.luEduFormBuilder .visitorPark__group {
		padding-right: 0px;
	}
    .visitorPark__dialog {
        width: 95%;
    }
}

@media (max-width: 820px) {
    .visitorPark__innerDialogue {
        padding: 10px 25px;
    }
    .dialogue__close {
        width: 100%;
    }
}

.luEduFormBuilder .visitorParking__confirmation {
    text-align: center;
    margin: 0 auto;
    max-width: 700px;
    margin-bottom: 200px;
}

.luEduFormBuilder .visitorParking__confirmation--btn {
    margin-top: 25px;
}

/* Might Not Need */
.luEduFormBuilder__sigMakerGrid {
    display: flex;
    flex-flow: column nowrap;
}

@media (min-width: 600px) {
    .luEduFormBuilder__sigMakerGrid {
        max-width: 570px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        row-gap: 1em;
        column-gap: 1em;
        margin-bottom: 1em;
    }
}

.luEduFormBuilder__sigMakerGrid input {
    max-width: 100%;
}

#sigwrapper{
    max-width: 550px;
    border: 1px solid #000;
    padding: 1em;
}

.luEduFormBuilder__mb1 {
    margin-bottom: 1rem;
}

/* ACE Form Styles */
.aceFellowship__fieldset,
.ccaInterest__fieldset {
    display: flex;
    column-gap: 10px;
    flex-wrap: wrap;
}

.aceFellowship__fieldset legend,
.ccaInterest__fieldset legend {
    font-weight: 700;
    line-height: 1.3;
}

.aceFellowship__fieldset textarea {
    height: 150px;
}

.luEduFormBuilder--aceFellowship {
    gap: 15px;
}

.luEduFormBuilder--aceFellowship .luEduFormBuilder--optional,
.luEduFormBuilder--aceFellowship .requiredIndicator,
.sr-only-labels .luEduFormBuilder--labelTextWrapper,
.luEduFormBuilder--aceSubscribe .requiredIndicator {
    display: none;
}

.luEduFormBuilder--aceFellowship label {
    flex-grow: 1;
    font-size: .813em;
}

.luEduFormBuilder--aceFellowship .luEduFormBuilder--textInput {
    max-width: 100%;
}

.aceFellowship__fieldset--address label,
.ccaInterest__fieldset label {
    max-width: calc(50% - 5px);
    width: 100%;
}

.aceFellowship__fieldset--address label.ace__fullwidth {
    max-width: 100%;
}

.luEduFormBuilder--aceFellowship button#submit,
.luEduFormBuilder--aceSubscribe button#submit {
    display: flex;
    justify-content: center;
    margin: 0px;
    height: 50px;
    align-items: center;
    font-weight: 500;
    font-size: 16px;
}

.luEduFormBuilder--aceSubscribe label {
    flex-grow: 1;
}

.luEduFormBuilder--aceSubscribe input {
    max-width: 100%;
}

/* Law Library Request Book and CCA Interest */
#ccaInterest label,
#lawRequestBook label {
    flex-direction: row;
    gap: 5px;
    flex-wrap: wrap;
}

#ccaInterest .luEduFormBuilder--arrowSelectWrapper {
    width: 100%;
}

#lawRequestBook .luEduFormBuilder--selectLabel {
    flex-direction: column;
    flex-wrap: nowrap;
}

#ccaInterest .luEduFormBuilder--labelTextWrapper,
#lawRequestBook .luEduFormBuilder--labelTextWrapper {
    font-weight: 700;
}

#ccaInterest .luEduFormBuilder--optional,
#lawRequestBook .luEduFormBuilder--optional {
    display: none;
}

#lawRequestBook h3 {
    margin: 25px 0px 0px;
}

#lawRequestBook .form__errorMessage,
#lawRequestBook input,
#ccaInterest .form__errorMessage,
#ccaInterest input {
    width: 100%;
    max-width: 100%;
}

#lawRequestBook .requiredIndicator,
#lawRequestBook .requiredRed,
#ccaInterest .requiredIndicator,
#ccaInterest .requiredRed {
    color: #E4002B;
}

#lawRequestBook span.textAreaMsg {
    font-size: .688em;
    color: #767676;
    width: 92% !important;
    white-space: nowrap !important;
    margin: 0px;
}

#lawRequestBook .luEduFormBuilder__submitBtn {
    height: fit-content;
    background-color: #1b2c57;
    padding: 5px;
}

#ccaInterest  .luEduFormBuilder__submitBtn {
    height: fit-content;
    padding: 5px;
}