.new-contents-panel, .new-contents-panel * {
    box-sizing: border-box;
}

.new-contents-panel .top-toolbar {
    position: fixed;
    box-sizing: content-box;
}

.new-contents-panel .toolbar-button.gridlist-button:hover {
    color: #fff;
    background: #005cb8;
}

.new-contents-panel .toolbar-button.selected {
    color: #fff;
    background: #005cb8;
}


.new-contents-panel {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(51,51,51,0.8);
    z-index: 3000;
    overflow-y: scroll;
}

.new-contents-panel .x-button {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 1000;
    width: 32px;
    height: 32px;
}

.new-contents-panel .grid__item {
    /*background-color: #000;*/
    /*border: solid 0px #000;*/
    /*border-radius: 4px;*/
    box-sizing: border-box;
    /*padding: 10px;*/
}

.new-contents-panel .grid__item a {
    background-color: rgba(0,0,0,0.5);
}

.new-contents-panel .griditem_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0.3;
}

.new-contents-panel .griditem_bg:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 90%);  /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 90%);  /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 90%);  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    opacity: 1;
}

.new-contents-panel.contents-list .griditem_bg {
    opacity: 1;
}
.new-contents-panel.contents-list .griditem_bg:before {
    background: -moz-linear-gradient(top, rgb(37, 37, 37) 0%, rgba(0,0,0,1) 90%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(37, 37, 37,1) 0%,rgba(0,0,0,1) 90%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(37, 37, 37,1) 0%,rgba(0,0,0,1) 90%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    opacity: 1;
}


.new-contents-panel .grid__link {
    padding: 20px;
}

.new-contents-panel a,.new-contents-panel a:hover,.new-contents-panel a:visited {
    text-decoration: none;
    color: #fff;
}
.new-contents-panel h1 {
    font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif;
    font-size: 1.3em;
    font-weight: 300;
    text-align: center;
}
.new-contents-panel.contents-list h1 {
    text-align: left;
}
.new-contents-panel h2 {
    font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif;
    font-size: 1em;
    font-weight: 300;
    color:#ececec;
}

.new-contents-panel.contents-list .grid__link h1 {
    margin-top: 0;
}

.new-contents-panel .main {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 50px;
    min-height: 100%;
}

.new-contents-panel .content--center {
    flex: 1;
    max-width: calc(100vw - 100px);
    margin-left: auto;
    margin-right: auto;
}

.new-contents-panel.contents-list .content--center {
    width: calc(100vw - 100px);
    max-width: 600px;
}

/* Grid */

.new-contents-panel .grid {
    position: relative;
    z-index: 2;
    display: block;
    /*margin: 0 auto;*/
    margin-bottom: 40px;
}

.new-contents-panel .grid--hidden {
    opacity: 0;
}

.new-contents-panel .grid__sizer {
    margin-bottom: 0 !important;
}

.new-contents-panel .grid__link {
    display: block;
    width: 100%;
    min-height: 100px;
}

.new-contents-panel .grid__img {
    width: 100%;
    height: auto;
    display: block;
}

.new-contents-panel.contents-list .grid__img {
    width: 100px;
    float: left;
    padding-right: 20px;
}

.new-contents-panel .grid__deco {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
}

.new-contents-panel .grid__deco path {
    fill: none;
    stroke: #fff;
    stroke-width: 2px;
}

.new-contents-panel .grid__reveal {
    position: absolute;
    z-index: 50;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    background-color: #2c2d31;
}

.new-contents-panel .grid .grid__item,
.new-contents-panel .grid .grid__sizer {
    width: calc(50% - 20px);
    margin: 0 10px 20px;
}

.new-contents-panel .grid .grid__item.selected {
    border-bottom: 8px solid rgb(32, 143, 255);
}

.new-contents-panel .grid .grid__item.selected a {
    background-color: rgb(14, 69, 124);
}


.new-contents-panel .grid .grid__item.grid_item2x {
    width: 100%;
    margin: 0 10px 20px;
    background: transparent;
}

.new-contents-panel .grid .grid__item.grid_item2x h1 {
    color: #fff;
    font-size: 1.8em;
}

.new-contents-panel .grid .grid__item.grid_item2x h2 {
    color: #fff;
    font-size: 1.5em;
}


@media screen and (min-width: 60em) {
    .new-contents-panel .grid .grid__item,
    .new-contents-panel .grid .grid__sizer {
        width: calc((100% / 3) - 20px);
        margin: 0 10px 20px;
    }
}

@media screen and (min-width: 70em) {
    .new-contents-panel .grid .grid__item,
    .new-contents-panel .grid .grid__sizer {
        width: calc(25% - 30px);
        margin: 0 15px 30px;
    }
}

@media screen and (max-width: 40em) {
    .new-contents-panel .grid .grid__item,
    .new-contents-panel .grid .grid__sizer {
        width: 100%;
        margin: 0 10px 10px;
    }

    .new-contents-panel .content--center {
        flex: 1;
        max-width: 350px;
        margin-left: auto;
        margin-right: auto;
    }
}


.new-contents-panel.contents-list .grid .grid__item,
.new-contents-panel.contents-list .grid .grid__sizer {
    width: 100%;
    margin: 0 0;
}

/* LOADING */
.new-contents-panel .grid--loading::before,
.new-contents-panel .grid--loading::after {
    content: '';
    z-index: 1000;
}

.new-contents-panel .grid--loading::before {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #2c2d31;
}

.new-contents-panel .grid--loading::after {
    position: absolute;
    top: calc(25vh - 20px);
    left: 50%;
    width: 40px;
    height: 40px;
    margin: 0 0 0 -20px;
    border: 8px solid #888;
    border-bottom-color: #efefef;
    border-radius: 50%;
    animation: contentsGridAnimLoader 0.8s linear forwards infinite;
}

@keyframes contentsGridAnimLoader {
    to { transform: rotate(360deg); }
}
