/* ---------------------------------------------------
                      GLOBAL STYLES
----------------------------------------------------*/
html {
    display: inline-block;
    margin:0;
    padding:0;
    min-height: 100%;
    line-height: 0em;
}

body {
    display: inline-block;
    min-height: 100%;
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.5em;
    color: #212529;
    font-family: "Ithra", "Montserrat Alternates", "sans-serif";
    background: #ffffff;
    direction: auto;
}

section {
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: center;
    overflow: hidden;
}

h1 {
    margin: 0 auto;
    padding: 20px 0;
    width: 100%;
    font-size: 2.5em;
    line-height: 1.4em;
    color: #474b50;
    font-weight: 600;
}

h1 span.linebreak{
    display: inline-block;
    white-space: nowrap;
    word-break: keep-all; 
}

*:lang(AR) {
    direction: rtl;
}

.circular_crop {
    margin: auto;
    width: 100%;
    height: auto;
    margin-bottom: 1em;
    border-radius: 50%;
}

.thumbnail16-9_crop {
    height: 11em;
    width: 19.5em;
    overflow: hidden;
}


/* ---------------------------------------------------
                      Colors
----------------------------------------------------*/

.ag-text-green{
    color:#abd51c !important;   
}

.ag-text-blue{
    color:#13b5e6 !important;   
}

.ag-text-red{
    color:#ed5d54 !important;   
}

.ag-text-yellow{
    color:#ffd832 !important;   
}

.ag-text-grey{
    color:#474b50 !important;   
}

.text-white{
    color:#474b50 !important;   
}

.ag-background-green{
    background-color:#abd51c !important;   
}

.ag-background-blue{
    background-color:#13b5e6 !important;   
}

.ag-background-red{
    background-color:#ed5d54 !important;   
}

.ag-background-yellow{
    background-color:#ffd832 !important;   
}

.background-black{
    background-color: black !important;   
}

.recolor-green{
    filter: brightness(0) saturate(100%) invert(80%) sepia(96%) saturate(1295%) hue-rotate(14deg) brightness(92%) contrast(79%);
}

.recolor-red{
    filter: brightness(0) saturate(100%) invert(40%) sepia(34%) saturate(1897%) hue-rotate(325deg) brightness(109%) contrast(86%); 
}

.recolor-yellow{
    filter: brightness(0) saturate(100%) invert(76%) sepia(65%) saturate(522%) hue-rotate(346deg) brightness(105%) contrast(108%);  
}

.recolor-blue{
    filter: brightness(0) saturate(100%) invert(74%) sepia(50%) saturate(4788%) hue-rotate(154deg) brightness(93%) contrast(93%);
}

.motif-green::before{
    filter: brightness(0) saturate(100%) invert(80%) sepia(96%) saturate(1295%) hue-rotate(14deg) brightness(92%) contrast(79%);
}

.motif-red::before{
    filter: brightness(0) saturate(100%) invert(40%) sepia(34%) saturate(1897%) hue-rotate(325deg) brightness(109%) contrast(86%); 
}

.motif-yellow::before{
    filter: brightness(0) saturate(100%) invert(76%) sepia(65%) saturate(522%) hue-rotate(346deg) brightness(105%) contrast(108%);  
}

.motif-blue::before{
    filter: brightness(0) saturate(100%) invert(74%) sepia(50%) saturate(4788%) hue-rotate(154deg) brightness(93%) contrast(93%);
}

/* ---------------------------------------------------
                      MOTIF
----------------------------------------------------*/

.motif-letter-circle::before {
    background-image: url('../img/motif/skoun.svg');
}

.motif-letter-slash::before {
    background-image: url('../img/motif/slash.svg');
}

.motif-letter-damma::before {
    background-image: url('../img/motif/damma.svg');
}

.motif-letter {
    position: relative;
    box-sizing: border-box;
}

.motif-bottom::before {
    bottom: -14px;
    top:auto !important;
}

.motif-letter-circle::before {
    top: -4px;
    content: "";
    width: 0.25em;
    height: 0.25em;
    position: absolute;
    fill: black;

    left: 50%;
    transform: translateX(-50%) translateY(-15%);
}

.motif-letter-slash::before {
    top: -4px;
    content: "";
    width: 0.25em;
    height: 0.25em;
    position: absolute;
    fill: black;
    left: 50%;
    transform: translateX(-50%) translateY(-15%);
}

