
.spinner-wrapper {
    display: none;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    position: fixed;
    z-index: 999999999;
}

.spinner-wrapper.spinner-is-visible {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    margin: 0;
}

.spinner-wrapper .spinner {
    left: 50% !important;
    top: 50% !important;
}

.spinner-wrapper .spinner-text {
    font-size: 14px;
    font-weight: bold;
    color: #000000;
    width: 300px;
    height: 200px;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -150px;
    margin-top: 30px;
}

.spinner-wrapper.saving {
    display: none;
    width: auto;
    height: 50px;
    top: auto;
    left: auto;
    bottom: 10px;
    right: 10px;
    background: rgba(0,0,0,0.6);
    border-radius: 5px;
}
.spinner-wrapper.saving.spinner-is-visible{
    display: block;
}
.spinner-wrapper.saving .spinner{
    left: 30px !important;
}
.spinner-wrapper.saving .spinner-text{
    position: relative;
    width: auto;
    height: 50px;
    top: 0;
    left: 0;
    margin: 0;
    margin-left: 45px;
    padding-left: 15px;
    padding-right: 15px;
    text-align: left;
    line-height: 50px;
    color: #fff;
}

.tooltip {
    word-wrap: break-word;
}

.ifp-image-preview{
    position: absolute;
    border: 1px solid #ccc;
    background: #fff;
    padding: 5px;
    color: #444;
    display: none;
    z-index: 9999;
}
.ifp-image-preview .ifp-image-preview-loading {
    display: block;
    width: 400px;
    height: 300px;
    position: absolute;
    top: 0;
    left: 0;
    margin: 5px;
    /*background: rgba(255, 255, 255, 1);*/
}
.ifp-image-preview .ifp-image-preview-container,
.ifp-image-preview .ifp-image-preview-container .img {
    min-width: 400px;
    min-height: 300px;
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto 100%;
    /*background-image: url('../img/no_photo.png');*/
}
.ifp-image-preview .ifp-image-preview-container .img {
    background-color: transparent;
}
.ifp-image-preview img{
    display: block;
    max-width: 400px;
    max-height: 300px;
    border: 1px solid #ccc;
    z-index: 9999;
}
.ifp-image-preview span{
    display: block;
    text-align: center;
    width: 400px;
    word-wrap: break-word;
}

body{
    background: #ededed;
    width: 100%;
    height: 100%;
    font-family: 'Open Sans',"Helvetica Neue",Helvetica,Arial,sans-serif;
    overflow: hidden;
}

