
@font-face
{
    font-family: 'Open Sans';
    src: url(font/OpenSans-Regular.ttf);
}

@font-face
{
    font-family: 'Open Sans Bold';
    src: url(font/OpenSans-SemiBold.ttf);
}

@font-face
{
    font-family: 'Open Sans Italic';
    src: url(font/OpenSans-RegularItalic.ttf);
}

@font-face
{
    font-family: 'Liberation Sans Regular';
    src: url(font/LiberationSans-Regular.ttf);
}

@font-face
{
    font-family: 'Liberation Sans Bold';
    src: url(font/LiberationSans-Bold.ttf);
}

@font-face
{
    font-family: 'Liberation Sans Italic';
    src: url(font/LiberationSans-Italic.ttf);
}

@font-face
{
    font-family: 'Liberation Sans BoldItalic';
    src: url(font/LiberationSans-BoldItalic.ttf);
}

body
{
    margin: 0;
}

:root
{
    --main-brand-color: #FFCC00;
    --red: #E30613;
    --text-color: #333333;
}

#app
{
    --header-height: 135px;
    --sidebar-width: 320px;
    --toolbar-height: 30px;
    --main-content-height: calc(100vh - var(--header-height) - var(--toolbar-height));
    --main-content-width: calc(100vw - var(--sidebar-width));
    --font: 'Open Sans';
    --bold-font: 'Open Sans Bold';
    --italic-font: 'Open Sans Italic';
    font-family: var(--font);
    height: 100vh;
    width: 100vw;
    display: grid;
    grid-template-columns: var(--sidebar-width) var(--main-content-width);
    grid-template-rows: var(--header-height) var(--toolbar-height) var(--main-content-height);
    grid-template-areas:
        "header header"
        "toolbar toolbar"
        "sidebar main-content";
}

#app .btn,
#app .btn-large,
#app .btn-small
{
    background-color: var(--main-brand-color);
    box-shadow: 0 3px 3px 0 rgba(255, 204, 0,0.14),0 1px 7px 0 rgba(255, 204, 0,0.12),0 3px 1px -1px rgba(255, 204, 0,0.2);
    border-radius: 20px;
    color: var(--text-color);
}

/* #app input[type="text"]:not(.browser-default):focus:not([readonly]) */
/* { */
/*     border-bottom: 1px solid var(--main-brand-color); */
/*     box-shadow: 0 1px 0 0 var(--main-brand-color); */
/* } */

#app input[type="text"]:not(.browser-default):focus:not([readonly]) + label,
#app li > a
{
    color: var(--main-brand-color);
}

#app > .row
{
    margin: 0;
    height: 100%;
}

#app .main-content
{
    grid-area: main-content;
    /* background-color: rgb(38, 166, 154); */
    /* margin-left: 300px; */
    /* height: 100%; */
    position: relative;
    overflow: hidden;
    width: var(--main-content-width);
    height: var(--main-content-height);
}

#app .main-content > *
{
    height: var(--main-content-height);
}

#app .toolbar
{
    grid-area: toolbar;
    background-color: #EEEEEE;
    border-top: 1px solid lightgray;
    box-shadow: 0 0 05px lightgrey;
    padding: 0 5px;
}

#app .toolbar .one-item,
#app .image-toolbar .one-item
{
    display: inline-block;
    cursor: pointer;
    user-select: none;
    padding: 2px 6px;
}

#app > .option-box
{
    grid-row: 3;
    grid-column-start: 1;
    grid-column-end: 3;
    z-index: 1;
}

#app > .option-box .options
{
    width: 300px;
    background: white;
    border: 1px solid gray;
}

#app > .option-box .options .one-item
{
    padding: 3px 5px;
    user-select: none;
    cursor: pointer;
}

#app > .option-box .one-item.disabled,
#app > .toolbar .one-item.disabled,
#app .image-toolbar .one-item.disabled
{
    color: #AAAAAA;
    cursor: default;
}

#app > .option-box .options .menu
{
    position: relative;
}

#app .option-box .menu > .one-item::after {
    content: '>';
    position: absolute;
    right: 6px;
}

#app .option-box .options .options {
    display: none;
    left: 100%;
    width: 200px;
    top: 0;
    background-color: #EEEEEE;
    position: absolute;
}

#app .option-box .menu:hover > .options
{
    display: block;
}

#app .startscreen button:hover,
#app .startscreen a:hover
{
    background-color: #E6B800;
}

#app .startscreen h4
{
    margin-top: 0;
}

#app [type="checkbox"]
{
    position: unset!important;/* fixes bug in materialize css... */
}

