/* =============================================================
Bitte UI Theme
============================================================= */

/* Bitte Field
============================================================= */

.bitte-field {
	position: relative;
	display: inline-block;
	vertical-align: bottom;
	width: 100%;
	margin-bottom: 1.5rem;
}

* > .bitte-field:last-child {
	margin-bottom: 0;
}

/* Bitte Label (h-type h5)
============================================================= */

.bitte-field .bitte-label {
	display: block;
	margin: 0 0 .6875rem 0;
}

.bitte-field .bitte-label:empty {
	display: none;
}

.bitte-field .bitte-label .label {
	font-family: 'Freight Sans Pro', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1.25rem;
	line-height: 1.4375rem;
	letter-spacing: .0375rem;
	text-transform: uppercase;
	color: #ffffff;
}

.bitte-field.invalid .bitte-label .label {
	color: #cb8383;
}

.bitte-field .bitte-label .required-indicator {}

.bitte-field .bitte-label .instructions {}

/* Bitte UI
============================================================= */

.bitte-field .bitte-ui {
	position: relative;
	display: inline-block;
	width: 100%;
}

/* Bitte Message
============================================================= */

.bitte-field .bitte-message {
	position: relative;
	border-radius: 1rem;
	padding: 1rem 1.5rem;
	font-size: 1.125rem;
	line-height: 1.625rem;
	margin-bottom: 1rem;
	display: none;
}

.bitte-field.invalid .bitte-message {
	background-color: #FFF6F6;
	border: .0625rem solid #B70A09;
	color: #B70A09;
}

/* Button
============================================================= */

