html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    font-family: Verdana, sans-serif;
    font-size: 1rem;
    color: var(--text-on-bg-color);
    line-height: 1.3em;
    background-color: var(--bg-color);
}

small {
    font-size: 60%;
}

.container {
    display: flex;
    flex-flow: column nowrap;
    height: 100vh;
}

.container .main-content {
    display: flex;
    flex-flow: row;
    flex: 1 1 auto;
}

.search-main {
    display: flex;
    flex-flow: row;
    justify-content: center;
    width: 100%;
    margin-top: 56px;
    margin-bottom: 56px;
}

.search {
    padding-left: 1rem;
    padding-right: 1rem;
}

header {
    background-color: #f5f5f5;
    padding: 5px;
}

.header-container {
    display: flex;
    justify-content: space-between;
}

.skip-to-content-link {
    color: var(--text-on-bg-color);
    background: #fff;
    left: 50%;
    padding: 8px;
    position: absolute;
    transform: translateY(-100%);
    transition: transform 0.3s;
}

.skip-to-content-link:focus {
    transform: translateY(0%);
}

main {
    flex-shrink: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

main.legal-notice {
    margin: auto;
}

main.centered {
    margin: auto;
}

.search-page-item {
    display: flex;
    flex-direction: column;
}

.search-label {
    display: block;
}

.search-field {
    width: 100%;
    box-sizing: border-box;
    display: block;
    padding: 0.7em;
    font-size: 1rem;
}

.email {
    display: flex;
    flex-direction: column;
}

.email > label {
    display: flex;
}

.email > input {
    margin-bottom: 0.5em;
}

.email-data-info {
    padding-bottom: 15px;
}

.questions-network-op-info {
    margin-top: 1em;
}

input {
    margin-bottom: 1em;
    display: block;
}

/* Remove up and down arrow buttons in Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Remove up and down arrow buttons in Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

.g-recaptcha {
    padding-bottom: 0.7em;
}

.calibration > * {
    margin-top: 0.5em;
}

.calibration > *:first-child {
    margin-top: 0;
}

.calibration-header {
    margin: 0;
    font-weight: normal;
    font-size: 1.1em;
}

.help-menu {
    position: absolute;
    left: 0;
    align-items: center;
}

.small-button {
    margin-left: 0;
    margin-right: auto;
    overflow: hidden;
    white-space: normal;
    color: var(--text-on-primary-color);
    background: var(--primary-color);
    padding: 0.7em;
    border: none;
    border-bottom-right-radius: 5px;
    display: flex;
    transition: all 0.2s ease 0s;
}

.small-button:hover {
    background: var(--primary-color-focus);
    color: var(--text-on-primary-color-focus);
    transition: all 0.2s ease 0s;
    cursor: pointer;
}

.small-button:hover > svg {
    transition: all 0.2s ease 0s;
}

.round-button {
    width: 1.1em;
    height: 1.1em;
    margin-left: 5px;
    margin-right: auto;
    overflow: hidden;
    color: var(--text-on-primary-color);
    background: var(--primary-color);
    border: none;
    border-radius: 50%;
    transition: all 0.2s ease 0s;
}

.round-button:hover {
    background: var(--primary-color-focus);
    color: var(--text-on-primary-color-focus);
    transition: all 0.2s ease 0s;
    cursor: pointer;
}

.overlay {
    overflow-wrap: anywhere;
    flex-direction: column;
    color: var(--text-on-primary-color);
    background: var(--primary-color);
    transition: opacity 500ms;
    visibility: hidden;
    opacity: 0;
    display: none;
    height: 100%;
    border: none;
    margin-bottom: 0px;
    width: 0px;
    max-width: fit-content;
}

.overlay .big-button{
    justify-content: right;
}

.overlay-content {
    overflow-y: auto;
    overflow-x: auto;
    padding-left: 0.5em;
    height: 100%;
}

.overlay-content * {
    margin-right: 25px;
    display: flex;
}

.overlay-content a {
    color: rgb(128, 124, 255);
}

.button {
    margin-left: 0;
    margin-right: auto;
    overflow: hidden;
    white-space: normal;
    color: var(--text-on-primary-color);
    background: var(--primary-color);
    padding: 0.7em;
    border: none;
    border-radius: 5px;
    display: block;
    transition: all 0.2s ease 0s;
}

.button:focus, button:active {
    outline: 3px solid rgb(0, 50, 255);
}

.big-button {
    width: 100%;
    overflow: hidden;
    white-space: normal;
    color: var(--text-on-primary-color);
    background: var(--primary-color);
    padding: 0.7em;
    border: none;
    border-radius: 5px;
    display: flex;
    align-items: center;
    transition: all 0.2s ease 0s;
}

.big-button > svg {
    flex-shrink: 0;
}

.big-button > span {
    flex-wrap: wrap;
    padding-left: 1em;
    text-align: left;
}

.big-button:hover {
    background: var(--primary-color-focus);
    color: var(--text-on-primary-color-focus);
    transition: all 0.2s ease 0s;
    cursor: pointer;
}

.big-button:hover > svg {
    transition: all 0.2s ease 0s;
}

.success-thanks, .success-confirmation {
    margin: 15px auto;
}

.success-checkmark {
    margin: 15px auto;
    width: 170px;
    height: 170px;
    color: rgb(128, 128, 128);
}

.success-checkmark > polyline {
    animation: checkmark-dash 2s cubic-bezier(0.76, 0.03, 0.83, 0.34) forwards;
    color: #78b800;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
}

@keyframes checkmark-dash {
    to {
        stroke-dashoffset: 0;
    }
}

.general-error-page-logo {
    margin: 15px auto;
    width: 170px;
    height: 170px;
    color: red;
}

.general-error-page-text {
    font-size: 1.1em;
    margin: 15px auto;
}
.receipts {
    max-width: 600px;
}
.receipts > .receipt {
    margin-top: 1em;
}

.receipts > .receipt:first-child {
    margin-top: 0;
}

.receipt {
    background-color: var(--receipt-bg-color);
    color: var(--receipt-text-color);
}

.receipt::before {
    content: "";
    display: flex;
    height: 100%;
    padding-bottom: 0.5em;
    background: linear-gradient(-45deg, var(--receipt-bg-color) 5px, transparent 0) 0 5px, linear-gradient(45deg, var(--receipt-bg-color) 5px, var(--bg-color) 0) 0 5px;
    background-color: var(--receipt-bg-color);
    background-position: left bottom !important;
    background-repeat: repeat-x !important;
    background-size: 10px 10px;
}

.receipt-main {
    padding: 2em 7%;
}

.receipt-main > * {
    margin-top: 2em;
}

.receipt-main > *:first-child {
    margin-top: 0;
}

.receipt-title {
    display: inline;
    color: var(--text-on-primary-color);
    background: var(--primary-color);
    padding: 0.5em;
    margin-left: -9.5%;
    text-decoration: none;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    box-shadow: 2px 2px 1px 0 rgba(0, 0, 0, 0.4);
}

.receipt-data {
    font-family: consolas, monospace;
}

.receipt-line {
    display: flex;
    justify-content: space-between;
}

.receipt::after {
    content: "";
    display: flex;
    height: 100%;
    padding-top: 0.5em;
    background: linear-gradient(-135deg, var(--receipt-bg-color) 5px, transparent 0) 0 5px, linear-gradient(135deg, var(--receipt-bg-color) 5px, var(--bg-color) 0) 0 5px;
    background-color: var(--receipt-bg-color);
    background-position: left bottom !important;
    background-repeat: repeat-x !important;
    background-size: 10px 10px;
}

.no-receipts {
    display: flex;
    flex-flow: column;
    justify-content: center;
}
.no-receipts > a {
    align-self: center;
}

.error {
    color: red;
    display: flex;
    align-items: center;
    margin-top: 1em;
}

.validation-error-message {
    font-size: 0.8em;
    color: red;
    margin-top: -0.7em;
    margin-bottom: 1em;
}

input, textarea, select {
    color: #000;
    font-family: Verdana, sans-serif;
}

textarea:focus, input:focus {
    color: #000;
}

.no-receipts {
    font-size: 1.1em;
    margin: 15px auto;
}

input::-webkit-input-placeholder {
    color:#767676;
}
input::-moz-placeholder {
    color:#767676;
    opacity: 1;
}
input:-moz-placeholder {
    color:#767676;
    opacity: 1;
}
input::-ms-input-placeholder {
    color:#767676;
}	/* IE10+ */

input[type=date] {
    color:#767676;
}

input[type=date]:valid {
    color: #000;
}

input[type=email] {
    color:#aaa;
}

input[type=email]:valid {
    color: #000;
}