#app nav
{
    width: calc(100% - 300px);
}

#app .editscreen .scroll-vertical,
#app .expand-for-pdf .scroll-vertical
{
    height: 84%;
}

#app .editscreen,
#app .editscreen .content,
#app .evalutaion-preview,
#app .evalutaion-preview .content,
#app .expand-for-pdf,
#app .expand-for-pdf .content
{
    height: 100%;
}

#app .editscreen .content,
#app .evalutaion-preview .content
{
    /* margin-top: 50px; */
}

#app embed,
#app iframe
{
    width: 100%;
    height: 100%;

}

#app .global-actions-container
{

}

#app .global-actions
{
    font-size: large;
    color: #ee6e73;
    margin: 0 48px 0 16px;
    padding: 10px 0;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    border-top: 1px solid lightgrey;
}

#app .global-actions i
{
    cursor: pointer;
}

#app .toolbar-title
{
    font-size: 150%;
}

#app .toolbar-sub-title
{
    font-size: 120%;
}

#app .toolbar-title,
#app .toolbar-sub-title
{
    line-height: 22px;
}

#app .toolbar-titles
{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 10px 10px;
}

#app .badge.new
{
    float: left;
    cursor: pointer;
}

#app .badge.new.active
{
    font-family: var(--bold-font);
}

#app .badge.new:first-child
{

    margin-left: 0;
}

#app .badge.new::after
{
    content: '';
}

#app .no-margin
{
    margin: 0;
}

.modal
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 2;
    overflow: hidden;
}

.modal-content
{
    width: 60%;
    margin-left: 50vw;
    margin-top: 50vh;
    transform: translate(-50%, -50%);
    background-color: #FFFFFF;
    padding: 35px;
    border-radius: 3px;
    box-shadow: 0 0 10px gray;
}

#app button.expand
{
    width: 100%;
}

#app .top-actions
{
    margin: 0 45px 10px 16px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    border-bottom: 1px solid lightgrey;
}

#app .top-actions > a
{
    padding: 0;
    font-size: 30px;
    width: 50px;
}

#app .top-actions > a > i
{
    color: #ee6e73;
    padding-left: 6px;
    margin-right: 0;
}

/* #app .home-anchor */
/* { */
/*     padding-left: 16px; */
/*     padding-right: 48px; */
/* } */

/* #app .home */
/* { */
/*     cursor: pointer; */
/*     border-bottom: 1px solid lightgrey; */
/*     color: #ee6e73; */
/*     text-align: center; */
/*     width: 100%; */
/*     font-size: 30px; */
/* } */

#app .flip-vertical
{
    float: right;
    color: var(--main-brand-color);
    transform: rotateZ(-20deg) rotateX(180deg);
}

#app nav .active
{
    background-color: rgba(0, 0, 0, 0.1);
}

#app .hidden
{
    display: none;
}

#app .scroll-vertical
{
    overflow-y: scroll;
    height: 100%;
}

#app .show-screen
{
    background-color: white;
    animation: show-screen 0.2s;
    z-index: 1;
}

#app .form.expanding
{
    display: block;
    width: 100%;
    transition: 0.5s max-height;
    max-height: 2000px;
    /* overflow: hidden; */
}

@keyframes show-screen
{
    0%
    {
        transform: translateY(30px);
        opacity: 0;
    }

    100%
    {
        transform: translateY(0);
        opacity: 1;
    }
}

#app .container
{
    box-sizing: border-box;
    padding: 80px 200px;
}