.motif-letter-damma::before {
    top: -4px;
    content: "";
    width: 0.25em;
    height: 0.25em;
    position: absolute;
    fill: black;
    left: 50%;
    transform: translateX(-50%) translateY(-15%);
}

/* ---------------------------------------------------
                      Graphics
----------------------------------------------------*/

.overlay-buttons {
    display: block;
    position: absolute;
    background: url("../img/shapes/buttons.png") no-repeat;
    background-size: 100%;
    width: 150px;
    height: 150px;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
}

.overlay-dpad {
    display: block;
    position: absolute;
    background: url("../img/shapes/x.png") no-repeat;
    background-size: 100%;
    width: 150px;
    height: 150px;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
}

.overlay-circle {
    display: block;
    position: absolute;
    background: url("../img/shapes/circle.png") no-repeat;
    background-size: 100%;
    width: 150px;
    height: 150px;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
}

.overlay-fourdots {
    display: block;
    position: absolute;
    background: url("../img/shapes/four-dots.svg") no-repeat;
    background-size: 100%;
    width: 3.875em;
    height: 18.75em;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
}

.overlay-circle-thin {
    display: block;
    position: absolute;
    background: url("../img/shapes/circle-thin.svg") no-repeat;
    background-size: 100%;
    width: 150px;
    height: 150px;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
}

.overlay-slash {
    display: block;
    position: absolute;
    background: url("../img/shapes/slash.svg") no-repeat;
    background-size: 100%;
    width: 150px;
    height: 150px;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
}

.overlay-skoun {
    display: block;
    position: absolute;
    background: url("../img/motif/skoun.svg") no-repeat;
    background-size: 100%;
    width: 150px;
    height: 150px;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
}

.overlay-fatha {
    display: block;
    position: absolute;
    background: url("../img/shapes/buttons.png") no-repeat;
    background-size: 100%;
    width: 150px;
    height: 150px;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
}

.overlay-damma {
    display: block;
    position: absolute;
    background: url("../img/motif/damma.svg") no-repeat;
    background-size: 100%;
    width: 150px;
    height: 150px;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
}

.overlay-fathatan {
    display: block;
    position: absolute;
    background: url("../img/shapes/fathatan.png") no-repeat;
    background-size: 100%;
    width: 130px;
    height: 130px;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    text-align: center;
}

@media only screen and (min-width: 1080px) {
    body {
        font-size: 1rem;
    };
}
/* ---------------------------------------------------
                      Footer
----------------------------------------------------*/

footer {
    display: inline-block;
    position: relative;
    width: 100%;
    background-color: #474b50;
    padding: 2em 0;
    color: #ffffff;
    text-align: center;
    /* height: calc( 4em + 1.95em + 3.9em + 3.6em + 0.1em); */
    box-sizing: border-box;
}

footer h4 {
    font-size: 1.15em;
    font-weight: 400;
    line-height: 1em;
    margin: 0.4em auto;
    padding: 0;
}

footer a {
    display: block;
    font-size: 1.15em;
    font-weight: 300;
    line-height: 1em;
    margin: 0.7em auto;
    padding: 0;
    padding-bottom: 0.2em;
    color: #ffffff;
    text-decoration: underline;
}

footer .copyright {
    font-size: 1em;
    line-height: 1.4em;
    margin: 0.4em auto;
    padding: 0;
    color: #000000;
}

footer > ul#social-media {
    display: inline-block;
    position: relative;
    padding: 0;
    margin: 0;
    text-align: center;
}

footer > ul#social-media > li {
    display: inline-block;
    position: relative;
    list-style: none;
    text-align: center;
    white-space: nowrap;
    margin: 0;
    width: 1.9em;
    height: 1.9em;
    padding: 0.5em 0.1em 0 0.1em;
}

footer > ul#social-media > li > a {
    display: inline;
    position: relative;
    width: 100%;
    height: 100%;
}

footer > ul#social-media > li > a > img {
    display: block;
    position: relative;
    width: auto;
    height: 100%;
}


/* ---------------------------------------------------
                      Organizers
----------------------------------------------------*/
section#organizers {
    display: block;
    position: relative;
    width: 100%;
    background-color:#ABD51C;
    padding: 32px 0;
    overflow: hidden;
}

section#organizers .overlay-buttons {
    top:auto;
    bottom: -8px;
    right: auto;
    left: 5%;
    width: 9.375em;
    height: 9.375em;
}

section#organizers > h1 {
    color:#ffffff;
}

section#organizers .carousel-container {
    display: block;
    position: relative;
    padding: 0.975em 0 3.125em 0;
    width: 100%;
    margin: 0 auto;
}