.bitte-ui-button .button {
	font-family: 'Freight Sans Pro', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1.25rem;
	line-height: 1.4375rem;
	letter-spacing: .0375rem;
	text-transform: uppercase;
	position: relative;
	display: block;
	min-width: 12.5rem;
	text-align: center;
	white-space: nowrap;
	border-radius: 0rem;
	padding: .875rem 2.875rem;
	text-decoration: none;
	border: solid 1px #a8a8aa;
	background-color: transparent;
	color: #ffffff;
	overflow: visible;
	cursor: pointer;
	float: right;
	transition: all .35s ease;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.bitte-ui-button .button:hover {
	border: solid 1px #ffffff;
}

.bitte-ui-button .button:active {
	border: solid 1px #ffffff;
}

.bitte-ui-button.fullwidth .button {
	width: 100%;
	border-radius: 6.25rem;
}

/* Input & Textarea
============================================================= */

.bitte-field input,
.bitte-field textarea {
	font-family: 'Freight Sans Pro', serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1.25rem;
	line-height: 1.4375rem;
	letter-spacing: .0375rem;
	text-transform: none;
	color: #ffffff;
	background-color: transparent;
	padding: .8125rem 1.25rem;
	border-radius: 0rem;
	display: inline-block;
	width: 100%;
	border: solid .0625rem #a8a8aa;
}

.bitte-field input {
	height: 3.25rem;
}

.bitte-field.invalid input {
	border-color: #cb8383;
}

.bitte-field ::-webkit-input-placeholder {color: #ffffff; opacity: 1;}
.bitte-field :-moz-placeholder {color: #ffffff; opacity: 1;}
.bitte-field ::-moz-placeholder {color: #ffffff; opacity: 1;}
.bitte-field :-ms-input-placeholder {color: #ffffff; opacity: 1;}

/* Dropdown
============================================================= */

.bitte-ui-dropdown .dropdown-button {
	font-size: 1.125rem;
	line-height: 1.625rem;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	color: #626d75;
	background-color: #ffffff;
	padding: .8125rem 2.25rem .8125rem 1.25rem;
	border-radius: .3125rem;
	border: .0625rem solid #d5d5d5;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	width: 100%;
	min-width: 12rem;
	text-align: left;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	cursor: default;
}

.bitte-ui-dropdown .dropdown-button:after {
	content: '';
	position: absolute;
	top: 1.125rem;
	right: 1rem;
	width: 1rem;
	height: 1rem;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjYgNiAxMiAxMiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBmaWxsPSIjMzMzZjQ4IiBkPSJNMTUuNTE3OCw5LjgxMjVhLjY2ODEuNjY4MSwwLDAsMC0xLDBoMGwtMi41LDIuNi0yLjUtMi41YS43MDcxLjcwNzEsMCwwLDAtMSwxbDMuNSwzLjUsMy41LTMuNWEuOS45LDAsMCwwLDAtMS4xWiI+PC9wYXRoPjwvc3ZnPg==');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.bitte-ui-dropdown .dropdown-button.has-value {
	color: #333f48;
}

.bitte-ui-dropdown .dropdown-menu {
	background-color: #ffffff;
	border-radius: .3125rem;
	box-shadow: 0 0.25rem 1.5rem 0 rgba(0,0,0,.1875);
	position: absolute;
	width: 100%;
	z-index: 1;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	padding: .375rem 0;
	max-height: 22rem;
	overflow: auto;
	display: none;
}

.bitte-ui-dropdown .dropdown-menu.is-active {
	display: block;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-label {
	background-color: #ffffff;
	color: #777777;
	padding: .25rem 1.5rem;
	font-size: 1.125rem;
	line-height: 1.625rem;
	font-family: 'Montserrat', sans-serif;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item {
	font-size: 1.125rem;
	line-height: 1.625rem;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	color: #626d75;
	width: 100%;
	text-align: left;
	padding: .25rem 2.5rem;
	cursor: default;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item:hover {
	background-color: #00809f;
	color: #ffffff;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item:focus {
	background-color: #00809f;
	color: #ffffff;
	box-shadow: none;
}

.bitte-ui-dropdown .dropdown-menu .dropdown-item.checked:before {
	content: '\2713';
	display: inline-block;
	width: 1rem;
	margin-left: -1.5rem;
	margin-right: .5rem;
}

/* Dropdown - Index Filter
----------------------------- */

.bitte-ui-dropdown.index-filter {}

@media screen and (min-width: 48rem) {
	.bitte-ui-dropdown.index-filter {
		display: flex;
		align-items: center;
	}
}

.bitte-ui-dropdown.index-filter .bitte-label {
	margin-right: 1.5rem;
	white-space: nowrap;
}

.bitte-ui-dropdown.index-filter .bitte-label .label {
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 2.25;
	letter-spacing: -.0125rem;
	color: #424c58;
}

.bitte-ui-dropdown.index-filter .bitte-ui {
	max-width: 24rem;
}

/* Combobox
============================================================= */

.bitte-ui-combobox .listbox {
	position: absolute;
	width: 100%;
	z-index: 1;
	background-color: #616d7a;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	padding: .5rem 0;
	max-height: 22rem;
	overflow: auto;
	display: none;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
}

.bitte-ui-combobox .listbox.is-active {
	display: block;
}

.bitte-ui-combobox .listbox .option {
	width: 100%;
	text-align: left;
	font-size: 1.125rem;
	line-height: 2.125rem;
	color: #ffffff;
	padding: .25rem 2.5rem;
	cursor: default;
	display: none;
}

.bitte-ui-combobox .listbox .option:hover {
	background-color: #444e58;
}

.bitte-ui-combobox .listbox .option:focus {
	background-color: #252E38;
	box-shadow: none;
}

.bitte-ui-combobox .listbox .option.match {
	display: block;
}

/* Uberselect
============================================================= */

.bitte-ui-uberselect .uberselect {
	position: relative;
}

.bitte-ui-uberselect .uberselect-button {
	width: 100%;
	text-align: left;
	cursor: default;
	min-height: 3.25rem;
	background-color: #ffffff;
	border-radius: .3125rem;
}

.bitte-ui-uberselect .button-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	border: .0625rem solid #d5d5d5;
	background-color: #ffffff;
	padding: .25rem 3.125rem .25rem .25rem;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	font-family: 'Montserrat', sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5rem;
	color: #242d39;
	border-radius: .3125rem;
}

.bitte-ui-uberselect .button-wrapper:after {
	content: '';
	position: absolute;
	top: 1.125rem;
	right: 1rem;
	width: 1rem;
	height: 1rem;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjYgNiAxMiAxMiIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBmaWxsPSIjMzMzZjQ4IiBkPSJNMTUuNTE3OCw5LjgxMjVhLjY2ODEuNjY4MSwwLDAsMC0xLDBoMGwtMi41LDIuNi0yLjUtMi41YS43MDcxLjcwNzEsMCwwLDAtMSwxbDMuNSwzLjUsMy41LTMuNWEuOS45LDAsMCwwLDAtMS4xWiI+PC9wYXRoPjwvc3ZnPg==');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.bitte-ui-uberselect .button-wrapper .placeholder {
	display: inline-block;
	margin: .25rem;
	padding: .3125rem .5rem;
	line-height: 1.5rem;
	color: #696969;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: default;
}

.bitte-ui-uberselect .button-wrapper .selection-tag {
	position: relative;
	display: inline-block;
	color: #ffffff;
	background-color: #00809f;
	padding: .3125rem 1.875rem .3125rem .75rem;
	margin: .25rem;
	border-radius: .3125rem;
	line-height: 1.5rem;
	text-align: left;
}

.bitte-ui-uberselect .button-wrapper .selection-tag:after {
	position: absolute;
	content: '\00d7';
	top: 0;
	right: 0;
	width: 2rem;
	height: 100%;
	font-size: 1.5rem;
	line-height: 2rem;
	text-align: center;
}

.bitte-ui-uberselect .dropdown-container {
	display: none;
	position: absolute;
	width: 100%;
	z-index: 1;
	background-color: #ffffff;
	border-radius: .3125rem;
	box-shadow: 0 0.25rem 1.5rem 0 rgba(0,0,0,.1875);
}

.bitte-ui-uberselect .dropdown-container .input-container {
	position: relative;
	padding: .75rem .75rem .375rem .75rem;
}

.bitte-ui-uberselect .dropdown-container .input-container:after {
	content: '';
	position: absolute;
	width: 1.5rem;
	height: 1.5rem;
	top: 1.5rem;
	right: 1.5rem;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cGF0aCBmaWxsPSIjNjI2ZDc1IiBkPSJNMTguNzA3LDE3LjI5M2wtMy44Mi0zLjgyYTYuMDEyMiw2LjAxMjIsMCwxLDAtMS40MTQxLDEuNDE0MWwzLjgyLDMuODJBMSwxLDAsMCwwLDE4LjcwNywxNy4yOTNaTTYsMTBhNCw0LDAsMSwxLDQsNEE0LDQsMCwwLDEsNiwxMFoiPjwvcGF0aD48L3N2Zz4=');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.bitte-ui-uberselect .dropdown-container .input-container .input {
	height: 3.125rem;
	font-size: 1rem;
	line-height: 2rem;
	padding: .75rem 1rem;
	padding-right: 3.125rem;
	width: 100%;
	border: .0625rem solid #d5d5d5;
}

.bitte-ui-uberselect .listbox {
	background-color: #ffffff;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	overflow: auto;
	padding: .375rem 0;
	max-height: 15.5rem;
	border-radius: 0 0 .3125rem .3125rem;
}

.bitte-ui-uberselect .listbox.is-active {
	display: block;
}

.bitte-ui-uberselect .listbox .option {
	width: 100%;
	text-align: left;
	color: #626d75;
	font-size: 1rem;
	line-height: 1.5rem;
	padding: .25rem 2.25rem;
	cursor: default;
	display: none;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
}

.bitte-ui-uberselect .listbox .option:hover {
	background-color: #00809f;
	color: #ffffff;
}

.bitte-ui-uberselect .listbox .option:focus {
	background-color: #00809f;
	color: #ffffff;
	box-shadow: none;
}

.bitte-ui-uberselect .listbox .option.match {
	display: block;
}

.bitte-ui-uberselect .listbox .option.checked:before {
	content: '\2713';
	display: inline-block;
	width: 1rem;
	margin-left: -1.375rem;
	margin-right: .375rem;
}

.bitte-ui-uberselect .listbox .no-results {
	width: 100%;
	text-align: left;
	color: #696969;
	cursor: default;
	font-style: italic;
	display: none;
	font-size: 1rem;
	line-height: 1.5rem;
	padding: .25rem 2.25rem;
}

/* Radio
============================================================= */

.bitte-ui-radio {
	margin-bottom: 1rem;
}

.bitte-ui-radio .radiogroup {
	margin-bottom: 2rem;
}

.bitte-ui-radio .radiogroup .radio-container {
	display: block;
	margin-bottom: 1rem;
}

.bitte-ui-radio .radiogroup .radio {
	font-family: 'Montserrat', sans-serif;
	font-size: 1rem;
	font-weight: normal;
	font-style: normal;
	font-stretch: normal;
	line-height: 1.63;
	letter-spacing: normal;
	text-align: left;
	color: #242d39;
	cursor: default;
	overflow: visible;
}

.bitte-ui-radio .radiogroup .radio:before {
	content: '';
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	border: .0625rem solid #626d75;
	background-color: #ffffff;
	display: inline-block;
	vertical-align: middle;
	overflow: visible;
	margin: .1875rem;
	margin-right: 1rem;
}

.bitte-ui-radio .radiogroup .radio.checked:before {
	background-color: #004c77;
	border: .0625rem solid #626d75;
	box-shadow: 0 0 0 .25rem #ffffff inset;
}

/* Inline
----------------------------- */

.bitte-ui-radio.inline {
	margin-bottom: 0;
}

.bitte-ui-radio.inline .radiogroup {
	margin-bottom: 0;
}

.bitte-ui-radio.inline .radiogroup .radio-container {
	display: inline-block;
	margin: 0;
	margin-right: 2rem;
}

/* Checkbox
============================================================= */

.bitte-ui-checkbox .bitte-ui .group {
    display: inline-block;
    width: 100%;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button {
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.63;
    letter-spacing: normal;
    text-align: left;
    color: #242d39;
    cursor: default;
    white-space: nowrap;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 6px;
    width: 14px;
    height: 14px;
    border: 1px solid #999999;
    background-color: #ffffff;
    border-radius: 2px;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button.active:before {
	content: "\2713";
	color: #ffffff;
	border: 0;
	background-color: #1976D2;
	font-size: .875rem;
	line-height: 1rem;
	font-weight: 600;
}

.bitte-ui-checkbox .bitte-ui .group .checkbox-button > span {
    vertical-align: middle;
}