.box-shadow{
    box-shadow: 0 3px 7px rgba(0,0,0,.2);
}
.navbar.navbar-ifp{
    position: absolute;
    height: 50px;
    background: #fff;
}
.navbar.navbar-ifp > .container-fluid{
    padding-left: 30px;
    padding-right: 30px;
}
.navbar.navbar-ifp .navbar-toggle{
    padding: 19px 10px;
}
.navbar.navbar-ifp .navbar-toggle .icon-bar{
    background: #444;
}
.navbar.navbar-ifp .navbar-brand{
    height: 50px;
    padding: 0;
}
.navbar.navbar-ifp .navbar-brand .logo {
    width: 150px;
    height: 100%;

    margin: 0 15px;

    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.navbar.navbar-ifp .navbar-collapse {
}
.navbar.navbar-ifp .navbar-nav{
    background: #fff;
    box-shadow: 0 3px 7px rgba(0,0,0,.2);
    margin-top: -1px;
    max-width: calc(100% - 430px);
    overflow: hidden;
    white-space: nowrap;
}
@media (max-width: 1200px) {
    .navbar.navbar-ifp .navbar-nav{
        max-width: calc(100% - 260px);
    }
}
@media (min-width: 768px){
    .navbar.navbar-ifp .navbar-nav{
        background: none;
        box-shadow: none;
        margin: 0;
    }
}
.navbar.navbar-ifp .navbar-nav>li{
    line-height: 50px;
    display: inline-block;
    float: none;
}
.navbar.navbar-ifp .navbar-nav>li.divider{
    padding: 0 5px;
    color: #ccc;
}
.navbar.navbar-ifp .navbar-nav>li>a.navlink,
.navbar.navbar-ifp .navbar-nav>li>a.navlink:hover{
    color: #333;
    font-size: 16px;
    font-weight: bold;
    background: none;
    line-height: 50px;
    padding: 0 15px;
}
.navbar.navbar-ifp:not(.have-logo) .navbar-nav>li:first-child>a.navlink {
    padding-left: 0;
}

.navbar.navbar-ifp .navbar-nav>li>a.navlink.active{
    color: #3498db;
}
.navbar.navbar-ifp .navbar-nav>li>a.navlink.disabled{
    pointer-events: none;
    cursor: not-allowed;
    color: #aaa;
}
.navbar.navbar-ifp .navbar-nav>li>a.navlink:hover{
    color: #2980b9;
}
.navbar.navbar-ifp .navbar-nav.navbar-right{
    position: absolute;
    right: 30px;
    line-height: 50px;
    padding: 0;
}
.navbar.navbar-ifp .navbar-nav.navbar-right .btn{
    height: 34px;
    float: left;
    margin: 8px 5px;
}
.navbar.navbar-ifp .navbar-nav.navbar-right .btn:last-child{
    margin-right: 0;
}
@media (min-width: 1200px){
    .navbar.navbar-ifp .navbar-nav.navbar-right .btn>span{
        display: inline-block !important;
    }
}
.btn.btn-download,.btn.btn-preview,.btn.btn-publish{
}
.btn.btn-download{
/*    color: #fff;
    background-color: #f6841f;
    border-color: #f6841f;*/
}
.btn.btn-preview{

}
.btn.btn-publish{
}

.last-change {
    position: absolute;
    top: 60px;
    width: 100%;
    text-align: right;
    padding-right: 30px;
}
.last-change>span::before{
    content: '|';
}
.last-change>span:first-child::before{
    content: '';
}

.body{
    width: 100%;
    height: 100%;
    position: absolute;
    padding-top: 60px;
    overflow: hidden;
}

.body .row.base-row{
    height: 100%;
    padding: 15px;
}
.body .row.base-row, .body .row.base-row .left-col, .body .row.base-row .right-col{
    height: 100%;
}
.left-col{
    display: block;
    height: 100%;
    display: -ms-flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    flex-wrap: nowrap;

}
.left-col > .row{
    position: relative;
    -ms-flex: 1;
    -webkit-flex: 1;
    -moz-flex: 1;
    flex: 1;
    /*width: calc(100% + 20px);*/
}
.left-col .row.row-static{
    -ms-flex: 0;
    -webkit-flex: 0;
    -moz-flex: 0;
    flex: 0;
    -ms-flex-basis: auto;
    -webkit-flex-basis: auto;
    -moz-flex-basis: auto;
    -ms-flex-basis: auto;
    -webkit-flex-basis: auto;
    -moz-flex-basis: auto;
    flex-basis: auto;
    -ms-flex-shrink: 1;
    -webkit-flex-shrink: 1;
    -moz-flex-shrink: 1;
    flex-shrink: 1;
}
.left-col > .row.row-1 > .box-wrap {
    position: absolute;
    top: 0;
    bottom: 0;
}
.row.row-1{
    height: 8.33333333%;
}
.row.row-2{
    height: 16.66666667%;
}
.row.row-3{
    height: 25%;
}
.row.row-4{
    height: 33.33333333%;
}
.row.row-5{
    height: 41.66666667%;
}
.row.row-6{
    height: 50%;
}
.row.row-7{
    height: 58.33333333%;
}
.row.row-8{
    height: 66.66666667%;
}
.row.row-9{
    height: 75%;
}
.row.row-10{
    height: 83.33333333%;
}
.row.row-11{
    height: 91.66666667%;
}
.row.row-12{
    height: 100%;
}
.box-error{
    color: #f00;
    font-size: 12px;
}
.hint{
    color: rgba(0,0,0,0.5);
    font-size: 12px;
    font-style: italic;
}
.hint>*{
    display: inline;
    text-decoration: none;
}
.hint>a,.hint>a:hover{
    text-decoration: none;
}
@media (min-width: 1200px){
    .hint > .visible-lg{
        display: inline !important;
    }
}
.hint.note-mark::before{
    content: '* ';
}
.box-wrap{
    position: relative;
    height: 100%;
    padding: 15px;
}
.box{
    position: relative;
    width: 100%;
    height: 100%;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
}
.box .box-header{
    display: block;
    display: -ms-flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    height: 60px;
    border-bottom: 1px solid #ccc;
}
.box .box-header .box-title{
    flex: 1;
    flex-basis: auto;
    display: inline-block;
    /*max-width: 45%;*/
    height: 60px;
    line-height: 30px;
    padding: 15px 5px 15px 30px;
    font-weight: bold;
    font-size: 16px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-decoration: none;
    color: #333;
    vertical-align: middle;
}
.box .box-header .box-title > * {
    vertical-align: middle;
}
.box .box-header .btn {
    height: 30px;
    padding-top: 0;
    padding-bottom: 0;
}
.box .box-header .btn.upload-btn {
    outline: none;
    color: #5cb85c;
}
.box .box-header .btn.upload-btn .fa {
    font-size: 25px;
    vertical-align: top;
}
.box .box-header .box-title.fancybox{
    cursor: pointer;
    color: #038dd1;
    text-decoration: none;
}
.box .box-header .right{
    flex: 1;
    flex-basis: auto;
    display: inline-block;
    /*max-width: 70%;*/
    height: 25px;
    line-height: 25px;
    padding: 0;
    margin: 17.5px 10px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    text-align: right;
    float: right;
    margin-left: 5px;
}
.box .box-header .right.hint.hint-static{
    flex-shrink: 0;
    flex-grow: 0;
}
.box .box-header .right>*{
    display: inline-block;
}
.box .box-header .hint {
    cursor: help;
}
.box .box-header .right.hint .fa.fa-question-circle{
    font-size: 25px;
    vertical-align: top;
}
.box .box-body{
    height: calc(100% - 61px);
    overflow: auto;
}
.box.box-no-header .box-body {
    height: 100%;
}

.box .scrollbar-outer.box-body.scroll-content{
    padding: 0 15px !important;
    left: 0;
    margin-left: 0;
}

.project-form{
    padding: 0 15px;
}
.project-form .form-group{
    margin-bottom: 0px;
}
@media (min-width: 1200px) {
    .project-form .form-group{
        margin-top: 5px;
    }
}
.project-form .form-group:last-child{
    margin-bottom: 15px;
}
.project-form .control-label{
    text-align: left;
    word-break: break-word;
    word-wrap: break-word;
}
.project-form .control-label::after{
    content: ':';
    position: absolute;
}
.project-form .control-label.control-static{
    text-align: left;
}
.project-form .control-label.control-static::after{
    content: '';
}
.project-form .input-group .form-control, .project-form .input-group .form-control:focus{
    box-shadow: none;
    outline: none;
}
.project-form .input-group .form-control:not(:first-child):not(:last-child){
}
.project-form .input-group.favicon{
    display: -ms-flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
}
.project-form .input-group.favicon input {
    border-right: 0;
    box-shadow: none;
}
.project-form .input-group.favicon .input-group-addon{
    position: relative;
    padding: 4px;
    min-width: 33px;
    width: 33px;
    text-align: center;
}
.project-form .input-group.favicon .favicon-preview{
    position: absolute;
    display: inline-block;
    height: 23px;
    width: 23px;
    left: 4px;
    top: 4px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.project-form .input-group.favicon .delete-button {
    float: right;
    font-size: 20px;
    color: #f00;
    background: none;
    border-left: 0;
    border-right: 0;
}
.project-form .input-group.favicon .delete-button > i {
    vertical-align: middle;
}
#select_template .input-group.favicon{
    display: -ms-flex;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
}
#select_template .input-group.favicon input {
    height: 25px;
    border-right: 0;
    box-shadow: none;
}
#select_template .input-group.favicon .input-group-addon{
    position: relative;
    width: 25px;
    min-width: 25px;
    height: 25px;
    padding: 1px;
    text-align: center;
}
#select_template .input-group.favicon .favicon-preview{
    position: absolute;
    display: inline-block;
    width: 23px;
    height: 23px;
    top: 1px;
    left: 1px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
