@media (max-width: 980px){
.et_pb_row.et_pb_row_fullwidth, .et_pb_specialty_fullwidth>.et_pb_row {
    width: 100%!important;
    max-width: 100%!important;
}
}


@media (min-width: 981px){
.et_pb_row.et_pb_row_fullwidth, .et_pb_specialty_fullwidth>.et_pb_row {
    width: 100%!important;
    max-width: 100%!important;
}
}



:root {
    --green: #47AD97;
    --red: #E54D42;
    --orange: #EF961C;
    --violet: #802a77;
    --yellow: #F1C330;
    --black: #272727;
}

cards {
    --cards-width: 90vw;
    --cards-gutter: 2vw;
    --cards-columns: 8;
    --cards-row-size: calc( (var(--cards-width) - (var(--cards-gutter) * (var(--cards-columns) - 1))) / var(--cards-columns));
}

keys {
    --keys-width: 90vw;
    --keys-gutter: 1vw;
    --keys-columns: 8;
    --keys-row-size: calc( (var(--keys-width) - (var(--keys-gutter) * (var(--keys-columns) - 1))) / var(--keys-columns));
}

html {
    box-sizing: border-box;
}

*:before, *:after {
    box-sizing: inherit;
}

* {
    margin: 0;
    padding: 0;
    border: 0;
}

/* important sinon il y a notamment une margin par défaut de 8px sur le body*/

/* GLOBAL */

body {
    font-family: 'Josefin Sans', sans-serif;
    line-height: 1.4;
    color: #817D7D;
}

input:focus, select:focus, textarea:focus, button:focus {
    outline: none;
}

.green {
    border: solid 4px var(--green);
}

.red {
    border: solid 4px var(--red);
}

.violet {
    border: solid 4px var(--violet);
}

.orange {
    border: solid 4px var(--orange);
}

.yellow {
    border: solid 4px var(--yellow);
}

.black {
    border: solid 4px var(--black);
}

* {
    -webkit-touch-callout: none;
    /* iOS Safari */
    -webkit-user-select: none;
    /* Safari */
    -khtml-user-select: none;
    /* Konqueror HTML */
    -moz-user-select: none;
    /* Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none;
    /* Non-prefixed version, currently
                                    supported by Chrome and Opera */
}

#composer{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #F2F2F2;
    height: 45vh;
}


cards{


    display: grid;
    width: 100%;
    max-width: 90vw;

    grid-template-columns: repeat( var(--cards-columns), 1fr);
    grid-auto-rows: var(--cards-row-size);

    grid-column-gap: var(--cards-gutter);
    grid-row-gap: var(--cards-gutter);
}

.card {
    display: flex;
    flex-direction:column;
    align-items: center;
    justify-content: space-around;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);

    background-color: #ffffff;
    color: var(--black);
}

.card-content, .key-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70%;
    transition: 0.15s;
    font-size: 20px;
}

.card-icon {
    flex-grow: 1;
    margin: 0 0 5% 0;
    width: 100%;
    height: 30%;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: auto 70%;
}

