* {
    padding: 0;
    margin: 0;
}

p {
    margin:20px 0;
    max-width:100%;
    text-align: justify;
}

header {
    margin: 60px 0px 100px;
    text-align:center;
}
h1 {
    font-size:30px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

h2 {
    font-size:18px;
    font-weight:normal;
    color: #555;
    text-transform: uppercase;
}

body, html {
    width:100%;
    max-width: 100%;
    min-height: 100%;
    background: linear-gradient(45deg, #84a3f4, #aaaaff);

}
.app {
    background: white;
    width: 100%;
    max-width:800px;
    margin:auto;
    font-family: arial;
    position:relative;
    box-shadow: 20px 20px 50px 0px rgba(0, 0, 0, .15);
}


.inner {
    padding: 15px;

}
@media screen and (min-width:768px) {
    h1 {
        font-size:35px;
    }
    h2 {
        font-size:20px;
    }
    header {
        margin: 60px 40px 100px;
    }
    .inner {
        padding: 40px;
    }
}
span.tab {
    display:inline-block;
    width:40px;
}
.introduction {
    font-style: italic;
    line-height:125%;
    margin-bottom: 80px;
    /* font-family: 'Times New Roman', Times, serif; */
}

.question {
    padding: 10px;
    /* border-bottom: 1px solid #eee; */
    
}

@media screen and (min-width:768px) {
    .question {
        padding: 20px;
    }
}
.question.nested {
    border-bottom: none;
}

.question .content{
    margin-bottom: 20px;
}


.reponse {
    margin: 3px;
    cursor: pointer;
    border: 1px solid #eee;
    display:flex;
    min-width: 50%;
    border-radius: 5px;
    max-width: 100%;
    overflow: hidden;
    align-items: center;
}

label {
    display:inline-block;
    padding: 13px;
    padding-left:38px;
    flex:1;
    margin-left:-25px;
    cursor:pointer;
    opacity: .7;
    transition: background .2s linear, opacity .2s linear;
    background: white;
}

.reponse input[type=radio], .reponse input[type=checkbox] {
    padding: 5px;
    height:13px;
    width:13px;
    display:inline-block;
    margin-left:10px;
    z-index:1;
    cursor: pointer;
}

.reponse input:checked + label {
    opacity: 1;
    background:linear-gradient(45deg, #c5c5ff, #e0e9ff);
    /* font-weight: bold; */
}

.reponse label:not(.no-hover):hover {
    opacity: 1;
    background:#c5c5ff;
}

.reponse input:checked + label:not(.no-hover):hover {
    background:linear-gradient(45deg, #c5c5ff, #e0e9ff);
}

label::first-letter {
    text-transform: uppercase;
}

span.info {
    font-style:italic;
    color: #888;
    display:block;
    font-size:14px;
} 

span.main-info {
    font-style:italic;
    color: #444;
    display:block;
    font-size:15px;
} 

.highinfo {
    padding: 30px;
    border: 1px solid #c9c9c9;
    margin: 30px 0;
    border-radius: 4px;
    text-align: justify;
}

span.snp {
    font-weight: bold;
    background-color: #dad3fd;
}
span.sas {
    font-weight: bold;
    background-color: #d3fdf1;
}

.validation {
    text-align: center;
    padding: 30px;
}
input[type=submit], div.button, a.button {
    color: black;
    padding: 20px 70px;
    font-size:13px;
    text-transform: uppercase;
    font-family:arial;
    border: none;
    border-radius:27px;
    font-weight: bold;
    cursor:pointer;
    margin:auto;
    box-shadow: 5px 5px 20px 0 rgba(0, 0, 0, .1);
    opacity: .8;
    background:#eee;
    color: #222;
    display:inline-block;
    text-decoration: none;
}

input[type=submit]:hover, div.button:hover, a.button:hover {
    background:linear-gradient(45deg, #c5c5ff, #e0e9ff);
    opacity: 1;
    color: #000;
}

input[type=text], input[type=number] {
    padding: 6px;
    border-radius: 5px;
    border: 1px solid #999;
    margin: 0 10px;
    flex: 1;
    font-size:14px;
    margin:5px;
}

textarea {
    width:100%;
    padding: 8px;
    border-radius:5px;
    border:1px solid #aaa;
    font-family:arial;
    font-size:14px;
}

select {
    padding: 6px;
    font-size:16px;
    border:1px solid #f0f0f0;
    border-radius: 5px;
}