#select_template .input-group.favicon .delete-button {
    float: right;
    font-size: 20px;
    color: #f00;
    background: none;
    /* border-left: 0; */
    border-right: 0;
}
#select_template .input-group.favicon .delete-button > i {
    vertical-align: middle;
}
#select_template .input-group.favicon .upload-btn {
    background: #fff;
    padding: 4px;
    color: #5cb85c;
}
.project-form .input-group-addon.check{
    background-color: #fff;
    min-width: 33px;
    max-width: 33px;
    padding: 6px 0;
    text-align: center;
}
.project-form .input-group-addon.check.check-ok{
    color: #3c763d;
/*    background-color: #dff0d8;
    border-color: #d6e9c6;*/
}
.project-form .input-group-addon.check.checking{
}
.project-form .input-group-addon.check.check-fail{
    color: #a94442;
/*    background-color: #f2dede;
    border-color: #ebccd1;*/
}
.project-form .input-group > *{
    background-color: #fff;
    height: 33.1px;
    line-height: 19px;
    border-color: #ccc;
    padding-top: 6px;
    padding-bottom: 6px;
}
.project-form .input-group .input-group-addon:first-child {
    padding-right: 0;
}
.project-form .input-group .input-group-addon + input.form-control {
    padding-left: 0;
    border-left: 0;
}
.project-form .input-group.check-ok{
/*    border-color: #d6e9c6;*/
}
.project-form .input-group.check-fail > *{
    border-color: #a94442;
}
@media (max-width: 1200px){
    .project-form .form-group .hint{
        text-align: right;
    }
    .project-form .form-group .hint > * {
    }
}
input.form-control:not([type=radio]), textarea.form-control {
    -ms-appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -ms-appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
}
.pages{
    padding: 0;
    margin: 0;
    width: 100%;
}
.pages.as-sortable-drag{
    /*border: ;*/
    border: 3px solid #82c55b;
}
.pages .as-sortable-hidden,
.materials .as-sortable-hidden{
    display: inline-block !important;
    background-color: #ededed;
}
/*.pages .as-sortable-hidden + .as-sortable-placeholder,
.pages .as-sortable-placeholder + .as-sortable-hidden{
    display: none !important;
}*/
.pages .as-sortable-placeholder{
    width: 100%;
    height: 10px !important;
    vertical-align: middle;
}
.page-container{
    position: relative;
    height: 152px;
    padding: 0;
    margin: 0;
    list-style: none;
    width: 100%;
}
.page-container:hover{
    background: #ededed;
}
.page-container.disabled{
    opacity: 0.5;
}
.page-container > div{
    position: relative;
    height: 100%;
    display: inline-block;
    vertical-align: top;
}
.page-container > div > .row{
    margin-bottom: 10px;
}
.page-container > div > .row.textarea{
    margin-left: 0;
    margin-right: 0;
}
.page-container .page-select{
    width: 20px;
    text-align: center;
}
.page-container .page-select input[type=radio] {
    display: inline-block;
    width: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    outline: none;
    box-shadow: none;
}
.page-container .page-image{
    padding: 15px;
    width: auto;
}
.page-container .page-image .image,
.page-container .page-image .image .image-inner{
    position: relative;
    display: block;
    width: 144px;
    height: 122px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.page-container .page-image .image .image-inner{
    width: 100%;
    height: 100%;
}
.page-container .page-info{
    width: calc(100% - 205px);
    padding: 15px;
}
.page-container .page-info > .row > .col-xs-8 {
    padding-right: 5px;
    width: 75%;
}
.page-container .page-info > .row > .col-xs-4 {
    padding-left: 5px;
    width: 25%;
}
.page-container > div > .row textarea{
    height: 34px;
    resize: none;
}
.page-container button.btn{
    width: 100%;
    padding: 6px 0;
}
.page-container button.btn-default {
    background: #efefef;
}

.materials{
}
.arrange-images-container .material-empty{
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% - 60px);
    font-size: 24px;
    text-align: center;
    opacity: 0.4;
}