.carousel-organizers {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}

.carousel-organizers .carousel-element {
    display: block;
    position: relative;
    width: 14em;
    height: 20em;
    padding: 0;
    margin: auto;
}

.carousel-organizers .carousel-element > picture img {
    margin: auto;
    width: 100%;
    height: auto;
    margin-bottom: 1em;
    border-radius: 50%;
}

.carousel-organizers .carousel-element > h2 {
    min-height: 2.4em;
    font-weight: 500;
    line-height: 1.2em;
    font-size: 2em;
    color: white;
    margin: 0 auto;
    padding: 0;
    margin-bottom: 0.5em;
}

.carousel-organizers .carousel-element > p {
    margin: 0 auto;
    padding: 0;
    line-height: 1.4em;
    font-size: 1.2em;;
}

.carousel-organizers .carousel-element > p > a {
    color: #212529;
}

.carousel-organizers .carousel-element > p > a > img {
    display: inline;
    width: 1.5em;
    height: 1.5em;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    vertical-align: middle;
    border-style: none;
}

@media only screen and (min-width: 1080px) {

    .carousel-organizers .carousel-element {
        width: 11em;
    }

    .carousel-organizers {
        max-width: 1024px;
    }

    .carousel-organizers .carousel-element > h2 {
        font-size: 1.5em;
    }
    
    .carousel-organizers .carousel-element > p {
        font-size: 1em;;
    }

}

/* ---------------------------------------------------
                      Communities
----------------------------------------------------*/

section#communities {
    display: block;
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
}

section#communities .carousel-container{
    display: block;
    position: relative;
    height: 14.5em;
    width: 100%;
    margin: 0 auto;
    margin-top: 1em;
    background: linear-gradient(rgba(0,0,0,0) 22%, #484B51 22%, #484B51 24%, white 24%);
    padding-bottom: 3em;
    font-size: 1.1em;
}

section#communities .carousel-button-left,
section#communities .carousel-button-right {
    top: -9.45em;
}

.carousel-communities {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    font-size: 1em;
    line-height: 1.5;
    font-weight: 400;
}

section#communities .carousel-element {
    display: block;
    position: relative;
    width: 11em;
    height: 14.5em;
    overflow: hidden;
    margin: auto;
}

.circle {
    width: 8em;
    height: 8em;
    background-color: white;
    border-radius: 50%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 0.75em;
}

.circle img {
    display: block;
    box-sizing: border-box;
    margin: 0 auto;
    width: 8em;
    height: 8em;
    border: solid 0.3125em #abd51c;
    border-radius: 50%;
}

section#communities .carousel-element > p {
    font-size: 1em;
}

.circle .lebgamedev {
    border: none; 
    position: absolute; 
    z-index: 2; 
    top: 0px;
}

@media only screen and (min-width: 1080px) {

    section#communities .carousel-communities {
        max-width: 1024px;
    }

    section#communities .carousel-container{
        font-size: 1em;
    }
}


/* ---------------------------------------------------
                      BANNER
----------------------------------------------------*/
.event section#banner,
.recap section#banner {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 100%;
    height: 1364px;
    overflow: hidden;
    background-image: url("../img/agc20/slider.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
    margin: 0;
}
.event section#banner,
.recap section#banner {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 100%;
    height: 1364px;
    overflow: hidden;
    background-image: url("../img/agc20/slider.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
    margin: 0;
}

.horizontal_list {
    font-size: 1em;
    display: flex; 
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    align-content: flex-start;
    max-width: 900px;
    margin: auto;
}


.horizontal_list img {
    width: 12em;
    height: auto;
    padding: 10px 10px;
}

@media only screen and (min-width: 1080px) {
    .event section#banner,
    .recap section#banner {
        height: 682px;
    }
}


/* ---------------------------------------------------
                      Buttons
----------------------------------------------------*/

.ag-button {
    display: inline-block;
    position: relative;
    color: white;
    text-decoration: none;
    border-radius: 0.8em;
    white-space: nowrap;
    margin: auto;
    padding: 0.8em;
    min-width: 13em;
    font-size: 1.2em;
    font-weight: 300;
    border: 0;
}

.youtube-play {
    display: block;
    position: absolute;
    z-index: 5;
    width: auto;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 120px;
    opacity: 1;
    -webkit-filter: brightness(100%);
    filter: brightness(100%);

    -webkit-transition: all 0.1s linear;
    -moz-transition: all 0.1s linear;
     -ms-transition: all 0.1s linear;
      -o-transition: all 0.1s linear;
         transition: all 0.1s linear;
}

