/*
 * Copy this file into your theme to customize it.
 * https://www.phpboost.com/wiki/structure-d-un-theme#paragraph-le-repertoire-theme
 *
 * Default CSS for all themes
*/

/* --- Reset generic tags for different browsers --------------------------- */
* {
	margin: 0;
	padding: 0;
	font-size: 100%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
}

.focus-on-tab:focus,
[type="checkbox"].focus-on-tab:focus + span::before { 
	outline: 0.1618em double var(--question-tone);
	outline-offset: 0.1618em;
}

html, body {
	height: 100%;
	width: 100%;
}

img, table, td, blockquote, code, pre, textarea, input, audio, video, object, iframe { max-width: 100%; }

iframe { border: none; }

input, button, label, select, textarea, legend {
	font-family: inherit;
	font-size: inherit;
	vertical-align: middle;
}

optgroup, select, label, button, .button, [type="radio"], [type="checkbox"], [type="color"], .notation .star { cursor: pointer; }

[type="checkbox"] {
	border: none;
	background: none;
}

button::-moz-focus-inner, .button::-moz-focus-inner {
	border: 0;
	padding: 0;
}

div, textarea, table, td, th, code, pre, samp {
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
}

/* --- Fix for no wrap for button --- */
button, .button {
	word-wrap: normal;
	overflow-wrap: normal;
	hyphens: auto;
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
}

/* --- Fix for chrome word-wrap --- */
fieldset { min-width: 0 !important; }

hr {
	border: none;
	margin: 0.228em auto;
	height: 1px;
	width: 99%;
}

ul, ol {
	line-height: normal;
	margin-left: 2.618em;
	margin-bottom: 0.809em;
}

p {
	margin-bottom: 0.618em;
	font-size: 1em;
}

a { text-decoration: none; }

a:hover {
	text-decoration: underline;
	transition: all 0.3s ease;
}

/* --- Titles --- */
h1 { font-size: 2.456em; }
h2 { font-size: 2em; }
h3 { font-size: 1.809em; }
h4 { font-size: 1.618em; }
h5 { font-size: 1.456em; }
h6 { font-size: 1.228em; }

h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
	word-wrap: break-word;
	overflow-wrap: break-word ;
	hyphens: auto;
	line-height: normal;
}

@media (min-width:769px) {
	h1, h2, h3, h4, h5, h6 {
		word-wrap: normal;
		overflow-wrap: normal;
		hyphens: none;
	}
}

/* --- figure --- */
figure {
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
	vertical-align: top;
}

figcaption {
    text-align: center;
    padding: 0.618em;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
}

pre { white-space: pre-wrap; }

abbr {
	cursor: help;
	font-variant: none;
	text-decoration: none;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: transparent;
}

/* --- Print --- */
@media print {
	* {
		background-color: transparent;
		text-shadow: none;
		box-shadow: none;
		color: var(--darken);
	}
}

/* --- Blink animation effect ----------------------------------------------- */
@keyframes blink {
	0%   { opacity: 0; }
	30%  { opacity: 1; }
	70%  { opacity: 1; }
	100% { opacity: 0; }
}

.blink { animation: blink 1.5s ease-in-out infinite; }

/* --- Debug --- */
.debugger { 
	padding: 0.618em 1.618em; 
	position: relative;
	background-color: rgba(var(--darken), 0.2);
}

.debugger::before {
	position: absolute;
	content: 'debug';
	font-size: 0.618em;
	top: 0.228em;
	left: 0.618em
}


/* --- Basic font ----------------------------------------------------------- */
/* --- open-sans-300 - latin --- */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: local('Open Sans Light'), local('OpenSans-Light'),
		url('fonts/open-sans/open-sans-v13-latin-300.woff2') format('woff2'),
		url('fonts/open-sans/open-sans-v13-latin-300.woff') format('woff'),
		url('fonts/open-sans/open-sans-v13-latin-300.ttf') format('truetype');
}

/* --- open-sans-300italic - latin --- */
@font-face {
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 300;
	font-display: swap;
	src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'),
		url('fonts/open-sans/open-sans-v13-latin-300italic.woff2') format('woff2'),
		url('fonts/open-sans/open-sans-v13-latin-300italic.woff') format('woff'),
		url('fonts/open-sans/open-sans-v13-latin-300italic.ttf') format('truetype');
}

/* --- open-sans-italic - latin --- */
@font-face {
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 400; /* normal */
	font-display: swap;
	src: local('Open Sans Italic'), local('OpenSans-Italic'),
		url('fonts/open-sans/open-sans-v13-latin-italic.woff2') format('woff2'),
		url('fonts/open-sans/open-sans-v13-latin-italic.woff') format('woff'),
		url('fonts/open-sans/open-sans-v13-latin-italic.ttf') format('truetype');
}

/* --- open-sans-regular - latin --- */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400; /* normal */
	font-display: swap;
	src: local('Open Sans'), local('OpenSans'),
		url('fonts/open-sans/open-sans-v13-latin-regular.woff2') format('woff2'),
		url('fonts/open-sans/open-sans-v13-latin-regular.woff') format('woff'),
		url('fonts/open-sans/open-sans-v13-latin-regular.ttf') format('truetype');
}

/* --- open-sans-600 - latin --- */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: local('Open Sans Semibold'), local('OpenSans-Semibold'),
		url('fonts/open-sans/open-sans-v13-latin-600.woff2') format('woff2'),
		url('fonts/open-sans/open-sans-v13-latin-600.woff') format('woff'),
		url('fonts/open-sans/open-sans-v13-latin-600.ttf') format('truetype');
}

/* --- open-sans-600italic - latin --- */
@font-face {
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 600;
	font-display: swap;
	src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'),
		url('fonts/open-sans/open-sans-v13-latin-600italic.woff2') format('woff2'),
		url('fonts/open-sans/open-sans-v13-latin-600italic.woff') format('woff'),
		url('fonts/open-sans/open-sans-v13-latin-600italic.ttf') format('truetype');
}

/* --- open-sans-700 - latin --- */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;  /* Bold */
	font-display: swap;
	src: local('Open Sans Bold'), local('OpenSans-Bold'),
		url('fonts/open-sans/open-sans-v13-latin-700.woff2') format('woff2'),
		url('fonts/open-sans/open-sans-v13-latin-700.woff') format('woff'),
		url('fonts/open-sans/open-sans-v13-latin-700.ttf') format('truetype');
}

/* --- open-sans-700italic - latin --- */
@font-face {
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 700;  /* Bold */
	font-display: swap;
	src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
		url('fonts/open-sans/open-sans-v13-latin-700italic.woff2') format('woff2'),
		url('fonts/open-sans/open-sans-v13-latin-700italic.woff') format('woff'),
		url('fonts/open-sans/open-sans-v13-latin-700italic.ttf') format('truetype');
}

/* --- open-sans-800 - latin --- */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'),
		url('fonts/open-sans/open-sans-v13-latin-800.woff2') format('woff2'),
		url('fonts/open-sans/open-sans-v13-latin-800.woff') format('woff'),
		url('fonts/open-sans/open-sans-v13-latin-800.ttf') format('truetype');
}

/* --- open-sans-800italic - latin --- */
@font-face {
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 800;
	font-display: swap;
	src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'),
		url('fonts/open-sans/open-sans-v13-latin-800italic.woff2') format('woff2'),
		url('fonts/open-sans/open-sans-v13-latin-800italic.woff') format('woff'),
		url('fonts/open-sans/open-sans-v13-latin-800italic.ttf') format('truetype');
}