.c .card-icon {
    background-image: url(https://wakademy.online/wp-content/uploads/wk/wakatoo/c.png);
}

.r .card-icon {
    background-image: url(https://wakademy.online/wp-content/uploads/wk/wakatoo/r.png);
}

.g .card-icon {
    background-image: url(https://wakademy.online/wp-content/uploads/wk/wakatoo/g.png);
}

.too1 .card-icon {
    background-image: url(https://wakademy.online/wp-content/uploads/wk/wakatoo/too1.png);
}

.too2 .card-icon {
    background-image: url(https://wakademy.online/wp-content/uploads/wk/wakatoo/too2.png);
}

.tooh .card-icon {
    background-image: url(https://wakademy.online/wp-content/uploads/wk/wakatoo/too.png);
}

.card {
    border: solid 2px var(--orange);
    border-radius:4px;
}

.card.wa, .card.won, .card.ton {
    border: solid 2px var(--green);
}

.card.too1, .card.too2, .card.tooh, .card.kouf, .card.ks, .card.pch, .card.ts {
    border: solid 2px var(--red);
}

/* Cartes avec préfixe breath_ : bordure verte par défaut */
.card[class*="breath-"] {
    border: solid 2px var(--green);
    position: relative;
}

/* Cartes breath_touf et breath_kouf : bordure bicolore (rouge en haut, vert en bas) */
.card.breath-touf,
.card.breath-kouf {
    border: none;
    position: relative;
}

.card.breath-touf::before,
.card.breath-kouf::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    border-top: solid 2px var(--red);
    border-left: solid 2px var(--red);
    border-right: solid 2px var(--red);
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    pointer-events: none;
    z-index: 1;
}

.card.breath-touf::after,
.card.breath-kouf::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    border-bottom: solid 2px var(--green);
    border-left: solid 2px var(--green);
    border-right: solid 2px var(--green);
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    pointer-events: none;
    z-index: 1;
}

.card.f, .card.s {
    border: solid 2px var(--violet);
}

.card.g, .card.c, .card.r {
    border: solid 2px var(--yellow);
}

.card-content{
    font-size: 2vw;
    text-align:center;
    font-weight: 400;
    transition: 0.15s;
}

.playing {
    transform: scale(1.5);
}

#controls{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 8vh;
    background-color: #ffffff;
    box-shadow: 0px -3px 6px rgba(0, 0, 0, 0.15);
}

#controls a {
    color: #ffffff;
    border: solid 1px #BA511E;
    background-color : #BA511E;
    padding: 4px 10px;
    margin: 20px;
    padding:5px 20px 5px 20px;
	border-radius: 30px;
}

#controls a:hover {
    color: #BA511E;
    background-color : #ffffff;
    border: solid 1px #BA511E;
}

#play-stop-button{
    width: 5vh;
    height: 5vh;
    cursor: pointer;
	background: #BA511E url(https://www.wakademy.online/wp-content/uploads/wk/wakatoo/stop.svg) center center no-repeat;
    background: #BA511E url(https://www.wakademy.online/wp-content/uploads/wk/wakatoo/play.svg) center center no-repeat;
    box-shadow: 0 1px 2px 1px rgba(0,0,0,0.075);
    border-radius: 100%;
    border: solid 1px #BA511E;
    -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.38, 1.8, 0.32, 1);
    -moz-transition: -moz-transform 0.1s cubic-bezier(0.38, 1.8, 0.32, 1);
    -o-transition: -o-transform 0.1s cubic-bezier(0.38, 1.8, 0.32, 1);
    -ms-transition: -ms-transform 0.1s cubic-bezier(0.38, 1.8, 0.32, 1);
    transition: transform 0.1s cubic-bezier(0.38, 1.8, 0.32, 1);
}

#play-stop-button.active {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    transform-duration: 0s;
}

#keyboard{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
    height: 47vh; 
}

keys{

    display: grid;
    width: 100%;
    max-width: var(--keys-width);

    grid-template-columns: repeat( var(--keys-columns), 1fr);
    grid-auto-rows: var(--keys-row-size);

    grid-column-gap: var(--keys-gutter);
    grid-row-gap: var(--keys-gutter);

    -webkit-user-select : none;
    -moz-user-select : -moz-none;
    -ms-user-select : none;
    user-select : none;
}

.key {
    display: flex;
    flex-direction:column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);

    background-color: #ffffff;
    color: var(--black);
    cursor: move;
    cursor: -webkit-grabbing;
}

.key-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70%;
    transition: 0.15s;
    font-size: 20px;
}

.key-icon {
    flex-grow: 1;
    margin: 0 0 5% 0;
    width: 100%;
    height: 30%;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: auto 70%;
}

.key {
    border: solid 2px var(--orange);
}

.key.wa, .key.won, .key.ton {
    border: solid 2px var(--green);
}

.key.too1, .key.too2, .key.tooh, .key.kouf, .key.ks, .key.pch, .key.ts {
    border: solid 2px var(--red);
}

/* Clés avec préfixe breath_ : bordure verte par défaut */
.key[class*="breath-"] {
    border: solid 2px var(--green);
    position: relative;
}

/* Clés breath_touf et breath_kouf : bordure bicolore (rouge en haut, vert en bas) */
.key.breath-touf,
.key.breath-kouf {
    border: none;
    position: relative;
}

.key.breath-touf::before,
.key.breath-kouf::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    border-top: solid 2px var(--red);
    border-left: solid 2px var(--red);
    border-right: solid 2px var(--red);
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    pointer-events: none;
    z-index: 1;
}

.key.breath-touf::after,
.key.breath-kouf::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    border-bottom: solid 2px var(--green);
    border-left: solid 2px var(--green);
    border-right: solid 2px var(--green);
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    pointer-events: none;
    z-index: 1;
}

.key.f, .key.s {
    border: solid 2px var(--violet);
}

.key.g, .key.c, .key.r {
    border: solid 2px var(--yellow);
}

.key-content{
    font-size: 3vw;
    text-align:center;
    font-weight: 400;
    transition: 0.15s;
}

@media (min-width: 800px){
    cards{
        --cards-columns: 8;
    }

    .card-content{
        font-size: 2vw;
    }

    keys{
        --keys-columns: 8;
    }

    .key-content{
        font-size: 1.5vw;
    }
	
	cards{
		max-width: 65vw;
	}

	cards {
		--cards-width: 65vw;
	}
	
	keys {
    --keys-width: 40vw;
	}
	
	keys{
    max-width: var(--keys-width);
}
}