
@font-face {
    font-family: "OpenSans";
    src: url("../webfonts/OpenSans-Regular.eot");
    src: url("../webfonts/OpenSans-Regular.woff2") format("woff2"), url("../webfonts/OpenSans-Regular.woff") format("woff"), url("../webfonts/OpenSans-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: fallback;
}

@font-face {
    font-family: "OpenSans";
    src: url("../webfonts/OpenSans-SemiBold.eot");
    src: url("../webfonts/OpenSans-SemiBold.woff2") format("woff2"), url("../webfonts/OpenSans-SemiBold.woff") format("woff"), url("../webfonts/OpenSans-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: fallback;
}
@font-face {
    font-family: "HelveticaNeue";
    src: url("../webfonts/HelveticaNeueLTW1G-MdCn.eot");
    src: url("../webfonts/HelveticaNeueLTW1G-MdCn.woff2") format("woff2"), url("../webfonts/HelveticaNeueLTW1G-MdCn.woff") format("woff"), url("../webfonts/HelveticaNeueLTW1G-MdCn.ttf") format("truetype");
    font-style: normal;
    font-display: fallback;
}

html,
body {
    position: relative;
}
body {
    background-color: #edeef3;
    font-family: OpenSans, Tahoma, Arial, sans-serif;
    font-size: 14px;
    color: #1e3050;
    margin: 0;
    padding: 0;
    min-height: 100vh;
}
body {
    transition: ease all 1s;
}
.helvetica {
    font-family: HelveticaNeue, OpenSans, Tahoma, Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.container-flex-centered {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header {
    font-weight: 600;
    font-size: 28px;
}

.hidden {
    display: none;
}
.red {
    color: #ff0000;
}

.mb30 { margin-bottom: 30px; }
.mb25 { margin-bottom: 25px; }
.mb20 { margin-bottom: 20px; }
.mb15 { margin-bottom: 15px; }
.mb10 { margin-bottom: 10px; }
.mb5 { margin-bottom: 5px; }

.mt30 { margin-top: 30px; }
.mt25 { margin-top: 25px; }
.mt20 { margin-top: 20px; }
.mt15 { margin-top: 15px; }
.mt10 { margin-top: 10px; }
.mt5 { margin-top: 5px; }

input.line {
    outline: 0;
    font-size: 16px;
    box-sizing: border-box;
    border: 0;
    border-bottom: 1px #183151 solid;
    color: #1e3050;
}
input.line.error {
    border-bottom: 1px #ff0000 solid;
}

.button {
    background-color: #183151;
    padding: 7px 12px;
    font-size: 14px;
    color: #fff;
    border-radius: 10px;
    transition: ease all .2s;
    cursor: pointer;
}
.button.inline {
    display: inline-block;
}
.button:hover {
    background-color: #324f85;
}
.button.disabled {
    cursor: default;
    background-color: #e1e1e1;
    color: #999;
}
.button.disabled:hover {
    background-color: #e1e1e1;
}
.button i {
    margin-right: 9px;
    font-size: 14px;
}

.loading {
    display: none;
}
.loading.active {
    display: block;
    width: 24px;
    height: 24px;
    border: 4px solid;
    border-color: #183151 transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
    margin-right: 20px;
}

@keyframes rotation {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.slider {
    display: none;
}
.slider.active {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999999;
    width: 100%;
    height: 100%;
    min-height: 100vh;
}
.slider-win {
    width: calc(100% - 80px);
    height: calc(100% - 110px);
    margin-top: 30px;
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
}
.slider-win-name {
    position: absolute;
    z-index: 15;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    top: 10px;
}
.slider-win-name > div {
    background-color: #fff;
    padding: 10px 14px;
    border-radius: 10px;
    font-weight: 600;
    color: #000000;
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.2);
}
.slider-win-close {
    position: absolute;
    z-index: 16;
    width: 32px;
    height: 32px;
    top: 14px;
    right: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.close {
    position: absolute;
    width: 32px;
    height: 32px;
    opacity: 0.6;
}
.close:hover {
    opacity: 1;
}
.close:before, .close:after {
    position: absolute;
    left: 15px;
    content: ' ';
    height: 33px;
    width: 2px;
    background-color: #fff;
}
.close:before {
    transform: rotate(45deg);
}
.close:after {
    transform: rotate(-45deg);
}
.slider .swiper.main {
    width: 100%;
    height: 100%;
    --swiper-navigation-color: #ffffff;
}
.slider .swiper.main .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}
.slider .swiper.main .swiper-slide img, .slider .swiper.main .swiper-slide video {
    max-width: 100%;
    max-height: 100%;
}
.slider .swiper.main .swiper-slide video {
    max-width: 100%;
    max-height: 90%;
}
.slider .slider-thumbs {
    position: absolute;
    z-index: 17;
    bottom: 10px;
    max-width: 80%;
    height: 100px;
    padding: 10px;
    box-sizing: border-box;
    background-color: #000;
}
.slider .swiper.thumbs {
    width: 100%;
    height: 100%;
}
.slider .swiper.thumbs .swiper-slide {
    background-position: center;
    background-size: cover;
    width: 100px;
    opacity: 0.4;
}
.slider .swiper.thumbs .swiper-slide-thumb-active {
    opacity: 1;
}


.centered-win {
    background-color: #fff;
    padding: 30px;
    border-radius: 15px;
}
.centered-win > div > span {
    font-size: 13px;
    color: #616d6a;
    display: block;
    margin-bottom: 5px;
}
.centered-win input {
    min-width: 250px;
}
.auth-submit, .create-folder-buttons, .upload-files-buttons, .op-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.upload-files-buttons {
    position: relative;
    justify-content: center;
}
.upload-files .loading {
    position: absolute;
    right: 0;
}

.auth-submit .loading, .create-folder-buttons .loading, .upload-files-buttons .loading, .op-buttons .loading {
    margin-left: 10px;
}

.container-centered {
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}
.container-big {
    width: 100%;
    max-width: 980px;
    text-align: center;
    background-color: #fff;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 15px;
}
.search {
    display: flex;
    justify-content: flex-start;
    background-color: #e9eef6;
    border-radius: 25px;
    width: 100%;
    max-width: 600px;
    padding: 4px 15px 4px 4px;
    margin: 0 auto;
    align-items: center;
    box-sizing: border-box;
}
.search input {
    background-color: #e9eef6;
    border: 0;
    outline: 0;
    font-size: 16px;
    box-sizing: border-box;
    width: 100%;
}
.search-button {
    margin-right: 8px;
    padding: 10px;
    background-color: #ffffff;
    border-radius: 50%;
    transition: ease all .3s;
    cursor: pointer;
}
.search-button:hover {
    background-color: #dce1e8;
}
.search-button i {
    font-size: 18px;
}
.path {
    margin: 20px 0 5px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px #e1e1e1 solid;
    padding: 7px 0;
}
.location {
    font-size: 18px;
    flex: 1;
    text-align: left;
}
.path .button.upload {
    margin-left: 10px;
}
.full-path {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.full-path > div {
    font-size: 13px;
    position: relative;
    margin: 0 5px 5px 0;
    padding: 5px 5px 5px 5px;
    background-color: #e9eef6;
    border-radius: 6px;
}
/*
.full-path > div:after {
    content: ">";
    position: absolute;
    top: 0px;
    right: 0;
    font-weight: 400;
    font-size: 14px;

}*/
.full-path > div a {
    color: #8d8d8d;
    cursor: pointer;
    transition: ease all .3s;
}/*
.full-path > div:last-child a {
    cursor: default;
    color: #8d8d8d !important;
}*/
.full-path > div a:hover {
    color: #1e3050;
}
.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.8;
    z-index: 99999999;
}

.create-folder, .operations {
    display: none;
}
.create-folder.active, .operations.active {
    display: flex;
    position: fixed;
    z-index: 999999999;
    top: 0;
    left: 0;
}
.create-folder.active .centered-win, .operations.active .centered-win {
    max-width: 400px;
}

.create-folder-buttons .button.submit, .upload-files-buttons .button.submit, .op-buttons .button.submit {
    margin-right: 10px;
}
.create-folder-buttons .button.cancel, .upload-files-buttons .button.cancel, .op-buttons .button.cancel {
    background-color: #999999 !important;
    color: #ffffff !important;
}
.create-folder-buttons .button.cancel:hover, .upload-files-buttons .button.cancel:hover, .op-buttons .button.cancel:hover {
    background-color: #616d6a;
}
.create-folder .folder-keywords, .op-edit .edit-keywords {
    min-height: 50px;
    min-width: 250px;
    max-height: 250px;
    resize: none;
    outline: 0;
    font-size: 16px;
    box-sizing: border-box;
    border: 0;
    border-bottom: 1px #183151 solid;
    color: #1e3050;
    background-color: #f8f8f8;
}
.op-selected {
    display: flex;
    align-items: center;
}
.op-selected > div {
    margin-left: 5px;
    padding: 3px 8px;
    border-radius: 10px;
    background-color: #aedfff;
    font-size: 13px;
}
.op-selected > div > span {
    font-weight: 600;
    color: #1e3050;
    font-size: 14px;
}
.operations .op-option.hidden {
    display: none;
}

.op-move .tree-maindiv {
    width: 340px;
    height: 300px;
    background-color: #f7f7f7;
    padding: 6px 0;
    overflow-y: auto;
}
.op-move .tree-search {
    width: calc(100% - 30px);
}
.op-move .tree-reset {
    width: 25px;
    height: 25px;
    margin-left: 5px;
    color: red;
    background-color: #eaeaea;
    border: 0;
    border-radius: 5px;
    cursor: pointer;
}
.op-resize select {
    border: 0;
    border-radius: 10px;
    padding: 7px 12px;
    font-size: 14px;
    background-color: #e9e9ed;
    min-width: 177px;
}
.op-code .process-bar {
    width: 100%;
    height: 25px;
    border-radius: 10px;
    border: 1px solid #cccccc;
    overflow: hidden;
    position: relative;
}
.op-code .process-bar span {
    background-color: #aedfff;
    height: 100%;
    display: block;
    width: 0;
    line-height: 25px;
    position: absolute;
    text-align: end;
    padding-right: 5px;
}
.op-code textarea {
    width: 100%;
    height: 100px;
    border: 1px #ccc solid;
    box-sizing: border-box;
    outline: 0;
    font-size: 12px;
    color: #585858;
}
.op-code > div.hidden {
    display: none !important;
}
.file-viewer {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.file-viewer img {
    max-width: 100%;
}
.file-viewer > div:first-child {
    margin: 15px 0;
    font-weight: 600;
    font-size: 18px;
    text-align: center;
}
.file-viewer a {
    text-decoration: none;
    display: inline-block;
    margin-top: 10px;
}
.explorer-window {
    background-color: #f7f7f7;
    border-radius: 10px;
    margin-top: 20px;
}
.explorer {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
}
.explorer.files {

}
.explorer .loading.active {
    position: absolute;
    top: -25px;
    right: 0;
}
.explorer .empty {
    display: none;
}
.explorer .empty.active {
    display: block;
    padding: 20px;
}
.explorer .folder, .explorer .file {
    background-color: #e9eef6;
    border-radius: 8px;
    display: flex;
    align-items: center;
    padding: 10px 15px;
    font-size: 14px;
    transition: ease all .3s;
    width: calc(25% - 20px);
    box-sizing: border-box;
    margin: 10px;
    text-align: left;
    cursor: pointer;
}
.explorer .file {
    padding: 10px 10px;
    height: unset;
}

.explorer .folder i {
    margin-right: 9px;
    font-size: 16px;
}
.explorer .folder div {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.explorer .file {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
}
.explorer .file .name {
    margin-top: 9px;
    font-weight: 600;
}
.explorer .file .file-img, .explorer .file .file-video {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    border-radius: 5px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.explorer .file .file-video i {
    color: #f03;
    font-size: 60px;
    position: absolute;
    opacity: 0.9;
    left: calc(50% - 34px);
    top: calc(50% - 30px);
}

.explorer .folder.selected, .explorer .file.selected {
    background-color: #aedfff !important;
}
.explorer .folder:hover, .explorer .file:hover {
    background-color: #dce1e8;
}

.actions {
    display: none;
}
.actions.active {
    position: fixed;
    right: 10px;
    z-index: 9999;
    background-color: #fff;
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.2);
    border-radius: 25px;
    padding: 15px 25px;
    display: flex;
}
.actions .selected {
    display: flex;
    align-items: center;
}
.actions .selected span {
    font-weight: 600;
    margin-left: 5px;
}
.actions .ac-buttons {
    display: flex;
    align-items: center;
    margin-left: 20px;
}
.actions .ac-buttons > div.hidden {
    display: none !important;
}
.actions .ac-buttons > div.disabled {
    background-color: #e1e1e1;
}
.actions .ac-buttons > div.disabled i {
    color: #999;
}
.actions .select-all {
    margin-left: 20px;
}

.tooltip-content {
    font-size: 13px;
    max-width: 300px;
    overflow: hidden;
}
.tooltip-content > div {
    margin: 5px 0;
}
.tooltip-content .tc-name {
    font-size: 15px;
    font-weight: 600;
    color: #1e3050 !important;
    margin: 5px 0 7px 0;
}
.tooltip-content .tc-keys {
    color: #1e3050 !important;
}
.tooltip-content .tc-props {
    color: #999999 !important;
}
.tooltip-content .tc-buttons {
    margin: 10px 0 5px 0;
    display: flex;
    justify-content: center;
}
.tooltip-content .tc-buttons > div, .actions .ac-buttons > div {
    background-color: #e9eef6;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    margin-left: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: ease all .3s;
}
.tooltip-content .tc-buttons > div i, .actions .ac-buttons > div i {
    font-size: 14px;
    color: #1e3050;
}
.tooltip-content .tc-buttons > div:hover, .actions .ac-buttons > div:hover {
    background-color: #dce1e8;
}
.tooltip-content .tc-buttons > div:first-child, .actions .ac-buttons > div:first-child {
    margin-left: 0 !important;
}

.upload-files {
    display: none;
}
.upload-files.active {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #edeef3;
    height: 100vh;
    z-index: 999999999;
}
.upload-files .container-big {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.upload-files-dropzone {
    background-image: url("data:image/gif;base64,R0lGODlhIgAiAIAAAPLy8v///yH5BAAAAAAALAAAAAAiACIAAAh1AAMIHEhwIICDCBMqRFiwIcGFEBU6nBixIoCJDi1GxNhQI0SOBT0uBPlQZEKSBk0yRBlA5UqULg+ybBlzZsyLLG/arLlT5UyaPnua/Mkzp0uiR4WKRBrUaFOYSZ0OVeqR6VSpS6lqtJoVa1WtFrl2JanT69eAADs=");
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    border: 1px #183151 solid !important;
}
.dropzone .dz-preview.dz-image-preview {
    background: unset !important;
}

@media screen and (max-width: 1100px) {
    .explorer .folder, .explorer .file {
        font-size: 12px;
    }
    .explorer .folder, .explorer .file {
        width: calc(33.333% - 10px);
        margin: 5px;
    }
}
@media screen and (max-width: 600px) {
    .header {
        font-size: 22px;
    }
    .container-centered {
        padding: 10px;
    }
    .search-button {
        padding: 8px;
    }
    .search-button i {
        font-size: 14px;
    }
    .search input {
        font-size: 14px;
    }
    .path {
        flex-direction: column;
        border-bottom: 0;
    }
    .path .location {
        margin-bottom: 15px;
    }
    .explorer .file {
        width: calc(50% - 10px);
    }
    .explorer .folder {
        width: calc(50% - 10px);
        padding: 7px 10px;
    }
    .full-path {
        justify-content: center;
    }
    .path .button.upload {
        margin-left: 0;
        margin-top: 10px;
    }
    .dropzone {
        padding: 20px 10px !important;
    }
    .dropzone .dz-preview.dz-image-preview {
        margin: 6px !important;
        transform: scale(0.8);
    }
    .slider-win {
        width: 100%;
    }
    .slider .slider-thumbs {
        bottom: 0;
        max-width: 100%;
    }

    .actions.active {
        right: calc((100% - 300px)/2);
        padding: 10px 8px;
        width: 300px;
        justify-content: center;
        box-sizing: border-box;
    }
    .actions .selected .desc {
        display: none;
    }
    .actions .selected span {
        width: 30px;
        height: 30px;
        background-color: #aedfff;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .actions .select-all {
        padding: 0;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .actions .select-all i {
        margin-right: 0 !important;
    }
    .actions .select-all span {
        display: none;
    }
}
@media screen and (max-width: 480px) {
    .container-centered {
        padding: 0;
    }
    .container-big {
        padding: 20px 10px;
        border-radius: 0;
    }
    .explorer .folder i {
        margin-right: 7px;
        font-size: 12px;
    }
    .create-folder.active .centered-win, .operations.active .centered-win {
        max-width: unset;
        width: 100%;
        box-sizing: border-box;
        border-radius: 0;
        padding: 30px 20px;
    }
    .op-move .tree-maindiv {
        width: 100%;
    }
    .centered-win input {
        width: 100%;
    }
    .create-folder .folder-keywords, .op-edit .edit-keywords {
        width: 100%;
    }
}
@media screen and (max-width: 360px) {
    .explorer .folder, .explorer .file {
        font-size: 10px;
    }
    .explorer .folder i {
        margin-right: 5px;
        font-size: 11px;
    }
    .tooltip-content {
        font-size: 12px;
    }
}