#app .flex:not(.hidden)
{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

#app .flex:not(.no-wrap)
{
    flex-wrap: wrap;
}

#app .flex.other-center
{
    align-items: center;
}

#app .button.long-text
{
    --button-width: 302px;
}

#app .align-start
{
    align-items: start;
}

#app .form-container,
#app .info-container
{
    margin: 40px;
    box-sizing: border-box;
}

#app .form.expanding > .form-container:first-child,
#app .form.expanding > .info-container:first-child
{
    margin-top: 0;
}

#app .form.expanding > .form-container:last-child,
#app .form.expanding > .info-container:last-child
{
    margin-bottom: 0;
}

#app .form-container,
.form-background
{
    padding: 40px;
    background-color: #EDEDED;
}

#app .info-container
{
    padding: 0 40px;
}

#app .form-container.highlight
{
    background-color: var(--main-brand-color);
}

#app .center-flex
{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

#app .block
{
    margin-bottom: 20px;
}

#app .block:last-child
{
    margin-bottom: 0;
}

#app .block.big > *:not(.no-margin)
{
    margin-bottom: 20px;
}

#app .block.big > *:last-child
{
    margin-bottom: 0;
}

#app .no-side-padding
{
    padding-left: 0;
    padding-right: 0;
}

#app .main-content .hide-me
{
    display: none;
}

#app .flex.column
{
    flex-direction: column;
}

#app .not-so-high > .scroll-vertical
{
    height: 80%;
}

#app .fas.fa-one,
#app .fas.fa-second
{
    font-family: var(--font);
}

#app .fas.fa-one::before
{
    content: '1';
}

#app .fas.fa-second::before
{
    content: '2';
}

#app .with-border-bottom
{
    padding-bottom: 20px;
    /* border-bottom: 1px solid gray; */
}

#app .chapter-delete
{
    color: var(--main-brand-color);
    font-size: 30px;
    padding: 20px;
}

#app .fifty
{
    width: 50%;
}

#app .popup-form .radio-group,
#app .popup-form .input-field
{
    margin-bottom: 10px;
}

#app .popup-form .input-field
{
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 100px 50% 1fr;
    grid-template-areas: "input label error";
}

#app .popup-form .input-field label
{
    padding: 10px;
    grid-area: label;
}

#app .popup-form .input-field input
{
    grid-area: input;
}

#app .popup-form .input-field .input-error-message
{
    grid-area: error;
}

#app .hide-me
{
    display: none;
}

#app .block.big.yoho > *:last-child
{
    justify-content: flex-start;
}

#app .help-div
{
    align-self: center;
}

#app .help-link, #app .help-link2
{
    position: absolute;
    right: 20px;
    display: inline-block;
    color: black;
    /* transform: translateX(200px); */
}

#app .help-link2
{
    top: 90px;
}

#app .image-edit-container
{
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
}

#app .modal-content .image-edit-container > .image-toolbar
{
    width: 100%;
    height: 30px;
    background-color: #EDEDED;
    margin: 0;
}

#app .image-canvas
{
    background-color: white;
    width: 10px; /* Will be overwritten in JS. */
    height: calc(80vh - 30px - 63px);
    border: 1px solid black;
}

#app .image-canvas image
{
    /* cursor: move; */
    user-select: none;
}

#app .image-canvas.remove-stuff circle:hover
{
    stroke: blue;
    cursor: pointer;
}

#app .image-canvas.remove-stuff path:hover
{
    cursor: pointer;
    fill: blue;
}

#app .image-canvas.add-text image
{
    cursor: text;
}

#app .image-canvas.draw-arrow image,
#app .image-canvas.draw-circle image
{
    cursor: crosshair;
}

input[type=text].image-floating-textbox
{
    background-color: transparent;
    position: absolute;
    z-index: 2;
    border: none;
    padding: 0;
}

input[type=text].image-floating-textbox:focus
{
    outline: none;
}

#app .image-toolbar .one-item.active
{
    border: 1px solid black;
    border-bottom-color: white;
    border-right-color: white;
    background-color: white;
}

#app .image-toolbar .one-item .color-picker
{
    width: 10px;
    height: 10px;
    display: inline-block;
    border: 1px solid black;
    margin-left: 1px;
}

#app .image-edit-container .button-box > *
{
    margin-right: 10px;
}

#app .image-edit-container .button-box > *:last-child
{
    margin-right: 0;
}

#app .image-edit-container .button-box .button
{
    --button-width: 200px;
}

#app .upload-preview
{
    width: 50px;
    display: block;
    cursor: pointer;
    margin-bottom: 10px;
}

#app .upload-preview-group
{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 10px;
}

#app .upload-preview-group .upload-preview
{
    margin-bottom: 0;
    margin-right: 5px;
    cursor: not-allowed;
}

#app .upload-preview-group i
{
    color: var(--main-brand-color);
    font-size: 26px;
    cursor: pointer;
}

#app .upload-button.button
{
    width: 400px;
}

.recover-project .button:last-child
{
    margin-left: 10px;
}

#app .info
{
    margin-top: 5px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: var(--main-brand-color);
    border: 1px solid black;
    cursor: help;
}

#app label .info,
#app h4 .info
{
    top: 5px;
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 0 0 5px;
}

#app label .info i,
#app h4 .info i
{
    position: absolute;
    top: 0;
    padding: 4px 0;
    font-size: 12px;
    width: 100%;
    text-align: center;
}

.pdf-to-images
{
    width: 0;
    height: 0;
    overflow: hidden;
}

.pdf-to-images > iframe
{
    width: 1000px;
    height: 500px;
}

.process-dialog-progress
{
    text-align: center;
}
