@charset "utf-8";

/* //////////////////////////////// STYLES PLAYLIST 2020 //////////////////////////////// */

/* GENERAL INFO ------------------

colors :
#9c0a50 - rouge raisin
#f3f8b8 - jaune citron
#1A1A2A - outrenoir
#50a0a0 - vert givré
#aaa
#fff
#0dd - bleu vif

-------------------------------  */

/* - - - - - - - - - - - - - - - - - - GENERAL - - - - - - - - - - - - - - - - - - */

html {
    scroll-behavior: smooth;
}

body {
    background-image: linear-gradient(rgba(40, 20, 110, 0.9), rgba(220, 70, 70, 0.9)), url("../img/trame3.jpg");
    background-size: cover;
    background-position: revert;
    background-color: #9c0a50;
    color: #f3f8b8;
    font-family: 'Lato', sans-serif;
    animation-duration: 3s;
    animation-name: appearing;
}

a{
    color:#f3f8b8;
    cursor:pointer;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

a:hover,
.navbar-brand.title strong:hover{
    color:#0dd !important;
    text-decoration: none;
}

h1{
    border-bottom: 1px solid #f3f8b8;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

h2{
    color: #ee0;
}

aside{
    font-style: italic;
    margin-bottom:15px;
}

/* - - - - - - - - - - - - - - - - - - HEADER - - - - - - - - - - - - - - - - - - */

header{
    position:fixed !important;
    top:0;
    left:0;
    z-index: 150;
    background-color: #1A1A2A;
    border-bottom: 1px solid #fff;
}

.navbar-fixed-top.scrolled {
    opacity: 0.7 !important;
    padding:0 1rem;
    transition: padding 200ms linear;
}

.navbar{
    width:100%;
    padding: .1rem 1rem;
    max-height: 75px;
}

.navbar-brand{
    font-size: 28px;
    font-family: 'Raleway', Arial, sans-serif;
    color:#fff !important;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

.navbar-brand.subtitle{
    font-size: 1rem;
}

.navbar-brand.inactive{
    opacity:0.5;
}
.navbar-brand.inactive:hover{
    opacity:1;
}

/* - - - - - - - - - - - - - - - - - - MAIN - - - - - - - - - - - - - - - - - - */

#main{
    background-color:transparent;
    padding-top:120px;
    padding-bottom: 215px;
    animation-duration: 1s ;
    animation-name: appearing;
    min-height:100vh;
}

#landing-view{
    animation-duration: 1s ;
    animation-name: appearing;    
}

#player{
    max-width:100%;
}

#player-cmd{
    overflow-y: scroll;
    scrollbar-color: #f3f8b8 #1A1A2A;
    scrollbar-width: thin;
    background-color: rgba(0,0,0,0.5);
    height: 600px;
    border-top: 1px solid #f3f8b8;
    border-bottom: 1px dotted #f3f8b8;
    padding: 0;
    scroll-behavior: smooth;
}

#player-cmd.scrolled{
    border-top: 1px dotted #f3f8b8;
}
#player-cmd.scrolledend{
    border-bottom: 1px solid #f3f8b8;    
}

.player-link{
    color:#5af;
    border-radius: 50px;
    border: 3px solid #5af;
    padding: 10px 14px !important;
    margin: 20px 0;
    cursor:pointer;
    background-color: rgba(0,0,0,0.3);
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

.player-link:hover{
    border: 3px solid #0dd;
    color: #0dd;
}

.playlist{
    padding: 10px 0;
    margin-right:30px;
}

.canson{
    display: block;
    max-width: 100%;
}

.yt-base{
    margin: 15px 0 10px 10px;
}

.position{
    max-width:50px ;
    padding:5px 0 !important;
    text-align: center;
}

.grey {
    color: #bbb !important;
}

.unpointable {
    cursor:default;
}

.faint, .unpointable {
    opacity:0.3;
}

.faint:hover{
    opacity:1;
}

.contributeur_unselected,
.genre_unselected {
    display:none !important;
}

.text-link {
    font-size: 18px;
    transform: translateY(1px);
    display: inline-block;
    padding-left:15px;
    color:#eee;
}

.canson .yt-link{
    padding-left:15px;
}

.canson .yt-link:hover,
.canson .text-link:hover{
    color:#0dd !important;
}

.canson .yt-link.active {
    color: #fff !important;
    background: rgba(50,95,250,0.6);
    padding: 5px 5px 5px 15px;
    border-radius: 5px;
}

#other-cmd{
    flex-direction: column;
    justify-content: space-between;
    font-size: 20px;
}

#other-cmd .up-cmd-wrap{
    flex-basis: 190px;
}

