:root {
    font-size: 75%; /* this resets the font scale to 1 rem = 12 px */

    /* let's define all of our custom colors! now you can just use "color: var(--color-blue-med);" to call that variable's stored hex code */
	--color-blue-med:     #00539f;
    --color-blue-dark:    #003c71;
	--color-blue-darker: #003566;
    --color-blue-light:   #00a0df;
    --color-blue-pale:    #f3f8fd;
	--color-blue-lighter: #e6f2fe;
    --color-gold:         #ffd200;
    --color-gold-pale:    #fdf0b2;
    --color-gray-light:   #e5e9ed;
    --color-gray-med:     #bdbdbd;
    --color-gray-dark:    #777;
	--color-black:        #000000;
}

button {
    appearance: none;
    background: none;
    border: none;
    padding: 0;
}

#ud__search-open {
    position: absolute;
    right: 0;
    top: 0;
    height: 3.6667rem;
    padding: 0.875rem;
    box-sizing: border-box;
    width: 6rem;
    cursor: pointer;
}

.ud__search-open #ud__search-open {
    /* padding: 8px; */
}

.ud__search-open #search-box {
    display: flex;
    visibility: visible;
}

#ud__search-open svg {
    stroke-width: 0.333rem;
    stroke: var(--color-blue-med);
    overflow: visible;
    width: auto;
    height: 100%;
    margin: 0 auto;
    display: block;
}

#ud__search-open .ud__search-up,
[data-viewport="desktop"].ud__search-open #ud__search-open svg:not(.ud__search-up) {
    display: none;
}

[data-viewport="desktop"].ud__search-open #ud__search-open .ud__search-up {
    display: block;
}


input#search-button-hide:after {content: 'Search';}

.ud__search-wrapper {
    background-image: url('/static/scripts/udl-search-bg-no-filter.jpg');
    background-size: cover;
    background-repeat: no-repeat;
	background-position: bottom;
}


/* ====== */

#search-box {
    display: none;
    visibility: hidden;
    box-sizing: border-box;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    border-top: 0;
    padding: 2.75rem;
    padding-left: calc(( 100% - 97rem )/2);
    padding-right: calc(( 100% - 97rem )/2);
    border-bottom: 0.2rem solid rgba(0,0,0,0.1);
    border-bottom: 0;
  	right: -200vw;
}

#UDL-search-choices {
    display:flex;
    gap: 1rem;
    flex: 0 1 100%;
    justify-content: center;
}

#UDL-search-choices a {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    padding-top: 1rem;
    padding-bottom: .75rem;
    padding-left: 2rem;
    padding-right: 2rem;
    text-decoration: none;
    font-size: 1.3rem;
    font-family: 'Greycliff_SemiBold';
    color: #fff;
    background-color: var(--color-blue-med);
}

#UDL-search-choices a.active {
    color: var(--color-blue-dark);
    background-color: #fff;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

#UDL-search-choices a:hover {
    color: #fff;
    background-color: var(--color-blue-light);
}

#UDL-search-choices a.active:hover {
    color: var(--color-blue-med);
    background-color: #fff;
}

#UDL_searchWrapper {
    display: flex;
    background-color: #fff;
    border-radius: 1rem;
    color: var(--color-blue-med);
    padding-top: 2.5rem;
    padding-bottom: 1.5rem;
    padding-left: 4rem;
    padding-right: 4rem;
    flex: 0 1 100%;
    justify-content: center;
    max-width: 80rem;
    margin: 0 auto;
}

#ud-search-form,
#ud-search-form input,
#ud-search-form select {
    font-family: 'greycliff_semibold';
    letter-spacing: -.025vmax;
}

#ud-search-form {
    width: 100%;
    max-width: 67rem;
    margin: 0 auto;
}

.search-form {
    display: flex;
    flex-wrap: wrap;
}

.ud-search-field {
    display: flex;
    flex-wrap: wrap;
    height: 4.75rem;
    background-color: transparent;
    box-shadow: none;
    font-size: 1.4rem;
    flex-basis: 100%;
}

.ud-search-field .search-input {
    display: flex;
    flex-wrap: nowrap;
    flex-grow: 1;
    margin-right: 0;
    position: relative;
    height: 55px;
    border-bottom: none;
    border-radius: 0;
    background: transparent;
    line-height: 4.5rem;
}

.ud-search-field #search-website-input {
    display: flex;
    flex-wrap: nowrap;
    flex-grow: 1;
    margin-right: 0;
    position: relative;
    height: auto;
    border-bottom: none;
    border-radius: 0;
    background: transparent;
    line-height: 4.5rem;
}

