@media only screen and (min-width: 960px) {

    body {
        background-color: #eceff1;

        opacity: 1;
        transition-property: opacity;
        transition-timing-function: ease-out;
        transition-duration: var(--animation-time);
    }

    body.hidden {
        opacity: 0;
        transition-property: opacity;
    }

    header {
        display: flex;
        flex-direction: row;
        height: 48px;
        align-items: center;
    }

    header nav {
        flex: 1;
        display: flex;
        align-items: center;
        flex-direction: row;
    }


    header button,
    header nav li {
        height: 40px;
        width: 40px;
        margin: 0px 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 4px;
        transition: var(--transition-theme);
        cursor: default;
        position: relative;
    }

    header button {
        margin-left: 0px !important;
    }

    header button:hover,
    header nav li:hover {
        background-color: var(--primary-color-light);
    }

    header h1 {
        margin: 0px;
        padding: 0px 16px;

        height: 100%;
        display: flex;
        align-items: baseline;
    }

    header input[type=search] {
        background-color: var(--primary-color-light);
        padding: 10px;
        height: 40px;
        box-sizing: border-box;
        border-radius: 4px;
        border: none;
        font-size: var(--default-font-size);
        font-family: 'Roboto', sans-serif;
        color: #fff;
        width: 640px;
        opacity: 1;
        position: absolute;
        right: 56px;

        transition: var(--transition-theme), width .2s ease, opacity .1s ease;
    }

    header input[type=search]:not(.visible) {
        width: 0;
        opacity: 0;
        transition: width .3s ease-in-out, opacity .2s ease-in-out;
    }

    header input[type=search]::placeholder {
        color: #fffb;
        font-style: italic;
    }

    header input[type=search]::-webkit-search-cancel-button {
        -webkit-appearance: none;
    }

    header input[type=search].visible ~ button#btn_search {
        display: none;
    }

    main {
        flex: 1;
        overflow: hidden;
    }

    main .page {
        height: 100%;
        color: var(--fg-color);
    }

    main .page h1,
    main .page h2 {
        font-weight: 300;
        margin: 32px 0 16px;
        padding: 0;
    }

    /***************************************************
     *
     * Form
     *
     ***************************************************/
     div.form {
        overflow: hidden;
        display: flex;
        flex-direction: column;
        font-size: var(--default-font-size);
        color: var(--fg-color);
        position: relative;
    }

    div.form > div {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin: 16px 16px 8px;
        position: relative;
    }
    
    div.form input ~ label,
    div.form textarea ~ label,
    div.form .dd-select ~ label {
        position: absolute;
        top: 18px;
        left: 16px;
        color: var(--fg-color-light);
        transition: all var(--theme-transition-time) ease-out;
        cursor: text;
        transform-origin: bottom left;
    }

    
    div.form input:focus ~ label,
    div.form input:read-only ~ label,
    div.form input:not(:placeholder-shown) ~ label,
    div.form textarea:focus ~ label,
    div.form textarea:read-only ~ label,
    div.form textarea:not(:placeholder-shown) ~ label,
    div.form .dd-select ~ label { 
        transform: scale(0.8) translateY(-34px) translateX(-8px);
        font-weight: 400;
        background-color: #fff;
        padding: 0 4px;
    }
    
    div.form input,
    div.form textarea,
    div.form .dd-select {
        padding: 16px;
        font-family: "Roboto", sans-serif;
        font-size: var(--default-font-size);
        border: 2px solid var(--border-color-inactive);
        
        border-radius: 4px;
        margin: unset;

        background-color: transparent;
        background-image: none !important;
        
        color: var(--fg-color);
        transition: var(--transition-theme);
        flex: 1;
    }
    div.form input:focus,
    div.form input:not(:disabled):hover,
    div.form textarea:focus
    div.form textarea:not(:disabled):hover,
    div.form .dd-select:not(.disabled):hover {
        border: 2px solid var(--border-color);
        transition: var(--transition-theme);
    }

    div.form input:not(:read-only):focus ~ label,
    div.form textarea:not(:read-only):focus ~ label {
        color: var(--primary-color);
    }

    div.form span.checkbox ~ label {
        margin-left: 16px;
    }
    div.form span.checkbox:hover {
        border-color: var(--border-color);
    }

    div.form .buttons {
        display: grid;
        grid-template-areas: "none cancel okay";
        grid-template-columns: 1fr auto auto;
        grid-gap: 8px;
        margin-top: 16px;
        margin-bottom: 16px;
    }
    
    div.form .buttons button {
        border: none;
        border-radius: 4px;
        text-transform: uppercase;
        font-weight: 500;
        min-width: 64px;

        padding: 8px 16px;
        margin: 0;

        transition: var(--transition-theme);
    }

    div.form .buttons button.high {
        background-color: var(--primary-color);
        color: var(--on-primary-color);
    }
    div.form .buttons button.medium {
        background-color: var(--primary-color-light);
        color: var(--on-primary-color);
    }

