/*
   CSS Document
   Design par Olivier R.
*/

/*
    flexbox:
    https://css-tricks.com/snippets/css/a-guide-to-flexbox/
*/


/* Cleaner */

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


/* Generic classes */

.fleft { float: left; }
.fright { float: right; }
.fleftm { float: left; margin-right: 10px; }
.frightm { float: right; margin-left: 10px; }
.clearer { clear: both; font-size: 0; height: 0; }
.center { text-align: center; }

noscript {
    position: fixed;
    box-sizing: border-box;
    top: 20%;
    width: 80%;
    left: 10%;
    padding: 50px 10px;
    background-color: hsl(0, 75%, 50%);
    border-radius: 5px;
    color: hsl(0, 0%, 100%);
    font: normal 24px "Trebuchet MS";
    text-shadow: 0 1px 1px hsl(0, 10%, 10%);
    text-align: center;
    z-index: 1000;
}

::-moz-selection {
    background-color: hsl(210, 50%, 60%);
    color: hsl(210, 20%, 100%);
    text-shadow: 0 0 2px hsl(210, 80%, 20%);
    border-radius: 2px;
}
::selection {
    background-color: hsl(210, 50%, 60%);
    color: hsl(210, 20%, 100%);
    text-shadow: 0 0 2px hsl(210, 80%, 20%);
    border-radius: 2px;
}


/* Main classes */

html {
    box-sizing: border-box;
    height: 100%;
    font-family: "Abel", "Ubuntu Condensed", "Liberation Sans", sans-serif;
    color: hsl(210, 30%, 20%);
}
body {
    height: 100%;
}

.separator {
    height: 10px;
    background-color: hsl(210, 50%, 50%);
}
.logoframe {
    position: absolute;
    margin: -33px 0 0 48%;
    padding: 5px 5px 0px 5px;
    border: 5px solid hsl(210, 50%, 50%);
    background-color: hsl(210, 0%, 100%);
    border-radius: 100px;
}

#mainheader {
    background-color: hsl(210, 50%, 50%);
    /*background: linear-gradient(45deg, hsl(210, 100%, 20%), hsl(210, 50%, 50%));*/
    background: linear-gradient(45deg, hsl(330, 40%, 40%), hsl(210, 40%, 40%), hsl(120, 40%, 40%));
    background-size: 300% 100%;
    animation: Gradient 40s ease infinite;
}

@keyframes Gradient {
    0% { background-position: 0% 50% }
    50% { background-position: 100% 50% }
    100% { background-position: 0% 50% }
}


.maincolumn a:link, .maincolumn a:visited {
    color: hsl(210, 70%, 40%);
    /*text-decoration: none;*/
}
.maincolumn a:hover, .maincolumn a:active {
    text-shadow: 0 0 2px hsl(210, 80%, 60%);
}

nav.mainnav {
    text-align: right;
    font-size: 16px;
    color: hsl(210, 50%, 98%);
}
.mainnav li {
    display: inline-block;
}
.mainnav a:link, .mainnav a:visited {
    padding: 2px 10px;
    background-color: hsla(210, 50%, 50%, .3);
    color: hsl(210, 50%, 95%);
    border-radius: 3px;
    /*corner-shape: bevel;*/
    text-decoration: none;
}
.mainnav a:hover, .mainnav a:active {
    background-color: hsla(30, 100%, 60%, .9);
    color: hsl(210, 50%, 98%);
    text-shadow: 0 0 4px hsl(210, 80%, 10%);
}

#home {
    background-color: hsl(210, 50%, 90%);
}
#warning {
    background-color: hsl(0, 100%, 33%);
    background: repeating-linear-gradient( -45deg, hsl(0, 100%, 33%), hsl(0, 100%, 33%) 30px, hsl(0, 100%, 34%) 30px, hsl(0, 100%, 34%) 60px );
    /*background-image: repeating-linear-gradient(135deg, transparent, transparent 35px, hsla(0, 100%, 33%, .1) 35px, hsla(0, 100%, 33%, .5) 70px);*/
    color: hsl(0, 100%, 100%);
}
#warning h1 {
    color: hsl(0, 100%, 66%);
}
#download {
    background-color: hsl(210, 50%, 90%);
}
#other_downloads {
    background-color: hsl(210, 50%, 80%);
}

#support {
    margin-top: 2px;
    background-color: hsl(120, 50%, 90%);
}
#donatebox {
    margin: 10px auto;
    width: 350px;
    padding: 10px 20px;
    border-radius: 5px;
    border: 5px solid hsl(120, 50%, 50%);
    background-color: hsl(120, 50%, 80%);
    text-align: center;
}
#issues {
    margin-top: 2px;
    background-color: hsl(0, 50%, 90%);
}
#thanks {
    background-color: hsl(30, 100%, 90%);
}
#partners {
    margin-top: 2px;
    background-color: hsl(180, 20%, 90%);
    text-align: center;
}

.maincolumn {
    margin: 0 auto;
    padding: 30px 10px 40px 10px;
    max-width: 820px;
}
.maincolumn p {
    margin: 10px auto 0 auto;
    font-size: 20px;
    text-align: justify;
    text-justify: auto;
}
.maincolumn p.center {
    text-align: center;
}
.maincolumn h1 {
    margin-top: 10px;
    font-size: 36px;
    font-family: 'Montserrat', sans-serif;
    font-variant: small-caps;
    color: hsl(210, 50%, 50%);
}
.maincolumn h1.maintitle {
    margin-top: 15px;
    font-size: 50px;
    font-family: 'Montserrat', sans-serif;
    color: hsl(210, 50%, 80%);
    text-shadow: 2px 0 0 hsla(210, 90%, 50%, .5), -2px 0 0 hsla(210, 90%, 50%, .5), 0 2px 0 hsla(210, 90%, 50%, .5), 0 -2px 0 hsla(210, 90%, 50%, .5), 1px 1px hsla(210, 90%, 50%, .5), -1px -1px 0 hsla(210, 90%, 50%, .5), 1px -1px 0 hsla(210, 90%, 50%, .5), -1px 1px 0 hsla(210, 90%, 50%, .5);
}