.ud-search-field #search-website-input {
    display: flex;
    flex-wrap: nowrap;
    flex-grow: 1;
    margin-right: 0;
    position: relative;
    height: auto;
    border-bottom: none;
    border-radius: 0;
    background: transparent;
    line-height: 4.5rem;
}

.ud-search-keyword {
    height: 100%;
    width: 100%;
    border: none;
    border-radius: 0px !important;
    font-size: 1.4rem;
    padding: 0 1rem;
    padding-bottom: 2px;
    background: var(--color-gray-light);
    color: var(--color-blue-dark);
    letter-spacing: -.025vmax;
    border-radius: 0px;
    box-shadow: none;
    flex-basis: 50%;
    font-family: 'greycliff_semibold';
}

.btn-go {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: none;
    border: 0;
    color: transparent;
    opacity: 0;
    cursor: pointer;
    box-shadow: none;
    letter-spacing: .025vmax;
}

.btn-go:hover {
    background: var(--color-blue-light);
}

.search-click {
    flex: 0 0 6.5rem;
    height: 100%;
    padding: 1rem 0;
            box-sizing: border-box;
       -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    position: relative;
    background: var(--color-blue-med);
    color: #fff;
    border-radius: 0 4.75rem 4.75rem 0;
    border-width: 0px;
}

.search-click:hover {
    background: var(--color-blue-light);
}

.search-click:focus {
    background: var(--color-blue-light);
}

.search-click svg {
    stroke-width: 0.333rem;
    stroke: #fff;
    overflow: visible;
    width: 2.75rem;
    height: 100%;
    padding-right: 0.333rem;
    margin: 0 auto;
    display: block;
}

.search-click:hover svg {
    stroke: #fff;
}

.search-click:focus svg {
    stroke: #fff;
}

input#search-button-hide,
input#search-button {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: none;
    border: 0;
    color: transparent;
    opacity: 0;
    cursor: pointer;
    box-shadow: none;
    letter-spacing: .025vmax;
}

.search-choices {
    flex-basis: 10%;
    display:flex;
    flex: 0 1 10%;
    position: relative;
    z-index: 0;
    padding: 0.75rem 0 0 3rem;
    line-height: 2.5rem;
    /*font-size: 16px;*/
    color: var(--color-blue-med);
}

.search-choice-list {
    display:flex;
    flex: 0 1 100%;
    position: relative;
    z-index: 0;
    padding: .5rem 0 0 2rem;
    line-height: 2.5rem;
    /*font-size: 16px;*/
    color: var(--color-blue-med);
    font-family: 'Greycliff_Semibold';
    font-size: 1.25rem;
    justify-content: center;
}

.search-choice-list a {
    color: var(--color-blue-med);
    text-decoration:none;
    padding-left: 1rem;
    padding-right: 1rem;
}

.search-choice-list a:hover {
    text-decoration:underline;
}

.search-choice-list span {
    color: var(--color-gold);
    font-family: 'Greycliff_Bold';
    font-size: 1.5rem;
}

.search-input .search-prefix {
    display: inline-block;
    margin-right: 0.25rem;
    margin-left: 1.5rem;
    flex-basis: 7%;
    text-align: center;
    font-family: 'greycliff_semibold';
    background: var(--color-gray-light);
}

.search-input .search-prefix-for {
    padding-left: 2rem;
    margin-right: 0px;
    margin-left: 0px;
    border-top-left-radius: 4.75rem;
    border-bottom-left-radius: 4.75rem;
}

.search-input .search-prefix-in {
    display: inline-block;
    margin-right: 0.25rem;
    margin-left: 1.5rem;
    flex-basis: 7%;
    text-align: center;
    font-family: 'greycliff_semibold';
    background: var(--color-gray-light);
    margin-left: 0px;
    margin-right: 0px;
}

.search-drop-wrap {
    background: #e8e8e8;
    background: var(--color-gray-light);
    display: inline-block;
    position: relative;
    z-index: 0;
    flex-basis: 28%;
}

.search-list {
    position: relative;
    z-index: 2;
    background: transparent;
    cursor: pointer;
    border: none;
    padding: 0 2.5rem;
    font-family: 'greycliff_semibold';
    letter-spacing: -.025vmax;
    font-size: inherit;
    line-height: inherit;
    color: var(--color-blue-med);
    appearance: none;
    -ms-appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    width: 100%;
    box-shadow: none;
	height: auto;
}

.search-drop-arrow {
    position: absolute;
    top: 0;
    right: 0px;
    height: 100%;
    width: 3rem;
    z-index: 1;
}