#other-cmd .down-cmd-wrap span{
    z-index: 25;
    position: absolute;
}

#access{
    display: none;
    background-color:transparent;
    position: fixed;
    width:15vw;
    bottom:0;
    right:0;
    padding-bottom:15px;
}

/* - - - - - - - - - - - - - - - - - ADMIN - - - - - - - - - - - - - - - - - - */

.redstyled{
    background-color: #9c0a50 !important;
    color:#fff !important;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

.redstyled:hover{
    background-color: #dc0a80;
}

.highlighted-btn{
    color: #ff0;
}
.highlighted-btn:hover{
    color: #0af;
}

.error-input {
    border-color: red !important;
}

.error-msg{
    color: #ff0;
    font-weight: bold;
}

.buttons{
    display:flex;
}

.buttons button, .buttons .button{
    padding:5px 20px !important;
}

.customized-switch-label::before{
	cursor: pointer;
}

.customized-switch-label{
	cursor: pointer;
}
.custom-control-input:checked ~ .customized-switch-label{
	color: #0dd;
}

.custom-control-input:checked ~ .customized-switch-label::before{
	border: 2px solid #ff0;
	background-color: rgba(0,0,0,0.5);
}

trix-toolbar {
    background-color: transparent !important;
}
trix-toolbar .trix-button{
    background-color: #fff !important;
    color: #fff !important;
}

trix-editor{
    min-height:66vh !important;
}

/* - - - - - - - - - - - - - - - - - MODAL - - - - - - - - - - - - - - - - - - */

.modal{
    color:#fff !important;
}

.modal-content{
    background-color: #1A1A2A;
}

.modal-header{
    background-color: #825 /* rgb(20, 150, 120)*/;
}

.modal-body{
    font-size:14px;
}

#contributeurs .modal-body,
#genres .modal-body{
    font-size:1rem;
}

.modal-footer{
    background-color: darkslateblue;
}

.close{
    color:#fff;
}
.close:hover{
    background-color:unset;
    color:#fff;
}

.yt-exemple{
    width:100%;
    height:auto;
    margin-bottom:70px
}

/* - - - - - - - - - - - - - - - - - INPUTS - - - - - - - - - - - - - - - - - - */

