/* Variables */

/* Breakpoints (Additional) - About: This variable is used in: ~/abstractions/widths.scss ~/components/grid-flex.scss Modify carefully as it will affect all grid layouts! - Considerations: Breakpoint order is important, originally these were reversed and since we're taking a mobile-first approach, the breakpoints were not cascading correctly. E.g. smaller sized breakpoint styles were overriting the larger breakpoints, etc. */

/* -------------------------------------- */

:root {
    --bu-color: #fdb913;
    --bu-comp-color: #333a38;
    /* comp-color is complimentary, whichever can be used for contrast i.e. white will only work with blue, black with yellow etc. example is icons on document-card also see includes/header/business-unit-styles.twig for addtional logic */
}

/* -------------------------------------- */

/* -------------------------------------- */

/* -------------------------------------- */

/* -------------------------------------- */

.visuallyhidden,
.mktoForm .mktoFormCol .mktoFieldWrap input[type=checkbox],
.mktoForm .mktoFormCol .mktoFieldWrap input[type=radio] {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    height: 1px;
    width: 1px;
}

.btn,
.mktoForm .mktoButtonRow .mktoButton,
body .wistiaMarketoFormWrapper .mktoForm .mktoButtonWrap.mktoBlueBox .mktoButton,
body .wistiaMarketoFormWrapper .mktoForm .mktoButtonRow input.mktoButton {
    display: inline-block;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.btn--primary,
.mktoForm .mktoButtonRow .mktoButton,
body .wistiaMarketoFormWrapper .mktoForm .mktoButtonWrap.mktoBlueBox .mktoButton,
body .wistiaMarketoFormWrapper .mktoForm .mktoButtonRow input.mktoButton {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}

.mktoForm {
    /*visibility: hidden;*/
    display: grid;
    gap: 1.625rem;
    width: auto !important;
}

.mktoForm[data-styles-ready="true"] {
    visibility: visible;
}

.mktoForm form {
    max-width: 100% !important;
    width: 100% !important;
    padding-top: 1rem !important;
}

.mktoForm p,
.mktoForm span,
.mktoForm a {
    text-decoration: none;
}

.mktoForm p {
    margin-bottom: 0;
}

.mktoForm p,
.mktoForm span,
.mktoForm a,
.mktoForm .mktoAsterix,
.mktoForm .mktoHtmlText,
.mktoForm .mktoFormCol label {
    color: #ffffff !important;
}

.mktoForm .mktoAsterix {
    display: none;
}

.mktoForm .mktoRequiredField .mktoAsterix {
    display: inline;
    vertical-align: middle;
    margin-right: 0.5em;
}

.mktoForm .mktoFormRow {
    display: grid;
    gap: 1.625rem;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.mktoForm .mktoFormRow.hidden-field {
    display: none;
}

.mktoForm .mktoClear {
    display: none !important;
}

.mktoForm .mktoHtmlText a {
    text-decoration: underline;
    transition: text-underline-offset 0.3s ease-in-out;
}

.mktoForm .mktoHtmlText a:hover,
.mktoForm .mktoHtmlText a:focus {
    text-underline-offset: 2px;
}

.mktoForm .mktoFormCol {
    flex: 1;
    position: relative;
}

.mktoForm .mktoFormCol hr {
    opacity: 0;
    display: none;
}

.mktoForm .mktoFormCol label {
    display: block !important;
    font-size: rem-calc(14px);
    margin-bottom: 0.25rem !important;
    /*width: 100% !important;*/
}

.mktoForm .mktoFormCol .mktoFieldWrap {
    float: none;
    width: auto;
    display: flex;
    /*flex-wrap: wrap; */
}

@media (max-width: 768px) {
    .mktoForm .mktoFormCol .mktoFieldWrap {
        flex-wrap: wrap;
    }
}

.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="checkbox"]),
.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="range"]),
.mktoForm .mktoFormCol .mktoFieldWrap textarea,
.mktoForm .mktoFormCol .mktoFieldWrap select {
    width: 100% !important;
    max-width: 100%;
    padding: 1rem;
    box-shadow: none !important;
    border: 1px solid #cbcbcb !important;
    border-radius: 2px !important;
    background-color: #fff !important;
    font-size: rem-calc(16px);
    position: relative;
}

