@font-face {
    font-family: "Open Sans";
    font-weight: normal;
    font-style: normal;
    src: url("../fonts/OpenSans-Regular.eot");
    src: url("../fonts/OpenSans-Regular.eot?#iefix") format("embedded-opentype"),
    url("../fonts/OpenSans-Regular.woff") format("woff"),
    url("../fonts/OpenSans-Regular.svg") format("svg");
}

@font-face {
    font-family: "Open Sans";
    font-weight: 600;
    font-style: normal;
    src: url("../fonts/OpenSans-Semibold.eot");
    src: url("../fonts/OpenSans-Semibold.eot?#iefix") format("embedded-opentype"),
    url("../fonts/OpenSans-Semibold.woff") format("woff"),
    url("../fonts/OpenSans-Semibold.svg#Semibold") format("svg");
}

html {overflow-y: scroll;}
body {margin: 0; padding: 0; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; color: #111; letter-spacing: 0; background: #f8f8f8;}

input, textarea { font-family: "Open Sans", Arial, sans-serif; font-size: 15px;}
a {color: #267E54; text-decoration: none;}

/* Layout */
.main-wrapper { position: relative; min-width: 300px; margin: 0 auto;}
.main-wrapper > .main-header {display: flex; flex-flow: row nowrap; position: fixed; height: 60px; align-items: center; justify-content: flex-end; z-index: 9; left: 0; top: 0; width: 100%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);}
.main-wrapper > .main-header > .logo {    display: block;position: relative;flex: 0 0 auto;width: 136px;top: -1px;padding: 14px 0 0 17px;}
.main-wrapper > .main-header > .logo > img {width: 100%;}
.main-wrapper > .main-header > .logo > span {display: block; position: absolute; top: 3px; right: 0; color: #333; font-size: 10px; font-weight: 600; text-transform: uppercase;}

.main-wrapper > .main-header > .side {display: flex; flex: 1 1 auto; flex-flow: row nowrap; padding-right: 5px; align-items: stretch; justify-content: flex-end;}
.main-wrapper > .main-header > .side > .user {position: relative; flex: 0 0 auto; width: 50px;}
.main-wrapper > .main-header > .side > .user > .initials {display: block; position: absolute; left: 50%; top: 50%; width: 40px; height: 40px; transform: translate(-50%, -50%); line-height: 40px; font-size: 16px; font-weight: bold; text-align: center; border-radius: 20px; background: #ccc;}
.main-wrapper > .main-header > .side > .logout {display: block; flex: 0 0 auto; width: 60px; height:60px; background: url('/frontend/template/assets/images/icons/logout-black.svg') center center no-repeat; background-size: 24px 24px; transition: all 0.15s ease-out;}
.main-wrapper > .main-header > .side > .logout:hover {background-color: #eee;}

.main-wrapper > .main-header > .side > .language {position: relative; flex: 0 0 auto; margin-right: 5px; transition: all 0.15s ease-out;}
.main-wrapper > .main-header > .side > .language > .selected {position: relative; top: 50%; transform: translateY(-50%); padding: 12px 23px 12px 7px; background: url('/frontend/template/assets/images/icons/arrow-down.svg') right 7px center no-repeat; background-size: 10px 10px; cursor: pointer;}
.main-wrapper > .main-header > .side > .language > .selected > .tag {display: none; line-height: 14px; font-size: 14px; font-weight: 600; color: #222; text-transform: uppercase;}
.main-wrapper > .main-header > .side > .language > .selected > .name {display: block; line-height: 14px; font-size: 14px; font-weight: 600; color: #222;}

.main-wrapper > .main-header > .side > .languages:hover > .options {display: block;}

.main-wrapper > .main-header > .side > .selection {
    display: flex;
    align-items: center;
    margin-right: 10px;
}

.main-wrapper > .main-header > .side > .selection .im-select,
.main-wrapper > .main-header > .side > .selection .im-select option {
    cursor: pointer;
}

.main-wrapper > .main-header > .side > .selection .im-select[data-action="selectLanguage"].mobile,
.main-wrapper > .main-header > .side > .selection .im-select[data-action="selectLanguage"].mobile option {
    text-transform: uppercase;
}


@media all and (min-width: 651px) {
    .main-wrapper > .main-header > .side > .selection .im-select:not(:hover) {
        border-color: transparent;
    }

    .main-wrapper > .main-header > .side > .selection .im-select[data-action="selectLanguage"].mobile {
        display: none;
    }

    .main-wrapper > .main-header > .side > .selection .im-select[data-action="selectLanguage"] {
        width: min-content;
    }
}

/* Main area */
.main-wrapper > .main-area {padding-top: 60px; padding-bottom: 65px;}

/* Main footer */
.main-wrapper > .main-footer {position: fixed; z-index: 9; left: 0; bottom: 0; width: 100%; height: 55px;}
.main-wrapper > .main-footer > .nav {display: flex; flex-flow: row nowrap;}
.main-wrapper > .main-footer > .nav > .item {display: block; flex: 1 1 auto; width: 50%; height: 55px; line-height: 55px; text-transform: uppercase; background: #f2f2f2; box-shadow: 0 0 0 1px #ccc; font-size: 13px; font-weight: bold; text-align: center; transition: all 0.2s ease;}
.main-wrapper > .main-footer > .nav > .item:hover {box-shadow: 0 0 0 1px #bbb; background: #e5e5e5;}
.main-wrapper > .main-footer > .nav > .item.active {box-shadow: 0 0 0 1px #1e6b46; background: #1f6e48; color: #fff;}

.imjs-dialog-inner.imjs-default.ws-dialog > .imjs-buttons > .imjs-button {padding: 7px 10px; border: 2px solid #ccc; border-radius: 2px;}
.imjs-dialog-inner.imjs-default.ws-dialog > .imjs-buttons > .imjs-button.green {border-color: #319b68; color: #288458;}

/* Settings */
.settings-popup {width: 250px; padding-top: 3px;}
.settings-popup > .language > .title {margin-bottom: 10px; padding: 0 10px; font-size: 12px; font-weight: bold; text-transform: uppercase; color: #111; cursor: default;}
.settings-popup > .language > .options > .option {display: block; padding: 12px 10px; font-size: 14px; line-height: 16px; color: #222; cursor: pointer;}
.settings-popup > .language > .options > .option:hover {background-color: #fafafa; color: #000;}
.settings-popup > .language > .options > .option.selected {background-color: #f5f5f5; color: #000; font-weight: bold;}

@media all and (max-width: 1000px) {
    .main-wrapper > .main-header > .side > .selection .im-select[data-action="selectFactory"],
    .main-wrapper > .main-header > .side > .selection .im-select[data-action="selectCreator"] {
        width: 150px;
    }
}

@media all and (max-width: 800px) {
    .main-wrapper > .main-header > .side > .selection .im-select[data-action="selectFactory"],
    .main-wrapper > .main-header > .side > .selection .im-select[data-action="selectCreator"] {
        width: 100px;
    }
}

@media all and (max-width: 650px) {
    .main-wrapper > .main-header > .side > .selection .im-select {
        padding: 0;
    }

    .main-wrapper > .main-header > .side > .selection .im-select[data-action="selectLanguage"].desktop {
        display: none;
    }

    .main-wrapper > .main-header > .side > .selection .im-select[data-action="selectLanguage"] {
        width: 50px;
    }

    .main-wrapper > .main-header > .side > .selection .im-select[data-action="selectFactory"],
    .main-wrapper > .main-header > .side > .selection .im-select[data-action="selectCreator"] {
        width: 50px;
    }

    .main-wrapper > .main-header > .side > .selection {
        margin-right: 5px;
    }
}

@media all and (max-width: 550px) {
    .main-wrapper > .main-header > .logo {top: 1px; width: 100px;}
    .main-wrapper > .main-header > .logo > span {top: 0;}

    .main-wrapper > .main-area {padding-top: 60px;}
}

@media all and (max-width: 450px) {
    .main-wrapper > .main-header > .logo {top: 0; width: 100px;}
    .main-wrapper > .main-area {padding-top: 60px;}
}

.main-wrapper > .main-header > .side > .portalNavigationMenu {
    height: 100%;
    display: flex;
    justify-content: flex-end;
    --portal-menu-height: 60px;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu:hover {
    background-color: #eee;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li {
    display: flex;
    align-items: center;
    position: relative;
    height: var(--portal-menu-height);
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li > span {
    padding-inline: 12px;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    cursor: default;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li > span > i.portal-navigation-icon {
    display: block;
    width: 24px;
    height: 17px;
    background: url(../images/portal-navigation-black.png) center center no-repeat;
    background-size: cover;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li ul.submenu {
    display: block;
    position: absolute;
    top: var(--portal-menu-height);
    width: max-content;
    --easing: 0.3s;
    padding: 0;
    font-size: 12px;
    background: #fff;
    border: 1px solid #d4d4d4;
    border-top: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li > ul.submenu {
    padding-block: 10px;
    right: -1px;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li > ul.submenu > li {
    padding-inline: 20px;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li > ul.submenu {
    max-width: 400px;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li > ul.submenu {
    opacity: 0;
    transition: opacity var(--easing) ease-out, top 0s var(--easing) ease-out;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li:not(:hover) > ul.submenu {
    top: -1000px;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li:hover > ul.submenu {
    opacity: 1;
    transition: opacity var(--easing) ease-out;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li > ul.submenu > li {
    display: block;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li > ul.submenu > li > .link {
    display: block;
    line-height: 18px;
    font-size: 12px;
    color: #333333;
    padding: 4px 20px 4px 5px;
    position: relative;
}
.main-wrapper > .main-header > .side > .portalNavigationMenu > li > ul.submenu > li > .link:hover {
    background: #f5f5f5;
    border-radius: 3px;
}