.arrange-images-container .material-empty > span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: rgba(0,0,0,0.4);
    width: 100%;
    height: 184px;
    max-height: 100%;
    text-align: center;
    display: block;
    display: -webkit-flex;
    display:    -moz-flex;
    display:     -ms-flex;
    display:         flex;

    -webkit-flex-direction: column;
       -moz-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
}
.arrange-images-container .material-empty > span .no-material {
    width: 200px;
    height: 150px;
    margin: 0 auto;
    background-image: url('../img/placeholder.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;

    -webkit-flex: 2;
       -moz-flex: 2;
        -ms-flex: 2;
            flex: 2;
}
.arrange-images-container .material-empty > span > * {
    display: block;

    -webkit-flex: 1;
       -moz-flex: 1;
        -ms-flex: 1;
            flex: 1;
}
.materials .material{
    position: relative;
    display: inline-block;
    width: 150px;
    height: 120px;
    padding: 15px;
    vertical-align: top;
}
.materials .material .material-handle{
    width: 100%;
}
.materials .material.selected,
.materials .material .selected{

}

.material.selected span.label{
    background-image: url("../img/selected_icon.png");
    background-position: top right;
    position: absolute;
    top: 5px;
    right: 5px;
    height: 16px;
    width: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
}

.materials .material .material-thumbnail{
    position: relative;
    display: block;
    width: 120px;
    height: 90px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: transparent;
    /*background-image: url('../img/no_photo.png');*/
    border-radius: 3px;
    padding: 3px;
}
.materials .material.selected .material-thumbnail{
    border: 3px solid #82c55b;
    padding: 0px;
}
.materials .material .material-thumbnail .material-thumbnail-inner{
    width: 100%;
    height: 100%;
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: center;
    border: 1px solid #ccc;
    border-radius: 3px;
}
.materials .material.selected .material-thumbnail .material-thumbnail-inner{
    border-radius: 0px;
}
.materials .material .material-thumbnail .material-badge{
    position: absolute;
    bottom: 10px;
    right: 10px;
    height: 20px;
    width: 30px;
    background: 100% 100% center no-repeat;
}
.materials .material.selected .material-thumbnail .material-badge {
    bottom: 7px;
    right: 7px;
}
.materials .material .material-thumbnail .material-badge.material-badge-720{
    width: 37px;
    background-image: url('../img/badge_720.png');
}
.materials .material .material-thumbnail .material-badge.material-badge-video{
    width: 53px;
    background-image: url('../img/badge_video.png');
}
.materials .material .material-label{
    display: inline-block;
    text-align: center;
    text-overflow: ellipsis;
    width: 100%;
    max-width: 100%;
    height: 20px;
}
.material-label .editable.editable-click{
    display: inline-block;
    width: 100%;
    height: 20px;
    border: none;
    color: rgba(0,0,0,0.7);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.material-label .editable-wrap{
    margin: 2px 0;
}
.material-label .editable-controls > input{
    width: 100%;
    padding: 2px 12px;
    height: auto;
}
.material-label .editable-controls > .editable-buttons{
    display: none;
}

.page-container .page-image .image img.new-label,
.materials .material img.new-label{
    position: absolute;
    top: 3px;
    left: 3px;
    width: 100%;
}

.arrange-images-container{
    padding: 0 15px;
}
.arrange-images-container.scroll-content{
}

.arrange-images-container .box .box-body {
    /*height: 100%*/;
}

.arrange-images-inner{
    width: auto;
    white-space: nowrap;
    height: 100%;
    padding: 0 15px;
    overflow: auto;
}
.arrange-images-inner .arrange-images-inner-container {
    /*position: absolute;*/
    display: block;
    width: 100%;
    height: 100%;
}
.arrange-images-inner.scroll-content{
    padding: 0 15px !important;
    /*margin: 0 15px !important;*/
}
.arrange-images-inner .arrange-column{
    white-space: normal;
    float: none;
}
.arrange-images-inner .arrange-column:first-child{
    /*margin-left: 15px;*/
}
.arrange-images-inner .arrange-column:last-child{
    margin-right: 15px;
}

@media (min-width: 1400px) {
    .arrange-images-inner .arrange-column {
        width: 25%;
    }
}
.arrange-column.box-wrap {
    overflow: hidden;
}

.materials .material .material-thumbnail{
    position: relative;
}

.page-image .close,
.materials .material .material-thumbnail .close{
    top: -7px;
    right: -7px;
    position: absolute;
    display: none;
    z-index: 888;
    opacity: .5;
}
.materials .material.selected .material-thumbnail .close {
    margin: -3px;
}
.page-image .close.delete-btn,
.materials .material .material-thumbnail .close.delete-btn,
.materials .material .material-thumbnail:hover .close{
    display: block;
}
.page-image .close.delete-btn,
.materials .material .material-thumbnail .close.delete-btn {
    opacity: 1;
}

.arrange-column{
    display: inline-block;
    vertical-align: top;
}

.arrange-column .box .box-body{
    /*overflow: hidden !important;*/
}

.embedded-modal, .fatal-modal{

}
.embedded-modal .modal-header h3,
.fatal-modal .modal-header h3{
    margin: 0;
    padding: 0;
    font-size: 21px;
    font-weight: bold;
    line-height: 30px;
    text-align: center;
}
.embedded-code{
    width: 100%;
    height: 100px;
    resize: none;
}

.fatal-modal .modal-body span {
    white-space: pre-line;
}

/* ng-sortable: Fix mobile touch scrolling */
.as-sortable-item {
    -ms-touch-action: auto;
    touch-action: auto;
    -webkit-touch-callout: inherit;
}
.as-sortable-item-handle {
    -ms-touch-action: none;
    touch-action: none;
    /* to disable context menu on iOS devices */
    -webkit-touch-callout: none;
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none;   /* Chrome/Safari/Opera */
    -khtml-user-select: none;    /* Konqueror */
    -moz-user-select: none;      /* Firefox */
    -ms-user-select: none;       /* Internet Explorer/Edge */
    user-select: none;           /* Non-prefixed version, currently
}

.as-sortable-item, .as-sortable-placeholder {
    display: inline-block !important;
}
.as-sortable-item .material-thumbnail{
    /*display: inline-block;*/
    width: 100%;
    height: 100%;
}

.as-sortable-item-handle {
    cursor: move;
    cursor: -webkit-grab;
    cursor: -moz-grab;
    display: inline-block;
}

.as-sortable-placeholder{
    vertical-align: bottom;
    display: inline-block;
    background: #dfdfdf;
}

.as-sortable-drag {
    position: absolute;
    pointer-events: none;
    z-index: 9999;
}

.as-sortable-hidden {
    display: none !important;
}

.as-sortable-un-selectable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#horizontal-container .sortable-row:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.as-sortable-dragging{
    /*background: rgba(0,0,0,0.1);*/
}

#horizontal-container .material.selected span.label{
    background-image: url("../img/selected_icon.png");
    background-position: top right;
    position: absolute;
    top: 5px;
    right: 5px;
    height: 16px;
    width: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
}