.maincolumn h2 {
    margin-top: 15px;
    font-size: 24px;
    font-family: 'Montserrat', sans-serif;
    font-variant: small-caps;
    color: hsl(210, 40%, 45%);
}
.maincolumn h3 {
    margin-top: 15px;
    font-size: 20px;
    font-family: 'Montserrat', sans-serif;
    font-variant: small-caps;
    color: hsl(210, 30%, 40%);
}
.maincolumn li {
    margin-top: 5px;
    margin-left: 20px;
    font-size: 20px;
}


blockquote {
    background: hsl(210, 40%, 90%) url('grammalecte/img/elem_quotes.png') no-repeat;
    border-bottom: 1px solid hsl(210, 40%, 70%);
    border-top: 1px solid hsl(210, 40%, 70%);
    font: normal 16px "Ubuntu Condensed", "Liberation Sans", sans-serif;
    color: hsl(210, 50%, 50%);
    display: block;
    margin: 20px 0 10px 0;
    padding: 5px 5px 2px 40px;
}

#version_block {
    margin: -40px 0 20px 20px;
    float: right;
    padding: 20px;
    background-color: hsl(0, 50%, 50%);
    border-radius: 0 0 20px 20px;

}
#version_title {
    margin-top: -10px;
    text-align: center;
    color: hsl(0, 50%, 90%);
    font-size: 16px;
}
#version_num {
    text-align: center;
    font-size: 70px;
    color: hsl(30, 100%, 70%);
}
#version_date {
    text-align: center;
    color: hsl(0, 50%, 90%);
    font-size: 18px;
}
#version_notes {
    text-align: center;
    color: hsl(0, 50%, 90%);
    font-size: 16px;
}

.roundbox {
    margin: 0 0 20px 20px;
    padding: 0 10px 10px 10px;
    background: hsl(0, 50%, 96%);
    border: 2px solid hsl(0, 50%, 80%);
    border-radius: 5px;
    color: hsl(0, 50%, 30%);
}

.big_button {
    margin: 0 auto 0 auto;
    width: 400px;
}
a.button {
    display: block;
    margin: 5px 0;
    width: 400px;
    padding: 10px 15px 15px 15px;
    background-color: hsl(210, 50%, 50%);
    border-radius: 5px;
    text-shadow: rgba(0,0,0,.7) 1px 1px 1px;
    color: hsl(210, 50%, 90%);
    text-decoration: none;
}
a.button p.title {
    font: normal 40px 'Ubuntu Condensed', "Liberation Sans Narrow", sans-serif;
}
a.button:hover {
    background-color: hsl(210, 50%, 40%);
    color: hsl(210, 50%, 95%);
}
a.button .version {
    font: normal 20px "Trebuchet MS", "Liberation Sans", sans-serif;
    color: hsl(210, 90%, 80%);
}

summary {
    cursor: pointer;
}

summary.h3 {
    margin-top: 15px;
    font-size: 20px;
    font-family: 'Montserrat', sans-serif;
    font-variant: small-caps;
    color: hsl(210, 30%, 40%);
}


.thumbnails {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 20px 0;
}
.thumbnail {
    margin: 5px;
    border: 5px solid hsl(210, 0%, 90%);
    border-radius: 3px;
    width: 100px;
}


/*
    FOOTER
*/
#footer1 {
    background-color: hsl(210, 50%, 40%)
}

#footer1 h1 {
    color: hsl(210, 50%, 70%);
}
#footer1 li {
    color: hsl(210, 50%, 80%);
}

#footer2 {
    background-color: hsl(210, 50%, 20%)
}
#footer2 p {
    color: hsl(210, 50%, 60%);
}


/*
    RIBBONS
*/

.ribbon-wrapper-green {
  width: 170px;
  height: 176px;
  overflow: hidden;
  position: fixed;
  top: -3px;
  right: -3px;
}

.ribbon-green {
  font: bold 15px Sans-Serif;
  color: #333;
  text-align: center;
  text-shadow: rgba(255,255,255,0.5) 0px 1px 0px;
  -webkit-transform: rotate(45deg);
  -moz-transform:    rotate(45deg);
  -ms-transform:     rotate(45deg);
  -o-transform:      rotate(45deg);
  position: relative;
  padding: 7px 0;
  left: -5px;
  top: 35px;
  width: 240px;
  background-color: #BFDC7A;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#BFDC7A), to(#8EBF45));
  background-image: -webkit-linear-gradient(top, #BFDC7A, #8EBF45);
  background-image:    -moz-linear-gradient(top, #BFDC7A, #8EBF45);
  background-image:     -ms-linear-gradient(top, #BFDC7A, #8EBF45);
  background-image:      -o-linear-gradient(top, #BFDC7A, #8EBF45);
  color: #6a6340;
  -webkit-box-shadow: 0px 0px 3px rgba(0,0,0,0.3);
  -moz-box-shadow:    0px 0px 3px rgba(0,0,0,0.3);
  box-shadow:         0px 0px 3px rgba(0,0,0,0.3);
}

.ribbon-green:before, .ribbon-green:after {
  content: "";
  border-top:   3px solid #6e8900;
  border-left:  3px solid transparent;
  border-right: 3px solid transparent;
  position:absolute;
  bottom: -3px;
}

.ribbon-green:before {
  left: 0;
}
.ribbon-green:after {
  right: 0;
}​
