/////// SESSIONS 1 et 2 $font : Arial, Helvetica, sans-serif; $normalfontsize : 12px; $marge : 8px; body { font-family: $font; font-size:$normalfontsize; } h4 { font-size:$normalfontsize + 2px; } body,figure,img { padding:0; border:none; margin:0; } #switch:checked ~ p { background-color:green; } .img-wrap img { // avec interpolation width:calc(100% - (#{$marge}*2)); height:auto; margin:$marge; top:50%; transform: translateY(-25%); } picture { position:relative; display:block; max-height:40vh; overflow:hidden; } #main-menu { text-align:center; ul { list-style:none; } li { text-align: left; } li a, li span, li label { color:black; text-decoration:none; font-size:1.1rem; } li span { color:#666; } .menu-label { font-size:1.5rem; color:black; text-decoration:none; font-weight:bold; display:inline-block; line-height:2rem; } } .burger { float:left; margin: 3px 8px; b,i { display: block; width: 20px; } b { height: 2px; margin-bottom: 5px; position: relative; background: #000; border-radius: 2px; z-index: 1; &:first-of-type { margin-top:5px; } } i { color:blue; } } //switch pour afficher le menu #main-menu ul { display:none; } main, h1 { margin:1rem; padding:1rem; } #main-menu #switch:checked ~ ul { display:block; } ////////// FORMULAIRE DE CONTACT // switch por afficher le conteneur du formulaire .contact-form-wrap { display:none; } #show-contact:checked ~ .contact-form-wrap { display:block; } // je positionne le fond en fixed pour lui faire occuper toute la page .contact-form-wrap { position:fixed; //fond noir à 25% ce qui donne la transparence background-color:rgba(0,0,0,0.25); top:0; bottom:0; left:0; right:0; .h3 { color:white; text-align: center; margin-top:120px; } } //je préfixe les éléments du formulaire pour les regrouper dans mon sas .cf { //je centre le formulaire dans son conteneur (.contact-form-wrap) &-form { background-color: white; position: absolute; top:50%; left:50%; transform: translate(-50%,-50%); padding: 20px; border-radius: 20px; } //je normalise tous les inputs / labels &-input, &-label { min-height: 20px; line-height: 20px; box-sizing: border-box; width:100%; min-width:30vh; } &-input { border: solid 1px #666; border-radius: 4px; padding:4px; } &-label { line-height: 30px; box-sizing: border-box; } &-btn { background-color: black; color:white; padding-left:10px; padding-right:10px; margin-top:4px; &:hover { background-color: white; color:black; transition: color 0.5s; } } &-input-group { &:after { content:""; display: table; clear:both; overflow: auto; } } &-close-wrap { margin:-10px -10px 0 -20px; } &-close { display: block; position:relative; box-sizing: border-box; float:right; clear:both; font-size:20px; } } .icon-radio-checked { display:none; color:green; } .icon-radio-unchecked { color:red; } #abonnement-oui:checked ~ .ct-radio { .icon-radio-checked { display:inline; } .icon-radio-unchecked { display:none; } } #abonnement-non:checked ~ .ct-radio { .icon-radio-checked { display:inline; } .icon-radio-unchecked { display:none; } } .hidden, *[aria-hidden] { display:none!important; } ////////////////////// style a propos .grand-L { height:16px; } main, aside { box-sizing: border-box; } main { width:calc(100% - 27vw); } .main-stat { max-width: 73vw; float:left; margin:10px 0 10px -2rem; } aside { width:25vw; right:0; top:75px; position:fixed; img { max-width:100%; } } // https://contrastchecker.com/ footer { color:#a9a9a9; border-top: solid 1px #000; padding:10px; } a[lang=fr],a[target=_blank] { &:after { color:blueviolet; } } a[lang=fr] { &::after { content :' [fr]'; } } a[target=_blank] { &::after { content :' [^]'; } } #loaded { background-color: #ccF; border-left: solid 3px blue; color:darkblue; padding:3px; } #warning { background-color: #Fed; border-left: solid 3px red; color:darkred; padding:3px; } li { &[lang] { color:#ccc; } &[lang=fr] { color:darkblue; } // commence par &[lang^=fr] { color:darkblue; } // se termine par &[lang$=CA] { color:blue; } //contient &[lang*="-"] { font-weight: bold; } } span { //contient &[class~="red"] { color:red; } &[class|=red] { color:darkred; } }