/*.arrange-header-description{width: auto; display: inline-block}*/
#horizontal-container .rzslider{display: inline-block; margin: 0;width: 160px;}
#horizontal-container .rzslider .rz-bubble{display: none;}
/*.rzslider .rz-pointer{top:-9px !important;width:20px !important;height:20px !important;}
.rzslider .rz-pointer:after{left:5px !important;top:5px !important;}*/

.box .box-header .zoom-minus,
.box .box-header .zoom-plus{
    cursor: pointer;
    font-size: 26px;
    letter-spacing: -3px;
    margin-left: -3px;
    padding: 0 5px;
    text-align: center;
    vertical-align: top;
    width: 24px;
}
.box .box-header .zoom-minus{
    vertical-align: top;
    margin-top: -2px;
}
.box .box-header .zoom-plus{
    vertical-align: top;
    margin-top: 0px;
}
#select_template .box .box-header .box-title{
    max-width: 100%;
}
#select_template .box .box-header .right.hint {
    flex-grow: 0;
}
#select_template .box .box-header .autoplay-toggle{
    flex-grow: 0;
}
#select_template .box .box-header .autoplay-toggle span{
    font-weight: normal;
}
#select_template .templates .template{
    margin: 15px;
    display: block;
    padding: 12px;
    text-decoration: none;
    text-align: center;
    color: rgba(0,0,0,0.5);
    position: relative;
    transition: none;
}
#select_template .templates .template span.template-label{
    display: inline;
    text-align: center;
    width: 100%;
    color: rgba(0,0,0,0.5);
}
#select_template .templates .template.selected{
    padding: 10px;
    border: 3px solid #2ca02c;
}

#toast-container > div {
    min-width: 400px;
    opacity: 1;
}
#toast-container button.toast-close-button {
    top: 0;
}

.fancybox-wrap {
}
.fancybox-error {
    position: relative;
    width: 800px;
    height: 600px;
    text-align: center;
}
.fancybox-error .fancybox-error-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 400px;
    height: 300px;
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url('../img/no_photo.png');
}
.fancybox-error span {
}
.fancybox-title-float-wrap {
    max-width: 100%;
}
.fancybox-title-float-wrap .child{
    max-width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    background: none;
}

#select_template .templates .template.selected span.selected-label{
    background-image: url("../img/selected_icon.png");
    background-position: top right;
    position: absolute;
    top: 15px;
    right: 15px;
    height: 20px;
    width: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
}

#select_template .template-edit .template-common-content{
    height: calc(100% - 150px);
    position: relative;
    background: #fafafa;
    border-radius: 2px;
    margin: 15px;
    width: calc(100% - 30px);
    padding: 0;
}
#select_template .template-edit .template-common-content .inner_template_content {
    position: absolute;
    height: 60%;
    width: 60%;
    top: 20%;
    left: 20%;
    vertical-align: middle;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
