/* Colors
Gris
#677b86
#dadfe2
#f5f6f7

Darkblue
#1c2c46

orange:
#e9a74a
#faecd8
#fbf3e7

bleu-gris:
#456ba6
#dde5f1
#f3f6fa

vert:
#59ad61
#d5ead7
#eafbe7

rouge:
#db2428
#f1a9aa
#fbe7e8
*/
/* Import Polices custom */
@import url('https://fonts.cdnfonts.com/css/verdana');

@font-face {
    font-family: 'Open_Sans_regular';
    src: url('/fonts/opensansVF.woff2') format('woff2-variations');
    font-weight: 300 800;
    font-stretch: 75% 100%;
}


@font-face {
    font-family: 'Monaspace_Argon';
    src: url('/fonts/MonaspaceArgonVF.woff2') format('woff2-variations');
    font-weight: 200 800;
    font-stretch: 100% 125%;
}

@font-face {
    font-family: 'Monaspace_Xenon';
    src: url('/fonts/MonaspaceXenonVF.woff2') format('woff2-variations');
    font-weight: 200 800;
    font-stretch: 100% 125%;
}

@font-face {
    font-family: 'Monaspace_Krypton';
    src: url('/fonts/MonaspaceKryptonVF.woff2') format('woff2-variations');
    font-weight: 200 800;
    font-stretch: 100% 125%;
}

@font-face {
    font-family: 'Monaspace_Neon';
    src: url('/fonts/MonaspaceNeonVF.woff2') format('woff2-variations');
    font-weight: 200 800;
    font-stretch: 100% 125%;
}

@font-face {
    font-family: 'Monaspace_Radon';
    src: url('/fonts/MonaspaceRadonVF.woff2') format('woff2-variations');
    font-weight: 200 800;
    font-stretch: 100% 125%;
}

@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Regular.woff2') format('woff2'),
        url('/fonts/OpenDyslexic-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Bold-Italic.woff2') format('woff2'),
        url('/fonts/OpenDyslexic-Bold-Italic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Bold.woff2') format('woff2'),
        url('/fonts/OpenDyslexic-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Italic.woff2') format('woff2'),
        url('/fonts/OpenDyslexic-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Bold.woff2') format('woff2'),
        url('/fonts/OpenDyslexic-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Regular.woff2') format('woff2'),
        url('/fonts/OpenDyslexic-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Italic.woff2') format('woff2'),
        url('/fonts/OpenDyslexic-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Bold-Italic.woff2') format('woff2'),
        url('/fonts/OpenDyslexic-Bold-Italic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}



/* Paramètres */
.container {
    max-width: 1800px;
    position: relative;
    margin-top: 8rem;
    padding-top: 1rem ;
}

.button, button, input[type="submit"], input[type="reset"], input[type="button"] {
    font-size: 1.1rem;
    margin: 0;
}

#info-textarea {
    height: 25rem;
    width: 100%;
}

/* tableaux */

thead {
    background: #e7eefb;
}

th:first-child, td:first-child {
    padding-left: 0.5rem;
}

th:last-child, td:last-child {
    padding-right: 0.5rem;
}

/* Tabs */
  .tabcontent {
    display: none;
    padding: 0.6rem 1.2rem;
    border: 1px solid #ccc;
    border-top: none;
  }

/* accordéons */
  .accordion {
    background-color: #eee;
    color: #444;
    cursor: pointer;
    padding: 1rem;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 1.5rem;
    transition: 0.4s;
    box-sizing: border-box;
  }
  .active, .accordion:hover {
    background-color: #ccc;
  }
  .panel {
    padding: 0 1.8rem;
    display: none;
    background-color: white;
    overflow: hidden;
  }

/* Typographie */

body {
    font-family: "Open_Sans_Regular", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-stretch: 100%;
    font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Monaspace_Neon", monospace, monospace;
    font-weight: 500;
    font-stretch: 100%;
    font-style: normal;
    color: #456ba6;
}

code, kbd, pre, samp {
    font-family: "Monaspace Neon", monospace, monospace;
    font-size: 1em;
}

.tag {
    font-family: "Monaspace_Neon", monospace, monospace;
    font-weight: 200;
    font-stretch: 100%;
    font-style: normal;
    display: inline-block;
    background-color: #f3f6fa;
    color: #456ba6;
    padding: 0.35rem 0.65rem;
    border-radius: 0.375rem;
    font-size: 1.3rem;
    margin-right: 0.35rem;
}

input, button, .button {
    font-family: "Monaspace_Neon", monospace, monospace;
}


.date {
    font-size: 1.3rem;
    font-weight: 300;
    color: #677b86;
}