.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="checkbox"])::placeholder,
.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="range"])::placeholder,
.mktoForm .mktoFormCol .mktoFieldWrap textarea::placeholder,
.mktoForm .mktoFormCol .mktoFieldWrap select::placeholder {
    opacity: 1;
    color: #999;
}

.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="checkbox"]):focus,
.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="range"]):focus,
.mktoForm .mktoFormCol .mktoFieldWrap textarea:focus,
.mktoForm .mktoFormCol .mktoFieldWrap select:focus {
    outline: none;
    box-shadow: 0 0 0 1px #999 !important;
    border-color: #999 !important;
    background: white !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="checkbox"]).mktoInvalid,
.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="range"]).mktoInvalid,
.mktoForm .mktoFormCol .mktoFieldWrap textarea.mktoInvalid,
.mktoForm .mktoFormCol .mktoFieldWrap select.mktoInvalid {
    border-color: red !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="checkbox"]).mktoInvalid:focus,
.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="range"]).mktoInvalid:focus,
.mktoForm .mktoFormCol .mktoFieldWrap textarea.mktoInvalid:focus,
.mktoForm .mktoFormCol .mktoFieldWrap select.mktoInvalid:focus {
    box-shadow: 0 0 0 1px red !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="checkbox"]).mktoInvalid+.mktoError,
.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="range"]).mktoInvalid+.mktoError,
.mktoForm .mktoFormCol .mktoFieldWrap textarea.mktoInvalid+.mktoError,
.mktoForm .mktoFormCol .mktoFieldWrap select.mktoInvalid+.mktoError {
    width: 100%;
}

.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="checkbox"]).mktoInvalid+.mktoError::after,
.mktoForm .mktoFormCol .mktoFieldWrap input:not([type="range"]).mktoInvalid+.mktoError::after,
.mktoForm .mktoFormCol .mktoFieldWrap textarea.mktoInvalid+.mktoError::after,
.mktoForm .mktoFormCol .mktoFieldWrap select.mktoInvalid+.mktoError::after {
    content: '';
    display: block;
    height: 1.5em;
    width: 1.5em;
    background: red;
    position: absolute;
    right: 1em;
    top: -2.4em;
    background: url('../img/svg/icons/error.svg') center center no-repeat;
    background-size: contain;
}

.mktoForm .mktoFormCol .mktoFieldWrap select {
    cursor: pointer;
}