.search-drop-arrow svg {
    stroke: var(--color-blue-dark)!important;
    stroke-width: 0.333rem;
    fill: var(--color-blue-med);
    stroke: none;
    height: 100%;
    width: 3rem;
    box-sizing: border-box;
    padding: 0.5rem 0.5rem 0.5rem;
}

.search-drop-arrow polyline {
    fill: var(--color-blue-med);
    stroke: none;
}

.search-box-adv-search {
    flex-basis: 1;
    font-family: 'greycliff_regular';
    font-size: 1.25rem;
    line-height: 1.666rem;
    float: right;
}

.search-box-adv-search a {
    color: var(--color-blue-med);
    text-decoration: none;
    display: block;
    position: relative;
}

span.offsite-arrow {
    position: absolute;
    margin-left: -1.5rem;
    height: 1.666rem;
}

.advanced-span {
    display: none;
    font-size: 1.1rem;
    /* color: var(--color-blue-light); */
}

.advanced-span:before {
    content: 'Go to ';
}

.advanced-title {
    content: 'Go to ';
    font-family: 'greycliff_semibold';
}

span.offsite-arrow svg {
    height: 100%;
    width: auto;
    padding: 0.2rem;
    box-sizing: border-box;
}

span.offsite-arrow svg polyline {
    fill: var(--color-blue-med);
    stroke: none;
}

.ud-search-form {
    display: none;
    width: 100%;
}

#UDL_searchPrimo {
    display: inline-block;
}



@media screen and (max-width: 1024px) {
    
[data-viewport="mobile"] #ud__search-open:hover {
    background: var(--color-blue-light);
}

[data-viewport="mobile"] #ud__search-open:after,
[data-viewport="mobile"] #ud__menu-button:after {
    content: '.';
    height: 100vh;
    background: rgba(20,20,60,0.65);
    width: 100vw;
    position: absolute;
    top: 65px;
    top: 0;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease all;
    left: 0;
}

[data-viewport="mobile"].ud__sidemenu-open #ud__menu-button:after {
    opacity: 1;
    z-index: 1;
    display: block;
    visibility: visible;
}

[data-viewport="mobile"] #ud__search-open {
    height: 100%;
    /*padding: 1.5rem 0;
    right: -100vw;
    width: 6rem;
    */
    flex: 0 0 6rem;
    position: relative;
}

[data-viewport="mobile"].ud__search-open #ud__search-open {
    z-index: 999;
    background: var(--color-blue-light);
}

[data-viewport="mobile"] #ud__search-open svg {
    stroke: #fff;
    stroke-width: 5px;
    max-height: 2.375rem;
}

[data-viewport="mobile"] #UDLibraryHeader .ud__subhead-wrap {
    position: relative;
}

.ud__sidemenu-open[data-viewport="mobile"] {
    overflow: hidden;
}

/* agnostic menu fix - RPN 20210424 */
[data-viewport="mobile"] #UDLibraryHeader .ud__menu {
    margin-top: -65px;
}

[data-viewport="mobile"].ud__sidemenu-open #ud__menu-button {
    /* left: 275px; */
    /* left: calc(100vw - 66px); */
    z-index: 9999999;
    /* background: #fff; */
}

[data-viewport="mobile"].ud__sidemenu-open #ud__menu-button::before {
    width: 100vw;
    opacity: 0.7;
    transition: 0.2s ease opacity, 0s ease width;
}

.ud__search-open[data-viewport="mobile"] #live-chat-widget,
.ud__sidemenu-open[data-viewport="mobile"] #live-chat-widget,
.ud__menu-body-open[data-viewport="mobile"] #live-chat-widget {
    right: -50vw;
}

[data-viewport="mobile"] #search-box {
    transition: 0.3s ease all;
}

[data-viewport="mobile"] #search-box {
    display: flex;
    visibility: hidden; /* lets keyboard focus bypass the unopened search box */
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    align-items: center;
    margin: 0 auto;
    padding: 1rem;
    z-index: 999;
    width: 90vw;
    max-width: 34rem;
    height: auto;
    padding: 0;
    border-radius: 2rem;
    top: 50%;
    transform: translateY(-50%);
}

[data-viewport="mobile"] .search-list {
    width: 100%;
    height: 100%;
    font-size: 1.4rem;
}

[data-viewport="mobile"].ud__menu-body-open #ud__menu-button:after,
[data-viewport="mobile"].ud__search-open #ud__search-open:after {
    opacity: 1;
    visibility: visible;
    z-index: 0;
}