#select_template .template-edit .template-common-content .tpl-logo{
    width: 140px;
    height: auto;
    border: 1px dashed #ccc;
}
#select_template .template-edit .template-common-content .tpl-logo > .logo-image {
    display: block;
    max-width: 100%;
    max-height: 100%;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
#select_template .template-edit .template-common-content .tpl-logo > .logo-text {
    text-align: center;
}
#select_template .template-edit .template-common-content .tpl-download{
    position: absolute;
    padding: 2px;
    border: 1px dashed #ccc;
    cursor: pointer;
    text-align: center;
    margin: 20px;
}
#select_template .template-edit .template-common-content .tpl-download span{
    display: inline;
    padding: 5px;
    color: rgba(0,0,0,0.5);
}
#select_template .template-edit .template-common-content .tpl-footer{
    cursor: pointer;
    text-align: center;
}
#select_template .template-edit .template-common-content .tpl-footer .footer-text{
    border: 1px dashed #ccc;
    display: inline-block;
    width: auto;
    /*padding: 5px;*/
}

#select_template .box-header .divider {
  color: #ccc;
  line-height: 60px;
}
#select_template .setting-select {
  width: 150px;
}

#select_template .template-setting .btn {
  height: 22px;
  padding: 0 8px;
}

.position-wrapper {
    position: absolute;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
}
.position-top {
    top: 0;
}
.position-middle {
    top: 50%;
    /*margin-top: -50%;*/
    transform: translateY(-50%);
}
.position-bottom {
    bottom: 0;
}
.position-left {
    left: 0;
    text-align: left !important;
}
.position-center {
    left: 50%;
    transform: translateX(-50%);
    text-align: center !important;
}
.position-right {
    right: 0;
    text-align: right !important;
}
.position-middle.position-center {
    transform: translate(-50%,-50%);
}

#select_template .template-edit .template-common-content{
    background-position: center center;
    background-size: auto calc(100% - 200px);
    background-repeat: no-repeat;
    position: relative;
}

#select_template .box .scrollbar-outer.box-body.scroll-content{
    padding: 0 !important;
}

#select_template .template-common-colors .colors .color{
    margin-top: 10px;
    margin-bottom: 0px;
    padding-left: 30px;
}

.modal.edit-template-modal {
    text-align: center;
    padding: 0!important;
}

.modal.edit-template-modal:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -4px;
}

.modal.edit-template-modal .modal-dialog {
    display: inline-block;
    text-align: left;
    vertical-align: middle;
}
.modal.edit-template-modal .modal-dialog.modal-logo {
    width: 400px;
}

.modal.edit-template-modal .modal-dialog .modal-title{
    display: inline-block;
}

.modal.edit-template-modal .modal-header{
    background:#628042 ;
    color: #fff;
}
.btn-blue{
    background: #008cd0;
    color: #fff;
}
.modal.edit-template-modal .modal-header{
    padding: 10px;
    padding-left: 30px;
}
.modal.edit-template-modal .modal-header .close{
    opacity: 1;
}
.modal.edit-template-modal .modal-header .close:hover{
    opacity: .8;
}
.modal.edit-template-modal .modal-header .close img{
    width: 24px;
    height: 24px;
}
.modal.edit-template-modal .form-horizontal .form-group{
    padding: 0 15px;
}
.modal.edit-template-modal .form-horizontal .file-block .form-group,
.modal.edit-template-modal .form-horizontal .form-group > div:last-child{
    padding-right: 0;
}
.modal.edit-template-modal .template-position > div:last-child {
    width: 100px;
}
.modal.edit-template-modal .template-position > div:last-child > div:last-child {
    float: right;
}
.modal.edit-template-modal .template-padding {
}
.modal.edit-template-modal .template-padding > div:last-child {
    padding: 0;
}
.modal.edit-template-modal .template-padding .row{
    margin: 0;
    padding: 0;
}
.modal.edit-template-modal .template-padding .row > div {
    width: 100px;
    margin-bottom: 10px;
    padding-left: 10px;
    padding-right: 0;
}
.modal.edit-template-modal .template-padding .row > div:nth-child(even) {
    float:right;
}
.modal.edit-template-modal .template-padding .row > div > * {
    padding-left: 0;
    padding-right: 0;
}
.modal.edit-template-modal .template-padding .row > div > .control-label {
    display: inline-block;
    float: left;
    text-align: left;
    width: 56px;
    font-weight: normal;
}
.modal.edit-template-modal .template-padding .row > div > div {
    float: right;
    width: 34px;
    margin: 0;
}
.text-align-horizontal .material-icons{
    font-size: 24px;
    padding: 5px;
    border: 1px solid #dfdfdf;
    color: #666;
    border-radius: 4px;
    cursor: pointer;
}
.text-align-horizontal .material-icons:hover{
    border: 1px solid #666;
}
.edit-template .dropdown-menu.icons{
    width: 36px;
    min-width: 36px;
    text-align: center;
}
.edit-template .dropdown-menu li{
    text-align: center;
}
.edit-template .dropdown-menu li i{
    cursor: pointer;
    opacity: .6;
}
.edit-template .dropdown-menu li i:hover{
    opacity: 1;
}
.margin-right-10{
    margin-right: 10px;
}