.nouveau-badge {
    position: absolute;
    font-family: "Monaspace_Neon", monospace, monospace;
    font-weight: 800;
    font-stretch: 100%;
    font-style: normal;
    left: -1rem;
    top: -0.5rem;
    background:#3d8744;
    text-align: center;
    border-radius: 3rem 3rem 3rem 3rem;
    color:white;
    padding: 0rem 1rem;
    font-size: 1rem;
}

blockquote, .blockquote {
    background: #e7eefb;
    border-left: 0.5rem solid #456ba6;
    margin: 1.5rem 0.5rem;
    padding: 0.5rem 1rem;
    width: 100%;
    box-sizing: border-box;
  }

blockquote p, .blockquote p {
    display: inline;
}

.info {
    background: #fbf3e7;
    border-left: 0.5rem solid #e9a74a;
    margin: 1.5rem 0.5rem;
    padding: 0.5rem 1rem;
    width: 100%;
    box-sizing: border-box;
  }

.info p {
    display: inline;
}

.success {
    background: #eafbe7;
    border-left: 0.5rem solid #3d8744;
    margin: 1.5rem 0.5rem;
    padding: 0.5rem 1rem;
    color: #3d8744;
    width: 100%;
    box-sizing: border-box;
  }

.success p {
    display: inline;
}

.error {
    background: #fbe7e8;
    border-left: 0.5rem solid #db2428;
    margin: 1.5rem 0.5rem;
    padding: 0.5rem 1rem;
    color: #db2428;
    width: 100%;
    box-sizing: border-box;
}

.button-danger {
    color: #ef5154;
    background-color: #fbe7e8;
    border-radius: 4px;
    border: 1px solid #ef5154;
}

.button-danger:hover, .button-danger:focus {
  color: #db2428;
  border-color: #db2428;
  outline: 0; 
}

.button-success {
    color: #75c783;
    background-color: #eafbe7;
    border-radius: 4px;
    border: 1px solid #75c783;
}

.button-success:hover, .button-success:focus {
  color: #3d8744;
  border-color: #3d8744;
  outline: 0; 
}


.button-warning {
    color: #e9a74a;
    background-color: #fbf3e7;
    border-radius: 4px;
    border: 1px solid #e9a74a;
}

.button-warning:hover, .button-warning:focus {
  color: #e18300;
  border-color: #e18300;
  outline: 0; 
}



.error p {
    display: inline;
}

/* contenu typo */
#markdown {
    line-height: 1.8;
}

#markdown h1, #lexique h1,
#lexique h2, #lexique h3,
#lexique h4, #lexique h5, #lexique h6 {
    font-weight: 500;
    font-stretch: 100%;
    font-style: normal;
    color: #292929;
    text-decoration: underline;
}

#markdown h2 {
    font-weight: 500;
    font-stretch: 100%;
    font-style: normal;
    color: #292929;
    text-decoration: none;
}
#markdown h3, #markdown h4, #markdown h5, #markdown h6 {
    font-weight: 400;
    font-stretch: 100%;
    font-style: normal;
    color: #292929;
    text-decoration: underline;
}

#markdown h1, #lexique h1 {
    font-size: 2em;
}
#markdown h2, #lexique h2 {
    font-size: 1.7em;
}
#markdown h3, #lexique h3 {
    font-size: 1.4em;
}
#markdown h4, #lexique h4 {
    font-size: 1.2em;
}
#markdown h5, #lexique h5 {
    font-size: 1em;
}
#markdown h6, #lexique h6 {
    font-size: 0.8em;
}

#markdown img {
    max-width: 90%;
}

#markdown figure {
    margin: 1em 0;
    text-align: center;
}
#markdown figcaption {
    color: #727272;
    font-style: italic;
}

#markdown figcaption > em {
    font-size: 0.6em;
}

#markdown ul {
    list-style: square inside;
}

#markdown table, #lexique table {
    display: block;
    overflow-x: auto;
}

#markdown video {
    max-width: 100%;
    display: block;
    margin: 0 auto;
}

#markdown p:has(> video) {
    margin-bottom: 0;
}

#markdown .media-description {
    font-style: italic;
    color: #727272;
    text-align: center;
    margin: 1em 0;
}

#markdown .media-description > em {
    font-size: 0.6em;
}

#markdown .commentaire {
    background: #e7eefb;
    border: 0.3rem dotted #456ba6;
    border-radius: 1rem;
    margin: 2rem 0.5rem 1.5rem;
    padding: 1rem 1rem;
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

#markdown .commentaire > .comment-badge {
    position: absolute;
    font-family: "Monaspace_Neon", monospace, monospace;
    font-weight: 800;
    font-stretch: 100%;
    font-style: normal;
    left: -0.3rem;
    top: -1.4rem;
    background:#e7eefb;
    text-align: center;
    border: 0.3rem dotted #456ba6;
    border-radius: 3rem 3rem 3rem 3rem;
    padding: 0.2rem 1rem 0rem;
    font-size: 1rem;
}