.mktoForm .mktoFormCol .mktoFieldWrap:has(select) {
    position: relative !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap:has(select)::after {
    content: '';
    display: block;
    height: 1.5rem;
    width: 1.5rem;
    position: absolute;
    right: 0.5rem;
    bottom: 0.85rem;
    background: url('../img/svg/icons/dropdown.svg') center center no-repeat;
    background-size: 0.85rem;
    pointer-events: none;
}

.mktoForm .mktoFormCol .mktoFieldWrap:has(select) select {
    appearance: none;
    padding-right: 2.5rem;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=checkbox]:focus-visible+label::after,
.mktoForm .mktoFormCol .mktoFieldWrap input[type=radio]:focus-visible+label::after {
    content: '';
    display: block;
    height: 0.65em;
    width: 0.65em;
    border-radius: 99em;
    background: #1e5b97;
    position: absolute;
    top: calc(50% - 0.325em);
    left: -1.5em;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=checkbox]+label::before {
    content: '';
    margin-left: 0.25em;
    display: inline-block !important;
    height: 1rem !important;
    width: 1rem !important;
    background: #fff !important;
    border: 3px solid #fff !important;
    border-radius: 0;
    vertical-align: middle;
    margin-right: 0.85em !important;
    position: relative;
    top: -1px;
    transition: background-color 0.2s ease-in-out;
    box-shadow: 0 0 0 0.125em #333a38 !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=checkbox]:checked+label::before {
    background: #333a38 !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=radio]+label {
    margin-bottom: 0.75em !important;
    margin-left: 0.25em !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=radio]+label::before {
    content: "";
    display: inline-block !important;
    height: 0.75em !important;
    width: 0.75em !important;
    background: #fff !important;
    border: 3px solid #fff !important;
    border-radius: 999em;
    vertical-align: middle;
    margin-right: 0.75em !important;
    position: relative;
    top: -1px;
    transition: background-color 0.2s ease-in-out;
    box-shadow: 0 0 0 0.125em #333a38 !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=radio]:checked+label::before {
    background: #333a38 !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=radio]:focus-visible+label::after {
    top: calc(42% - 0.325em);
    left: -1em;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=range] {
    -webkit-appearance: none;
    width: 100%;
    margin: 13px 0;
    margin-top: 1.625rem;
    padding: 0;
    background-color: transparent !important;
    border: none !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]:focus {
    outline: none;
    background-color: transparent !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]:focus::-webkit-slider-runnable-track,
.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]:focus::-ms-fill-lower,
.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]:focus::-ms-fill-upper {
    background: #333a38;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]::-webkit-slider-runnable-track {
    background: #333a38;
    border: 0;
    border-radius: 16.4px;
    width: 100%;
    height: 5px;
    cursor: pointer;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]::-webkit-slider-thumb {
    margin-top: -7.5px;
    width: 20px;
    height: 20px;
    background: #fdb913;
    border: 0;
    border-radius: 20px;
    cursor: pointer;
    -webkit-appearance: none;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]::-moz-range-track {
    background: #333a38;
    border: 0;
    border-radius: 16.4px;
    width: 100%;
    height: 5px;
    cursor: pointer;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #fdb913;
    border: 0;
    border-radius: 20px;
    cursor: pointer;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]::-ms-track {
    background: transparent;
    border-color: transparent;
    border-width: 7.5px 0;
    color: transparent;
    width: 100%;
    height: 5px;
    cursor: pointer;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]::-ms-fill-lower {
    background: #333a38;
    border: 0;
    border-radius: 32.8px;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]::-ms-fill-upper {
    background: #333a38;
    border: 0;
    border-radius: 32.8px;
}

.mktoForm .mktoFormCol .mktoFieldWrap input[type=range]::-ms-thumb {
    width: 20px;
    height: 20px;
    background: #fdb913;
    border: 0;
    border-radius: 20px;
    cursor: pointer;
    margin-top: 0px;
}

@supports (-ms-ime-align:auto) {
    .mktoForm .mktoFormCol .mktoFieldWrap input[type=range] {
        margin: 0;
    }
}

.mktoForm .mktoFormCol .mktoFieldWrap .mktoLogicalField.mktoRangeField {
    max-width: 100%;
    width: 18rem;
}