.modal .modal-inner.modal-edit-hotspot .modal-header {
    position: relative;
    padding-left: 20px;
    padding-right: 10px;
}
.modal .modal-inner.modal-edit-hotspot .modal-header .modal-title {
    font-weight: bold;
}
.modal .modal-inner.modal-edit-hotspot .modal-header button.close {
    float: right;
    text-align: right;
}
.modal .modal-inner.modal-edit-hotspot .footer-buttons {
    text-align: right;
}
.modal .modal-inner.modal-edit-hotspot .form-horizontal .form-group {
    padding: 0 10px;
}


/* Editor - Hotspot */
#editor-hotspot .left-col .box .box-header .right {
    padding-top: 0;
}

#editor-hotspot .left-col .box .box-header .right ul.nav > li {
    margin: 0;
    padding: 0;
}
#editor-hotspot .left-col .box .box-header .right ul.nav > li > a {
    padding: 2px 5px;
    margin: 0 5px;
}

#editor-hotspot .left-col .box .box-body .page-painting-place img {
    width: inherit;
    height: inherit;
}
#editor-hotspot .left-col .box .box-header .right ul.nav > li a.btn-sm{
    height: 25px;
    padding-top:2px;
}
#editor-hotspot .left-col .box .box-header .right ul.nav > li a .fa:before {
    font-size: 20px;
}

#editor-hotspot .left-col .box .box-header .right ul.nav > li.active a:focus .fa:before,
#editor-hotspot .left-col .box .box-header .right ul.nav > li.active a:hover .fa:before,
#editor-hotspot .left-col .box .box-header .right ul.nav > li.active a .fa:before {
    color: #fff;
}

#editor-hotspot .left-col .box .box-header .right ul.hotspot-tools li a.hotspot-tool {
    border: 1px solid #fff;
}
#editor-hotspot .left-col .box .box-header .right.disabled ul li,
#editor-hotspot .left-col .box .box-header .right ul.hotspot-tools.disabled li{
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.5;
}
#editor-hotspot .left-col .box .box-header .right ul.hotspot-tools li.active a.hotspot-tool {
    border: 1px solid #449d44;
    background: none !important;
}
#editor-hotspot .hotspot-tools .hotspot-icon {
    display: block;
    width: 19px;
    height: 19px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
#editor-hotspot .hotspot-tools .select-size {
    // width: 100px;
    height: 25px;
    line-height: 25px;
    padding: 0;
    margin: 0;
    font-weight: normal;
    cursor: pointer;
}
#editor-hotspot .hotspot-tools .hotspot-icon.hotspot-icon-text {
    background-image: url("../img/hotspot-text.png");
}
#editor-hotspot .hotspot-tools .hotspot-icon.hotspot-icon-direction {
    background-image: url("../img/hotspot-direction-icon.png");
}
#editor-hotspot .hotspot-tools .hotspot-icon.hotspot-icon-non-direction {
    background-image: url("../img/hotspot-icon.png");
}
#editor-hotspot .hotspot-tools .hotspot-icon.hotspot-icon-polygon {
    background-image: url("../img/hotspot-polygon.png");
    margin-top: -1px;
}
.crop-btn-group{
    width: 100%;
    vertical-align: top;
}
.crop-btn-group .btn{
    width: 50%;
}
#editor-hotspot .right-col .box .box-body {
    height: calc(100% - 114px);
}
#editor-hotspot .box .box-body.have-footer {
    height: calc(100% - 114px - (16.6667vw - 13px));
}
#editor-hotspot .box .box-footer {
    position: relative;
    height: calc(16.6667vw - 13px);
    padding: 20px;
    border-top: 1px solid #ccc;
}
#editor-hotspot .box .box-footer .page-painting-place {
    position: relative;
    border: none !important;
}

#editor-hotspot .right-col .box .select-page {
    padding: 10px 20px;
    height: 54px;
}

/*#editor-hotspot .right-col .box .material-label .editable.editable-click {
    line-height: 30px;
    height: 30px;
}*/

#editor-hotspot .right-col .box .material-label .editable-controls > input {
    text-align: center;
}
#edit-logo-modal input[type="number"],
#edit-footer-modal input[type="number"]{
    max-width: 34px;
    padding: 6px 5px;
    text-align: center;
}
#edit-logo-modal .logo-file-name {
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 20px;
}

#editor-hotspot .box.hotspot-canvas {
}
#editor-hotspot .box.hotspot-canvas .box-body {
    padding: 20px !important;
}
#editor-hotspot .box .box-footer .page-painting-place,
#editor-hotspot .box.hotspot-canvas .page-painting-place {
    width: 100%;
    height: 100%;
    border: 1px solid #ccc;
    background: #eee;
}
#editor-hotspot .box.hotspot-canvas .ifp-canvas {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}

#editor-hotspot .box.hotspot-canvas .ifp-canvas canvas,
#editor-hotspot .box.hotspot-canvas .jcrop-holder {
    position: relative;
    background-image: url('../img/background-opacity.png') !important;
}
#editor-hotspot .box.hotspot-canvas .ifp-canvas .canvas-delete-button {
    position: absolute;
    display: block;
    z-index: 1;
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    cursor: pointer;
}