#markdown .info {
    background: #fbf3e7;
    border-left: 0.5rem solid #e9a74a;
    margin: 1.5rem 0.5rem;
    padding: 0.5rem 1rem;
    width: 100%;
    box-sizing: border-box;
  }

#markdown .definition {
    background: #eafbe7;
    border-left: 0.5rem solid #3d8744;
    margin: 1.5rem 0.5rem;
    padding: 0.5rem 1rem;
    color: #3d8744;
    width: 100%;
    box-sizing: border-box;
  }


#markdown .important {
    background: #fbe7e8;
    border-left: 0.5rem solid #db2428;
    margin: 1.5rem 0.5rem;
    padding: 0.5rem 1rem;
    color: #db2428;
    width: 100%;
    box-sizing: border-box;
}

#markdown .commentaire ul,
#markdown .definition ul,
#markdown .info ul,
#markdown .important ul {
    margin-bottom: 0.8rem;
}

#markdown .commentaire ul:last-child,
#markdown .definition ul:last-child,
#markdown .info ul:last-child,
#markdown .important ul:last-child {
    margin-bottom: 0;
}

#markdown .commentaire li,
#markdown .definition li,
#markdown .info li,
#markdown .important li {
    margin-bottom: 0;
}

#markdown .commentaire p,
#markdown .definition p,
#markdown .info p,
#markdown .important p {
    display: block;
    margin-bottom: 0.8rem;
}

#markdown .commentaire p:last-child,
#markdown .definition p:last-child,
#markdown .info p:last-child,
#markdown .important p:last-child {
    margin-bottom: 0;
}

.echiquier > table thead {
    background: none;
}
.echiquier > table {
    font-weight: bold;
}
.echiquier > table td, .echiquier > table th {
    border: 1px solid #000000;
}

/* boxes */

.box {
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0 0.5em 1em -0.125em hsla(221deg,14%,4%,0.1),0 0px 0 1px hsla(221deg,14%,4%,0.02);
    padding: 1rem;
    margin: 1rem 0;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    box-sizing: border-box;
    position:relative;
}

.box-icon {
    margin: auto 1rem auto 0;
}

.box-content {
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}

.box-center > div {
    margin: auto;
}


.box-title {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
}

.box-icon a, .box-title a {
    font-family: "Monaspace_Neon", monospace, monospace;
    font-size: 2rem;
    font-weight: 600;
    color: #456ba6;
	text-decoration: none;
}
.box-title > .date {
    margin-bottom: 0.5rem;
}
/* search */


#search {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    width: 100%;
}

#search_button {
    margin: 0;
}

#search_button span {
    display: none;
}

#search_query {
    margin: 0 0.2rem 0 0;
    width: 100%;
}


#search_results {
    width: 100%;
    box-sizing: border-box;
}

.results-item {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
}

.results-icon {
    margin: auto 1rem auto 0;
}

.results-icon a, .results-title a {
    font-family: "Monaspace_Neon", monospace, monospace;
    font-size: 2rem;
    font-weight: 600;
    color: #3d8744;
	text-decoration: none;
}

.results-icon i {
    font-size: 2rem;
    color: #3d8744;
}

.results-content {
    background: #eafbe7;
    border-left: 0.5rem solid #3d8744;
    margin: 1.5rem 0.5rem;
    padding: 0.5rem 1rem;
    width: 100%;
    box-sizing: border-box;
}

.results-content p {
    margin-bottom: 0.3rem;
}

/* navbar */

nav {
	position: fixed;
	z-index: 10;
	left: 0;
	right: 0;
	top: 0;
	padding: 0 5%;
	height: 8rem;
	background-color: #1c2c46;
}
nav .logo {
    font-family: "Monaspace_Neon", monospace, monospace;
	float: left;
	width: 40%;
	height: 100%;
	display: flex;
	align-items: center;
	font-size: 2.4rem;
	color: #e9a74a;
}

nav .logo > span {
    color: #dde5f1;
    font-family: "Monaspace_Neon", monospace, monospace;
    font-weight: 200;
}