/*

    div.form label {
        position: absolute;
        top: 8px;
        color: var(--fg-color-light);
        transition: all var(--theme-transition-time) ease-out;
        transform-origin: bottom left;
    }

    div.form input {
        padding: 8px 0;
        font-family: "Roboto", sans-serif;
        font-size: var(--default-font-size);
        border: none;
        
        border-radius: unset;
        margin: unset;

        background-color: transparent;
        
        color: var(--fg-color);
        /*border-bottom: 2px solid var(--border-color-inactive)* /;
        transition: var(--transition-theme);
        background-size: 0% 100%;
        background-repeat: no-repeat;
        background-position-x: var(--ripple-x-percent);
    }

    div.form .input {
        background-repeat: no-repeat;
        background-image: linear-gradient(to top, var(--border-color-light-inactive), var(--border-color-light-inactive) 2px, transparent 2px, transparent 100%);
    }


    div.form input.error,
    div.form input.error ~ label {
        --primary-color: hsl(0, 50%, 50%);
        --fg-color-light: var(--primary-color);
        --border-color: var(--primary-color);
        --border-color-inactive: var(--primary-color);
    }

    div.form input:not(:read-only):focus,
    div.form textarea:not(:read-only):focus {
        background-image: linear-gradient(to top, var(--border-color), var(--border-color) 2px, transparent 2px, transparent 100%);
        background-size: 100% 100%;
    }

    div.form input:focus ~ label,
    div.form input:read-only ~ label,
    div.form input:not(:placeholder-shown) ~ label,
    div.form textarea:focus ~ label,
    div.form textarea:read-only ~ label,
    div.form textarea:not(:placeholder-shown) ~ label {
        transform: scale(0.75) translateY(-30px);
        font-weight: 500;
    }

    div.form input:not(:read-only):focus ~ label,
    div.form textarea:not(:read-only):focus ~ label {
        color: var(--primary-color);
    }

    span.button,
    div.form button {
        border: none;
        border-radius: 4px;
        background-color: var(--primary-color);
        color: var(--on-primary-color);
        text-transform: uppercase;
        font-weight: 500;

        padding: 8px;

        transition: var(--transition-theme);
    }

    span.button {
        display: inline-block;
    }

    .dialog div.form .buttons button {
        margin: 0;
    }


    div.form .buttons {
        display: grid;
        grid-template-areas: "none cancel okay";
        grid-template-columns: 1fr auto auto;
        grid-gap: 8px;
        margin-top: 16px;
        margin-bottom: 16px;
    }
    */

    /***************************************************
     *
     * Suggest
     *
     ***************************************************/
    .suggest {
        position: absolute;
        width: 240px;
        padding: 0px;
        margin: 0px;
        background-color: #fff;
        list-style: none;
        box-shadow: 0px 4px 8px #0006;
        border-radius: 4px;

        color: var(--fg-color);
        font-size: var(--default-font-size);
    }

    .suggest ul {
        list-style: none;
        padding: 0px;
        margin: 0px;
    }

    .suggest li {
        padding: 8px;
    }

    .suggest li:hover,
    .suggest li.selected {
        cursor: default;
        background-color: #dee4e8a0;
    }

    main {
        overflow-y: auto;
    }

}