#editor-hotspot .materials .material.added .material-thumbnail{
    border: 3px solid #337ab7;
    padding: 0px;
}
#editor-hotspot .materials .material.added.selected .material-thumbnail{
    border: 3px solid #82c55b;
}
#editor-hotspot .materials .material.added.selected .material-thumbnail .material-badge {
    bottom: 10px;
    right: 10px;
}

img-cropped {
    display: block;
    max-width: 100%;
    max-height: 100%;
}

.bold {
  font-weight: bold;
}

#editor-hotspot img-cropped.border-top,
#editor-hotspot .ifp-canvas.border-top canvas{
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
#editor-hotspot img-cropped.border-left,
#editor-hotspot .ifp-canvas.border-left canvas {
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

.select-icon .icon {
    display: inline-block;
    width: 48px;
    height: 48px;
    margin: 5px 10px;
    background: #eee;
    border-radius: 50px;
    cursor: pointer;
}
.select-icon .icon:first-child {
    margin-left: 0;
}
.select-icon .icon:last-child {
    margin-right: 0;
}
.select-icon .icon.selected{
    background: #449d44;
}
.select-icon .icon img {
    width: 100%;
    height: 100%;
}
.edit-template button, .edit-template .btn{
    min-width: 100px;
}

.dropdown-menu>li>a{
    max-width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 400px;
}

.select-source-modal .modal{

}
.select-source-modal .list-group {
    margin-bottom: 0;
}
.page-container .select2-container .select2-choice{
    height: 34px;
    line-height: 34px;
}


.canvas-image {
    position: relative;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.canvas-image img,  .canvas-image video {
    width: 100%;
    height: 100%;
}

.canvas-image-loading {
    position: absolute;
    left: 0;
    top: 0;

    z-index: 999;
}


.float-button {
    position: absolute;
    // margin: 10px;
    z-index: 10;
}

.language-button.float-button {
    top: 53px;
    left: 30px;
    // bottom: 0;
    // left: 0;
}
.language-button.float-button:hover .dropdown-menu { display: block; }


.languages {
    top: 50%;
    // bottom: 50%;
    left: 50%;
    text-align: center;
}

.languages .language {
}

.languages .language > a { width: 100%; }
.languages .language > a:hover { text-decoration: none; }

@media (max-width: 1400px) {
    .language-button.float-button { left: 20px; }
}

.modal.add-group-modal,
.modal.media-modal,
.modal.add-720-modal {
  text-align: center;
  padding: 0!important;
}
.modal.add-group-modal:before,
.modal.media-modal:before,
.modal.add-720-modal:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -4px;
}
.modal.add-group-modal .modal-dialog,
.modal.media-modal .modal-dialog,
.modal.add-720-modal .modal-dialog {
  position: relative;
  display: inline-block;
  text-align: left;
  vertical-align: middle;
}
.modal.add-group-modal .modal-content,
.modal.media-modal .modal-content,
.modal.add-720-modal .modal-content {
  height: 100%;
}
.modal.add-group-modal .modal-header .modal-title,
.modal.media-modal .modal-header .modal-title,
.modal.add-720-modal .modal-header .modal-title {
  display: inline-block;
}
.modal.add-group-modal .modal-header .close,
.modal.media-modal .modal-header .close,
.modal.add-720-modal .modal-header .close {
  height: 34px;
  opacity: 1;
}
.modal.add-group-modal .modal-header .close:hover,
.modal.media-modal .modal-header .close:hover,
.modal.add-720-modal .modal-header .close:hover {
  opacity: .8;
}
.modal.add-group-modal .modal-header .close img,
.modal.media-modal .modal-header .close img,
.modal.add-720-modal .modal-header .close img {
  width: 34px;
  height: 34px;
  vertical-align: baseline;
}
.modal.add-720-modal .modal-dialog {
  height: auto;
}
.modal.media-modal .modal-dialog {
  height: 450px;
}
.modal.media-modal .modal-body {
  height: calc(100% - 65px);
}
.modal.media-modal .modal-body .media-uploader {
  width: 100%;
  height: 100%;
}
.modal.media-modal .modal-body .box.box-no-header {
  height: calc(100% - 50px);
  margin-top: 16px;
}

.modal.media-modal .modal-dialog .progress-label {
    float: right;
    height: 34px;
    line-height: 34px;
}
.modal.media-modal .modal-body .box.box-no-header .box-body {
    z-index: 2;
}
.modal.media-modal .modal-body .box.box-no-header .drop-label {
  position: absolute;
  bottom: 0px;
  width: 100%;
  line-height: 45px;
  text-align: center;
  z-index: 1;
}
.modal.media-modal .modal-body .box.box-no-header .material {
  float: left;
}
.modal.media-modal .modal-body .box.box-no-header .material.deleting {
  opacity: 0.6;
  cursor: not-allowed;
}
.modal.media-modal .modal-body .box.box-no-header .material.deleting .material-thumbnail {
  cursor: not-allowed;
}
.modal.media-modal .modal-body .box.box-no-header .material .close {
  display: block;
}
.modal.media-modal .modal-body .box.box-no-header .uploading-item .material-thumbnail {
  position: relative;
}
.modal.media-modal .modal-body .box.box-no-header .uploading-item .progress {
  position: absolute;
  width: 90%;
  top: 50%;
  left: 5%;
  margin-top: -10px;
}