input[type="text"], textarea {
    background-color: rgba(0,0,0,0.5);
    border: 1px solid #fff;
    border-radius: 5px;
    color:#fff;
    font-family: "Lato";
    width:99%;
    padding:5px 25px;
    margin:10px 5px;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

input[type="button"], button, .button{
    background-color: darkslateblue;
    color:#fff;
    font-weight:bold;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

button, .button{
    margin: 10px 5px;
    border-radius: 5px;
    font-weight: bold;
    padding: 0 10px;
}

.button{
    border: 2px solid;
    border-top-color: #eee;
    border-right-color: #888;
    border-bottom-color: #888;
    border-left-color: #eee;
    padding:5px 11px; 
}

input[type="button"]:hover, button:hover, .button:hover{
    background-color: slateblue;
}

input.contributeur-checkbox,
input.genre-checkbox {
    margin-right: 10px;
}

/* - - - - - - - - - - - - - - - - - - STYLES MSGS  - - - - - - - - - - - - - - - - - - */

.bordered {
    display: block;
    border: 1px dotted #aaa;
    padding: 15px;
    margin-top: 10px;
    margin-bottom: 10px;
    text-align: justify;
}


/* - - - - - - - - - - - - - - - - - - FOOTER - - - - - - - - - - - - - - - - - - */

footer{
    position:fixed;
    display: flex;
    bottom:0;
    background-color: rgba(0,0,10,0.9);
    padding-top:20px;
    padding-bottom:10px;
    width:100%;
    border-top:1px solid #fff;
    animation-duration: 0.7s;
    animation-name: entryBottom;
    z-index: 50;
}

#ajout-notif{
    z-index: 100;
    background-color: rgba(255,255,255,0.7);
    width: 100%;
    height: 100%;
    position: fixed;
    transform: translateY(-20px);
    color: #000;
    animation-duration: 3s;
    animation-name: disappearing;
    opacity:0;
}

#selection-notif{
    z-index: 100;
    background-color: rgba(255,255,255,0.7);
    width: 100%;
    height: 104%;
    position: absolute;
    top:0;
    transform: translateY(-20px);
    color: #000;
    animation-duration: 3s;
    animation-name: disappearing;
    opacity:0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* - - - - - - - - - - - - - - - - - - - - - OTHERS - - - - - - - - - - - - - - - - - - */

.pointable{
    cursor:pointer;
}

.disabled{
    cursor: not-allowed;
    opacity: 0.6;
}

.toggle-btn{
    font-size: 30px;
}

.highlighted-btn{
    color: #f3f8b8;
}

/* - - - - - - - - - - - - - - - - - - - - - EFFECTS - - - - - - - - - - - - - - - - - - */

.from-top{
    display: inline-block;
    animation-duration: 0.7s;
    animation-name: entryTop;
}

.from-bottom{
    display: inline-block;
    animation-duration: 0.7s;
    animation-name: entryBottom;
}

.from-right{
    display: inline-block;
    animation-duration: 0.7s;
    animation-name: entryRight;
}

.from-left{
    display: inline-block;
    animation-duration: 0.7s;
    animation-name: entryLeft;
}

.collapse-bottom{
    animation-duration: 1s;
    animation-name: collapseBottom;
}

/* - - - - - - - - - - - - - - - - - - - - - KEYFRAMES - - - - - - - - - - - - - - - - - - */

@keyframes entryRight {
    from {
        -webkit-transform: translateX(60vw);
        transform: translateX(60vw);
    }
    to {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes entryLeft {
    from {
        -webkit-transform: translateX(-40vw);
        transform: translateX(-40vw);
    }
    to {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes entryTop {
    from {
        -webkit-transform: translateY(-40vw);
        transform: translateY(-40vw);
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes entryBottom {
    from {
        -webkit-transform: translateY(40vw);
        transform: translateY(40vw);
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes collapseBottom {
    from {
        bottom: 0;
    }
    to {
        bottom:-1000px;
    }
}

@keyframes appearing {
    from {
        opacity:0;
    }
    66%{
        opacity:0;
    }
    to {
        opacity:1;
    }
}

@keyframes disappearing {
    from {
        opacity:1;
    }
    66%{
        opacity:0;
    }
    to {
        opacity:0;
    }
}


@media screen and (min-width: 1025px) {
    #player-cmd{
        border-left: 1px solid #f3f8b8;
        border-right: 1px solid #f3f8b8;
       /* margin-top: 15px; */
    }
    .modal-dialog-xl{
        max-width:80vw;
    }
    .modal-dialog-xl .modal-content{
        width:80vw;
    }
}

@media screen and (max-width: 1024px) {
    .cansonable{
        margin-bottom:30px;
    }
    .yt-base{
            display:none;
    }
}

@media screen and (min-width: 801px) {
    .playlist{
        margin-right:30px;
    }
    .modal-aside{
        padding-left:35vw;
    }
    .modal-content{
        width:41vw;
        min-width:350px;
    }
}

@media screen and (min-width: 700px) and (max-width: 800px) {
    .playlist{
        margin:5vh 10vw;
    }
}

@media screen and (max-width: 811px) {
    #main {
        padding-top: 10vh;
    }
    .playlist{
        margin-top: 15px;
    }
    .modal-content{
        opacity: 0.9;
    }
}

@media screen and (max-width: 767px) {
    #access .highlighted-btn{
        /*background-color: rgba(0,0,0,0.7);*/
        padding: 10px 15px;
        display: inline-block;
        border-radius: 50px;
    }

    footer .footer-bottom {
        border-top: 1px dotted #fff;
    }
}
@media screen and (max-width: 575px){
    .navbar {
        justify-content: center;
        padding:0;
    }
    .navbar-brand.subtitle{
        font-size: 0.75rem;
    }
    h1{
        font-size:14px;
        font-weight:bold;
    }
    #player-cmd{
        padding: 10px 30px;
    }
    .playlist{
        font-size: 14px;
        margin-right:0;
    }
    .text-link {
        padding-left:8px;
    }
    .canson{
        width: 360px;
        height: 75px;
        border: 2px solid;
        padding: 15px 0 5px 25px;
    }
    .canson .yt-link{
        padding-left:0;
    }
    .canson .yt-link.active {
        color: #eb8 !important;
        background: none;
        padding:0;
        border-radius: 0;
    }
    .canson-cmd {
        font-size: 18px;
    }
    .suppress-btn{
        float: right;
        padding-right: 5px;
    }
    .fas.fa-play-circle {
        display: none;
    }
    .far.fa-comment-dots {
        float: right;
        padding-right: 10px;
        transform: translateY(1px);
    }
}

@media screen and (max-width: 415px) {
    .navbar-brand {
        font-size: 20px;
    }
}

@media screen and (max-width: 320px) {
    #main{
        padding-top:20vh;
    }
    .playlist{
        font-size: 0.85rem;
    }
}

@media screen and (max-width: 280px) {
    .navbar-brand {
        font-size: 16px;
    }
}
