html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

hr {
	margin-top:1em;
	margin-bottom:1em;
}

u {
  text-decoration: underline;
}

sub {
	vertical-align: sub;
	font-size: smaller;
}
small {
	font-size:0.8em;
}

h1 {
	font-size:1.5em;
	font-weight: bolder;
}

h2 {
	font-size:1.2em;
	font-weight: bold;
}

i {
	font-style: italic;	
}

b { 
    font-weight: bold;
}

p {
    display: block;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
	font-weight: normal;
	line-height: 1.3em;
}


body {
	font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
	position:fixed;
	margin:0;
	padding:0;
	background-image:url("../images/fondmicrobes.jpg");
	background-repeat: repeat;
	width:100%;
	height:100%;
	color:black;
}

.fondModal {
	position:absolute;
	z-index:10;
	width:100%;
	height:100%;
	background-color:rgba(255,255,255,0.5);
	display:none;
}

.bouton {
	font-size:0.75em;
	width:8em;
	height:6em;
	display:inline-block;
	margin:0.25em;
	text-align:center;
	border:1px solid black;
	border-radius:1em;
	background-color:rgba(255,255,255,0.5);
	cursor:pointer;
	padding:0.5em;
}

.icone {
	display:inline-block;
	width:2em;
	height:2em;
	background-size:cover;
	margin-right:1em;
	cursor:pointer;
}

.disabled {
	opacity:0.3;
	pointer-events:none;
	cursor:disabled;
}



.bouton:hover {
	background-color:rgba(255,255,255,0.75);
}


.selectallowed {
	pointer-events:auto;
  -webkit-touch-callout: text; /* iOS Safari */
    -webkit-user-select: text; /* Safari */
     -khtml-user-select: text; /* Konqueror HTML */
       -moz-user-select: text; /* Firefox */
        -ms-user-select: text; /* Internet Explorer/Edge */
            user-select: text; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */	
}

.noselect {
  -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 */
}

/* divMain a un rapport de 3:2 ou 2:3 selon la position de l'écran */
.responsive-box {
  position: absolute;
  inset: 0;
  margin: auto;

  max-width: 100vw;
  max-height: 100vh;

  aspect-ratio: 3 / 2;
}

/* Orientation portrait : format 2:3 */
@media (orientation: portrait) {
  .responsive-box {
    aspect-ratio: 2 / 3;
  }
}

#divMain {
	box-shadow: 0px 0px 2em black;
	background-color: white;	
}

#divModeDemploi{
	position:absolute;
	top:0;
	width:100%;
	height:100%;
	background-image:url("../images/vignettes/mdemploi.jpg");
	background-size:cover;
}

#divCarre {
	position:absolute;
	top:0;
	left:0;
	box-shadow:0px 0px 0px 1px black inset;
}

#divControles {
	position:absolute;
	box-shadow:0px 0px 0px 1px black inset;
	background-color:#DDD;
	text-align:center;
}
 
#divBackgroundCarre {
	position:absolute;
	opacity:0.3;
	width:100%;
	height:100%;
	background-image:url("../images/tissus.jpg");
	background-repeat: repeat;
}

#divCanv {
	position:absolute;
	width:100%;
	height:100%;
	cursor:url('../images/icones/crosshair.png') 16 16, auto;
}

#divCarre1 {
	position:absolute;
	top:1px;
	left:1px;
}

#divCarre2 {
	right:1px;
	position:absolute;
}

#divReponses {
	position:absolute;
	height:100%;
	width:100%;
}

.bulleReponse {
	position:absolute;
	width:14em;
	height:14em;
	border:1px solid black;
	transform:translate(-50%,-50%);
	padding:2em;
	border-radius:16em;
	background-color:#FFFFF0;
	cursor:pointer;
	box-shadow:0px 0px 1em black;
}

.txtRep {
	position:absolute;
	transform:translate(-50%,-50%);
	top:50%;
	left:50%;
	text-align:center;
}

.bulleReponse:hover{
	background-color:#FFFFFF;
	box-shadow:0px 0px 2em black;
}

#divQuestion {
	top:50%;
	left:50%;
	background-color:#F0FFFF;
	cursor:default;
	pointer-events:none;
}

#divReponse1 {
	top:10em;
	left:10em;
}
#divReponse2 {
	top:10em;
	left:40em;
}
#divReponse3 {
	top:40em;
	left:10em;
}
#divReponse4 {
	top:40em;
	left:40em;
}

.reponse {
	position:absolute;
	top:7em;
	left:7em;
	width:15em;
	height:10em;
	border:1px solid black;
	transform:translate(-50%,-50%);
	padding:1em;
	border-radius:7em;
	background-color:white;
}

#divPause {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(255,255,255,0.3);
}

#divPauseText {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	text-align:center;
	background-color:rgba(255,255,255,0.9);
	border:1px solid black;
	padding:4em;
}

#divTactile {
	position:absolute;
	width:50%;
	height:50%;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	text-align:center;
	background-color:rgba(255,255,255,0.9);
	border:1px solid black;
	padding:4em;
	z-index:99;
	font-size:2em;
}

#divVictoire {
	display:none;
	position:absolute;
	left:50%;
	top:50%;
	width:60%;
	height:60%;
	transform:translate(-50%,-50%);
}