nav .links {
	float: right;
	padding: 0;
	margin: 0;
	width: 40%;
	height: 100%;
	display: flex;
	justify-content: space-around;
	align-items: center;
}
nav .links li {
	list-style: none;
    margin-bottom: 0;
}
nav .links a {
	display: block;
	padding: 1em;
	font-size: 1.5rem;
	font-weight: bold;
	color: #dde5f1;
	text-decoration: none;
}
#nav-toggle {
	position: absolute;
	top: -10rem;
}
nav .icon-burger {
	display: none;
	position: absolute;
	right: 5%;
	top: 50%;
	transform: translateY(-50%);
}
nav .icon-burger .line {
	width: 3rem;
	height: 0.5rem;
	background-color: #dde5f1;
	margin: 0.5rem;
	border-radius: 3px;
	transition: all .3s ease-in-out;
}
@media screen and (max-width: 750px) {
	nav .logo {
		float: none;
		width: auto;
		justify-content: center;
	}
	nav .links {
		float: none;
		position: fixed;
		z-index: 9;
		left: 0;
		right: 0;
		top: 8rem;
		bottom: 100%;
		width: auto;
		height: auto;
		flex-direction: column;
		justify-content: start; /* aligement des items dans le menu mobile */
		background-color: rgba(0,0,0,.8);
		overflow: hidden;
		box-sizing: border-box;
		transition: all .5s ease-in-out;
	}
	nav .links a {
		font-size: 2rem;
	}
	nav :checked ~ .links {
		bottom: 0;
	}
	nav .icon-burger {
		display: block;
	}
	nav :checked ~ .icon-burger .line:nth-child(1) {
		transform: translateY(10px) rotate(225deg);
	}
	nav :checked ~ .icon-burger .line:nth-child(3) {
		transform: translateY(-10px) rotate(-225deg);
	}
	nav :checked ~ .icon-burger .line:nth-child(2) {
		opacity: 0;
	}
	
}

/* choix police des cours */
#choix-police {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    box-sizing: border-box;
}
#choix-police div {
    margin-right: 0.2rem;
    box-sizing: border-box;
}
#bouton-police span {
    display: none;
}



/* media query */
/* Larger than mobile */
@media (min-width: 400px) {

}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {
}

/* Larger than tablet */
@media (min-width: 750px) {
    /* Boxes */
    .box {
        padding: 2rem;
        margin: 2rem 0;
    }
    .box-title {
        flex-direction: row;
    }
    .box-title > .date {
        margin-left: auto;
    }
    .box-icon {
        margin: auto 2rem auto 0rem;
    }
    /* Search */
    #search_button span {
        display: inline;
        margin-left: 0.2rem; 
    }
    /* Polices */
    #bouton-police span {
        display: inline;
        margin-left: 0.2rem; 
    }
    #markdown img {
        max-width: 30em;
    }
    #markdown video {
        max-width: 50%;
    }
}

/* Larger than desktop */
@media (min-width: 1000px) {

}

/* Larger than Desktop HD */
@media (min-width: 1200px) {
    html {
        font-size: 80.5%; }
}

@media print {
    body {
        line-height: 1.2;
    }
    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 1rem;
    }
    ul {
        list-style: circle inside; 
    }
    ol {
    list-style: decimal inside; 
    }
    ol, ul {
    padding-left: 0;
    margin-top: 0; 
    }
    ul ul,
    ul ol,
    ol ol,
    ol ul {
    margin: 1rem 0 1rem 3rem;
    font-size: 90%; 
    }
    li {
    margin-bottom: 0.5rem; 
    }
    th, td {
    padding: 0.5rem 0.5rem;
    text-align: left;
    border-bottom: 1px solid #2f2f2f; 
    }
    th:first-child,
    td:first-child {
    padding-left: 0.5rem; 
    }
    th:last-child,
    td:last-child {
    padding-right: 0.5rem; 
    }
    button,
    .button {
    margin-bottom: 0.5rem; }
    input,
    textarea,
    select,
    fieldset {
    margin-bottom: 1rem; }
    pre,
    blockquote,
    dl,
    figure,
    table,
    p,
    ul,
    ol,
    form {
    margin-bottom: 1rem; }
    nav {
        display: none;
    }
    .container {
        max-width: 100%;
        width: 100%;
        position: relative;
        margin-top: 0;
        padding-top: 0;
    }
    #police-selector {
        display: none;
    }
    #markdown {
        line-height: 1.5;
    }
    #markdown h1, #lexique h1, h1 {
        font-size: 2em;
    }
    #markdown h2, #lexique h2, h2 {
        font-size: 1.7em;
    }
    #markdown h3, #lexique h3, h3 {
        font-size: 1.4em;
    }
    #markdown h4, #lexique h4, h4 {
        font-size: 1.2em;
    }
    #markdown h5, #lexique h5, h5 {
        font-size: 1em;
    }
    #markdown h6, #lexique h6, h6 {
        font-size: 0.8em;
    }
    #markdown img {
        max-width: 70%;
        max-height: 20em;
    }
    #markdown hr {
        display: none;
    }
    #markdown video {
        display: none;
    }
    figure {
        margin: 1rem;
    }
}
  