[data-viewport="mobile"].ud__search-open #ud__search-open:after {
    right: 0;
    left: initial;
    z-index: -1;
}

[data-viewport="mobile"].ud__search-open #search-box {
    right: 0;
    visibility: visible;
}


[data-viewport="mobile"].ud__search-open {
    overflow: hidden;
}

[data-viewport="mobile"] #ud-search-form {
    padding: 2rem 1.5rem;
    border-radius: 2rem;
    max-width: 34rem;
    position: relative;
}

[data-viewport="mobile"] #UDL_searchWrapper {
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}

[data-viewport="mobile"] .search-input .search-prefix {
    flex-basis: 50px;
    margin-left: 0px;
}

[data-viewport="mobile"] .search-input .search-prefix-in {
    padding-left: 2rem;
    margin-right: 0px;
    border-top-left-radius: 4.75rem;
    border-bottom-left-radius: 4.75rem;
}

[data-viewport="mobile"] .ud-search-field .search-input {
    flex-wrap:wrap;
    row-gap: 10px;
    font-size: 1.4rem;
    height: auto;
}

[data-viewport="mobile"] .search-drop-wrap {
    flex-basis: 85%;
    display: block;
    font-size: 1.25rem;
    line-height: 4rem;
    border-top-right-radius: 4.75rem;
    border-bottom-right-radius: 4.75rem;
}


[data-viewport="mobile"] #search-box {
    right: -200vw;
}

[data-viewport="mobile"] .ud-search-field {
    position: relative;
    height: auto;
    flex-basis: 100%;

}

[data-viewport="mobile"] .ud-search-keyword {
    font-size: 1.4rem;
    padding: 0 1.5rem;
    flex-basis: 82%;
    border-top-right-radius: 4.75rem !important;
    border-bottom-right-radius: 4.75rem !important;
    height: auto;
}
    
[data-viewport="mobile"] .search-click {
    height: auto;
    flex-basis: 100%;
    border-top-left-radius: 4.75rem;
    border-bottom-left-radius: 4.75rem;
    padding: 0.5rem 0;
    display: flex;
    justify-content: center;
}

[data-viewport="mobile"] .search-click svg {
    margin: 0 1rem;
}

[data-viewport="mobile"] .search-click .search-click-prompt {
    display: inline-block;
    font-family: 'Greycliff_SemiBold';
    line-height: 3.5rem;
    font-size: 1.5rem;
}

[data-viewport="mobile"] input#search-button-hide {
    opacity: 1;
    color: #fff;
}

[data-viewport="mobile"] .search-choice-list {
    flex-wrap: wrap;
    justify-content: unset;
}

[data-viewport="mobile"] .search-choices {
    display: none;
}

[data-viewport="mobile"] .search-box-adv-search {
    float: none;
}

[data-viewport="mobile"] .advanced-span {
    font-size: inherit;
    display: initial;
    text-decoration: underline;
}

[data-viewport="mobile"] span.offsite-arrow {
    top: -2px;
    display: none;
}

}

@media screen and (min-width: 1024px ) {
	.search-click-prompt {
		display: none;
	}
}
@media screen and (max-width: 1195px) {

    #UDL_searchWrapper {
        max-width: 80rem;
        margin: 0 auto;
        padding-left: 3rem;
        padding-right: 3rem;
    }
}

@media screen and (max-width: 480px) {

[data-viewport="mobile"] .search-choices {
    padding: 1.5rem 0 0;
}

[data-viewport="mobile"] .search-list {
    padding-right: 1.5rem;
    padding-left: 2rem;
}

[data-viewport="mobile"] .search-drop-arrow svg {
    padding: 0.5rem 0.75rem 0.5rem;
}

}

section.vwidth {
    display: none;
    margin: 0 auto;
    font-size: 6vw;
    text-align: center;
    line-height: 20vw;
    background: coral;
    font-family: 'greycliff_semibold';
    color: #fff;
}

@media screen and (max-width: 455px) {
    [data-viewport="mobile"] .ud-search-field .search-input {
        justify-content: flex-start;
    }
    
    [data-viewport="mobile"] .search-input .search-prefix {
        flex-basis: 15%;
    }

    [data-viewport="mobile"] .ud-search-keyword {
        flex-basis: 80%;
    }
}

@media screen and (max-width: 415px) {
    [data-viewport="mobile"] .search-input .search-prefix {
        flex-basis: 15%;
    }

    [data-viewport="mobile"] .ud-search-keyword {
        flex-basis: 78%;
    }
    
    [data-viewport="mobile"] .search-drop-wrap {
        flex-basis: 84%;
    }
}