.youtube-play:hover {
    opacity: 0.9;
    -webkit-filter: brightness(110%);
    filter: brightness(110%);
}

/* ---------------------------------------------------
                      Carousel
----------------------------------------------------*/
.carousel-container {
    display: inline-block;
    position: relative;
    width: auto;
}
.carousel-button-left:hover,
.carousel-button-right:hover {
    cursor: pointer; 
}

.carousel-button-left{
    display: block;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    left: -800px;
    background-image: url('../img/shapes/slider-arrow-right.svg');
    background-repeat: no-repeat;
    /* background-size: 74px 74px ; */
    background-size: 4.625em 4.625em ;
    /* width: 74px;
    height: 74px; */
    width: 4.625em;
    height: 4.625em;
    /* transform-origin: 37px 37px; */
    transform-origin: 2.3125em 2.3125em;
    -webkit-tap-highlight-color:  rgba(255, 255, 255, 0); 
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.carousel-button-right{
    display: block;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: -800px;
    left: 0;
    background-image: url('../img/shapes/slider-arrow-right.svg');
    background-repeat: no-repeat;
    /* background-size: 74px 74px ; */
    background-size: 4.625em 4.625em ;
    /* width: 74px;
    height: 74px; */
    width: 4.625em;
    height: 4.625em;
    /* transform-origin: 37px 37px; */
    transform-origin: 2.3125em 2.3125em;
    -webkit-tap-highlight-color:  rgba(255, 255, 255, 0); 
}

/* .carousel-button-right::before, .carousel-button-left::before {
    display: block;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    content: "";
    background-image: url(../img/shapes/slider-arrow-right.svg);
    background-repeat: no-repeat;
    background-size: 74px 74px ;
    width: 100%;
    height: 100%;
    filter: brightness(0) invert(1) !important;
    z-index: 2;
    filter: brightness(0) saturate(100%) invert(80%) sepia(96%) saturate(1295%) hue-rotate(14deg) brightness(92%) contrast(79%);
} */

@media only screen and (min-width: 1080px) {
    .carousel-button-left {
        left: -1224px;
    }

    .carousel-button-right {
        right: -1224px;
    }
}

/* ----------------------------
            SPONSORS
-----------------------------*/

section#partners {
    padding: 2em 0 3em 0;
}

section#partners #sponsor img {
    width: 11em;
}

section#partners #media img {
    width: 7.5em;
}

/* ---------------------------------------------------
                      PAGE
----------------------------------------------------*/
.page h1, h2, h3, h4, p {
    width: 100%;
}
.page div#banner{
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    background-image: url("../img/arabesque.png");
    background-repeat: repeat;
    background-size: 410px 236px ;
    background-color: #abd51c;
    height: 300px;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    box-shadow: inset 0 7px 9px -7px rgba(0,0,0,0.4);
}

.page div#banner > .overlay-dpad {
    display: block;
    position: absolute;
    bottom: -152px;
    left: -875px;
    right: 0;
    height: 235px;
    width: 235px;
}

.page div#banner > h1:first-of-type,
.page div#banner > input:first-of-type {
    font-size: 2.2em;
    line-height: 1em;
    padding: 0;
    color: white;
    max-width: 1062px;
    text-align: center;
    font-weight: 600;
}

.page div#content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: auto;
    box-sizing: border-box;
    width: 100%;
    max-width: 1462px;
    text-align: justify;
    text-align-last: center;
    padding: 30px 40px 60px 40px;
    min-height: calc(100vh - (165px + 300px + 13.55em) );
}

@media only screen and (min-width: 1080px) {
    .page div#banner > h1:first-of-type,
    .page div#banner > input:first-of-type {
        font-size: 2.7em;
    }
}


/* ---------------------------------------------------
                SWITCH
----------------------------------------------------*/

.switch {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: center;
    width:100%;
    margin: 0;
    padding: 0;
    cursor: pointer;
}

.switch > span {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    padding: 0.4em 0.4em;
    margin: 0;
    width: 50%;
    font-size: 1em;
    font-weight: normal;
    line-height: 1em;
    text-align: center;
    border: 0.1em solid #999;
    color: white;
    background-color: transparent;
}

.switch > input[type="checkbox"]{
    display:none;
}
.switch span:nth-of-type(1) {
    border-right-width: 0.05em;
}

.switch span:nth-of-type(2) {
    border-left-width: 0.05em;
}