.mktoForm .mktoFormCol .mktoFieldWrap .mktoLogicalField .mktoRangeValue {
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap .mktoCheckboxList {
    display: grid;
    gap: 1.625rem;
    margin-top: 1rem;
}

.mktoForm .mktoFormCol .mktoError {
    padding: 0.5em 0;
    font-size: rem-calc(14px);
    color: red;
    margin-bottom: 1.625rem * 1rem*-1;
    position: absolute;
    left: 0 !important;
    top: calc(100% - 3px) !important;
    /* &::after{
		 content: '';
		 position: absolute;
		 width: 0;
		 height: 0;
		 border-left: 5px solid transparent;
		 border-right: 5px solid transparent;
		 border-bottom: 5px solid maroon;
		 top: -5px;
		 left: 10px;
	}
	 */
}

body .wistiaMarketoFormWrapper {
    overflow: hidden !important;
    width: calc(100% - 4em) !important;
    padding: 0 2em;
    font-family: "Akkurat", Helvetica, Arial, sans-serif !important;
}

body .wistiaMarketoFormWrapper .mktoForm .mktoAsterix,
body .wistiaMarketoFormWrapper .mktoForm .mktoFormCol label,
body .wistiaMarketoFormWrapper .mktoForm .mktoHtmlText,
body .wistiaMarketoFormWrapper .mktoForm a,
body .wistiaMarketoFormWrapper .mktoForm p,
body .wistiaMarketoFormWrapper .mktoForm span {
    color: white !important;
    font-family: "Akkurat", Helvetica, Arial, sans-serif !important;
}

body .wistiaMarketoFormWrapper .mktoForm .mktoFormRow {
    gap: 0;
}

body .wistiaMarketoFormWrapper .mktoForm .mktoFormCol+.mktoFormCol {
    margin-left: 2em;
}

body .wistiaMarketoFormWrapper .mktoForm select,
body .wistiaMarketoFormWrapper .mktoForm input,
body .wistiaMarketoFormWrapper .mktoForm textarea {
    color: black;
    font-family: "Akkurat", Helvetica, Arial, sans-serif !important;
}

body .wistiaMarketoFormWrapper .mktoForm .mktoFormCol .mktoFieldWrap:has(select)::after {
    bottom: 0.5rem;
}

body .wistiaMarketoFormWrapper .mktoForm .mktoCheckboxList {
    margin: 0;
    padding: 0;
}

body .wistiaMarketoFormWrapper .mktoForm .mktoCheckboxList input[type="checkbox"],
body .wistiaMarketoFormWrapper .mktoForm .mktoCheckboxList label {
    margin-left: 0;
}

body .wistiaMarketoFormWrapper .mktoForm .mktoButtonWrap.mktoBlueBox .mktoButton {
    background-color: #fdb913 !important;
    color: #333a38 !important;
    text-shadow: none;
    letter-spacing: 0.04em !important;
    font-weight: 600 !important;
    font-family: "Akkurat", Helvetica, Arial, sans-serif !important;
}

body .wistiaMarketoFormWrapper .mktoForm .mktoButtonRow input.mktoButton {
    background-color: #fdb913 !important;
    color: #333a38 !important;
    text-shadow: none;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    font-family: "Akkurat", Helvetica, Arial, sans-serif !important;
}

/*Additional customization */

.mktoForm .mktoButtonRow .mktoButton {
    background-color: #fdb913;
    color: #333a38;
    border-color: #fdb913;
    font-size: 1rem;
    text-transform: uppercase;
    position: relative;
    padding: 1em 3.2em 1em 1.6em;
    letter-spacing: .04em;
    min-width: 13.875rem;
    text-align: left;
    border-radius: 2px;
}

.mktoButtonWrap.mktoNative {
    margin-left: 0 !important;
}

label[for="cGSRequestQuote"] {
    width: 120px !important;
}

label[for="privacy"] {
    width: 310px !important;
}

.mktoForm .mktoFormCol .mktoFieldWrap .mktoCheckboxList {
    margin-top: 0;
}

@media (max-width: 480px) {
    .mktoForm .mktoRadioList>label,
    .mktoForm .mktoCheckboxList>label {
        margin-left: 0 !important;
    }
    .mktoForm .mktoRadioList,
    .mktoForm .mktoCheckboxList {
        width: unset !important;
    }
    .mktoForm input[type=url],
    .mktoForm input[type=text],
    .mktoForm input[type=date],
    .mktoForm input[type=tel],
    .mktoForm input[type=email],
    .mktoForm input[type=number],
    .mktoForm textarea.mktoField,
    .mktoForm select.mktoField {
        height: 61px !important;
    }
    .mktoForm .mktoFormRow {
        gap: .6rem;
    }
}

.mktoForm textarea[rows="2"] {
    height: 6.4em !important;
}

.mktoGutter.mktoHasWidth {
    width: 0 !important;
}