#divCaducee {
	position:absolute;
	left:50%;
	top:50%;
	width:80%;
	height:80%;
	transform:translate(-50%,-50%);
	background-image:url('../images/caducee.png');
	background-size:cover;
}

input[type="text"]{
	font-size:inherit;
	line-height:1em;
}

input[type="search"]{
	font-size:inherit;
	line-height:1em;
}


input[type="select"]{
	font-size:inherit;
	line-height:1em;
	background-color:white;
}

select:hover {
	cursor:pointer;
}


select {
	font-size:inherit;
	line-height:1em;
}

.bulle {
	pointer-events:none;
	font-size:0.9em;
	width:auto;
	max-width:16em;
  padding: 0.5em;
  color: #333;
  position: absolute;
  right:0;
  top: 4em;
  z-index: 200;
	border:1px solid black;
  -moz-border-radius: 0.5em;
  -webkit-border-radius: 0.5em;
  border-radius: 0.5em;
  -moz-box-shadow: 0px 0px 0.4em #000;
  -webkit-box-shadow: 0px 0px 0.4em #000;
  box-shadow: 0px 0px 0.4em #000;
  background-image: -moz-linear-gradient(top, #ffffff, #dddddd);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #ffffff),color-stop(1, #dddddd));
  background-image: -webkit-linear-gradient(top, #ffffff, #dddddd);
  background-image: -moz-linear-gradient(top, #ffffff, #dddddd);
  background-image: -ms-linear-gradient(top, #ffffff, #dddddd);
  background-image: -o-linear-gradient(top, #ffffff, #dddddd);
}

.tip {
	display:none;
	pointer-events:auto;
	font-size:0.9em;
	width:auto;
  padding: 0.5em;
  color: #333;
  position: absolute;
  z-index: 100;
	border:1px solid black;
  -moz-border-radius: 0.5em;
  -webkit-border-radius: 0.5em;
  border-radius: 0.5em;
  -moz-box-shadow: 0px 0px 0.4em #000;
  -webkit-box-shadow: 0px 0px 0.4em #000;
  box-shadow: 0px 0px 0.4em #000;
  background-image: -moz-linear-gradient(top, #ffffdd, #dddddd);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #ffffdd),color-stop(1, #dddddd));
  background-image: -webkit-linear-gradient(top, #ffffdd, #dddddd);
  background-image: -moz-linear-gradient(top, #ffffdd, #dddddd);
  background-image: -ms-linear-gradient(top, #ffffdd, #dddddd);
  background-image: -o-linear-gradient(top, #ffffdd, #dddddd);
}

.barreBouton {
	height:1,5em;
	width:auto;
	margin:0.5em;
	padding:0.5em;
	border:1px solid black;
	background-color:rgba(255,255,255,0.5);
	border-radius:0.5em;
	text-align:center;
	font-weight:bold;
	cursor:pointer;
}

.barreBouton:hover {
	background-color:rgba(255,255,255,0.75);
}

.zoomInOut {
	animation-name: zio;
	animation-duration:0.5s;
	animation-iteration-count: infinite;
}

@keyframes zio {
  0% {
    margin-left:0.5em;
	margin-right:0.5em;
	background-color:#FFFFF0;
  }

  50% {
    margin-left:1em;
	margin-right:1em;
	background-color:#FFF0F0;
  }
  
  100% {
    margin-left:0.5em;
	margin-right:0.5em;
	background-color:#FFFFF0;
  }
}

.animCadu {
	animation-name: cadu;
	animation-duration:0.5s;
	animation-iteration-count: infinite;
}

@keyframes cadu {
  0% {
	transform:translate(-50%,-50%) rotate(0deg);
  }

  20% {
	transform: translate(-50%,-50%) rotate(-10deg);
  }
  
  40% {
	transform: translate(-50%,-50%) rotate(10deg);
  }
  
  60% {
	transform: translate(-50%,-50%) rotate(-5deg);
  }
  
  80% {
	transform: translate(-50%,-50%) rotate(5deg);
  }
  
  100% {
	transform:translate(-50%,-50%) rotate(0deg) ;
  }
}

.glow {
  -webkit-animation: glow 0.5s ease-in-out infinite alternate;
  -moz-animation: glow 0.5s ease-in-out infinite alternate;
  animation: glow 0.5s ease-in-out infinite alternate;
  -webkit-text-stroke: 0.03em black;
  color:white;
}

@-webkit-keyframes glow {
  from {
    text-shadow: 0 0 0.2em #fff, 0 0 0.4em #fff, 0 0 0.6em #e60073, 0 0 0.8em #e60073, 0 0 1em #e60073, 0 0 1.2em #e60073, 0 0 1.4em #e60073;
  }
  to {
    text-shadow: 0 0 0.2em #fff, 0 0 0.4em #ff4da6, 0 0 0.8em #ff4da6, 0 0 1em #ff4da6, 0 0 1.2em #ff4da6, 0 0 1.4em #ff4da6, 0 0 1.6em #ff4da6;
  }
}


/* Cercle cooldown curseur */
svg {
  width: 200px;
  height: 200px;
  stroke: #000;
  stroke-width: 2px;
  fill: transparent;
}