

/* ---------------------------------------------- colors ------------------------------------------ */

:root {
    --primary-color:#d9534f;
    --secondary-color: #0d3c61;
    --tertiary-color: #CCC;
    --quaternary-color: #14213d;
    --text-color: #555;
    --dark-color: #222;
    --white-color: #fff;
    --light-color: #f4f4f4;
    --success-color: #5cb85c;
    --error-color: #d9534f;
    --question-color: #F4B400;
}

.green {
    color: var(--success-color);
}

.red {
    color: var(--error-color);
}

/* ---------------------------------------------- tags -------------------------------------------- */
/* * {border:1px solid red; } */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
	overflow-x: hidden;
}

html,
body {
	color: var(--text-color);
    background-color: #f8edeb;
	font-family: 'Lato', 'Arial', sans-serif;
	/* font-weight: 300;
	font-size: 20px; */
	text-rendering: optimizeLegibility;
    width: 100%;
}

body {
    padding-top: 7rem;
}

header {
    padding: 0;
    margin: 0;
	background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/children01.jpg);
	background-size: cover;
	background-attachment: fixed;
    background-color: var(--dark-color);

    position: fixed;
    top: 0px;
    width: 100%;
    z-index: 999;
}

p {
    text-indent: 2rem;
}

i { overflow: hidden; }

input {
    padding: .5rem;
    margin: 0;
    width: 100%;

    color: var(--text-color);
    font-size: .8rem;
    text-align: left;

    border: .7px solid #8d99ae;
    outline: none;

    transition: 1s ease all;
}

input[type="text"] {
    position: relative;
}

input[type="radio"].custom-radio {
    display: none;
    margin: 0;
    padding: 0;
}

input[type="checkbox"].custom-check {
    display: none;
    margin: 0;
    padding: 0;
}

textarea {
    padding: .3rem;
    margin: 0;
    width: 100%;

    color: var(--text-color);
    font-size: .8rem;
    text-align: left;

    border: .7px solid #8d99ae;
    resize: none;
    outline: none;

    transition: 1s ease all;
}

select {
    padding: .3rem;
    margin: 0;
    width: 100%;

    font-size: .8rem;

    background: var(--white-color);

    border: .7px solid #8d99ae;
    outline: none;
    cursor: pointer;
}

input:focus, textarea:focus, select:focus {
    border-color: var(--primary-color);
}

section {
    text-align: center;
    margin-bottom: 5rem;
    overflow: hidden;
}

.sections {
    margin: 0;
    padding: 0;
}

section h2 {
    font-size: 2.3rem;
    text-transform: capitalize;
}

form {
    width: 100%;
}

form fieldset {
    border: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

@media screen and (max-width: 375px){
    section h2 {
        font-size: 2rem;
    }
}

@media screen and (max-width: 300px){
    section>h2 {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 270px){
    section h2 {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 240px){
    section h2 {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 210px){
    section h2 {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 180px){
    section h2 {
        font-size: 1rem;
    }
}

@media screen and (max-width: 150px){
    section h2 {
        font-size: .8rem;
    }
}

@media screen and (max-width: 110px){
    section h2 {
        font-size: .7rem;
    }
}

/* ---------------------------------------------- common ------------------------------------------ */

.container {
    width: 80rem;
    margin: 0 auto;
}

.btn {
    background: var(--primary-color);
    padding: 1rem;
    font-weight: 500;
    text-align: center;
    color: var(--light-color);
    cursor: pointer;
}

/* ---------------------------------------------- custom tags ------------------------------------- */

.hide { display: none; }

.show { display: block; }

/* radios & checks ------------------------------ */
.check-box {
    position: relative;
    background-color: var(--white-color);
    padding: 1rem;
    align-items: center;
    justify-content: center;
    width: 4.2em;
    border: 1px solid transparent;
    transition: .5s ease all;
}

.check-box i {
    left: 2px;
    top: 2px;
    position: absolute;
    font-size: 1rem;
    transition: .5s ease all;
}

.check-box:hover {
    border: 1px solid var(--primary-color);
    cursor: pointer;
}

.check-box:hover i {
    font-size: 1.1rem;
}

.check-box div {
    font-size: .8rem;
    width: 100%;
    /* border: 1px solid blue; */
}

.radio-options {
    font-size: .9em;  
    margin: 0 0.5rem;
    text-transform: capitalize;
}

.check-options {
    margin: 0 0.5rem;
    padding: 1rem;
}

.check-options:hover, .radio-options:hover {
    color: var(--secondary-color);
    cursor: pointer;
}

/* associations --------------------------------- */

.input-group {
    display: flex;
    justify-content: space-between;
    /* border: 1px solid red; */
}

.input-group, .input-gap {
    padding-bottom: .5rem;
}

.inline-label {
    position: relative;
    font-size: .8rem;
    width: 100%;
}

.inline-label input {
    padding-left: 3.5rem;
}

.inline-label span {
    position: absolute;
    left: 5px;
    top: 10px;

    margin: 0;
    padding: 0;
    font-family : inherit;
    font-size: .7rem;
    background: transparent;
    color: var(--text-color);
}

/* .card-item {
    width: 48%;
} */

.space-r { margin-right: .1rem;}

/* icons ---------------------------------------- */
.icon-relative {
    position: relative;
    font-size: .8rem;
    width: 100%;
}

.icon-relative .fa,
.icon-relative .fas,
.icon-relative .far{
    position: absolute;
    top: 12px;
    left: 8px;
    color: var(--text-color);
}

.icon-relative input {
    padding-left: 2rem;
}

/* forms ---------------------------------------- */
.form-submit {
    padding: 1rem 0;
    width: 100%;
    /* border: 1px solid yellow; */
}

.form-submit a {
    width: 100% !important;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 420px){

    .inline-label span {
        left: 5px;
        top: 6px;
    }
}

/* ---------------------------------------------- nav --------------------------------------------- */

.nav-container {
    background: rebeccapurple;
    width: 100%;
}

nav {
    display: grid;
    grid-template-areas: "nav-header nav-header nav-header";
    /* background: green; */
}

.logo {
    grid-area: "nav-header";
    margin: 0;
    padding: 0;
}

.logo img {
    height: 7rem;
    margin: 0;
    padding: 0;
}

.navs {
    grid-area: "nav-header";
}

.cart {
    display: none;
    grid-area: "nav-header";
}

.nav_links {
    vertical-align: middle;
    list-style: none;
    overflow: hidden;
    margin: 0;
    padding: 0;
    text-align: center;
}

.nav_links li {
    display: inline-block;
    padding: 1rem;
    background-color: transparent;
    transition: 1s ease-out;
}

.nav_links li:hover:not(:last-child) {
    background-color: var(--primary-color);
}

.nav_links a {
    color: var(--white-color);
    font-weight: 500;
    text-decoration: none;
    text-transform: uppercase;
}

.nav_links li.active {
    background-color: var(--primary-color);
}

.donate-link {
    background-color: var(--primary-color) !important;
    border: 1px solid var(--white-color);
    border-radius: 2px;
}

header .fa-times, header .fa-bars {
    display: none;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 1320px){

    header {
        background-image: linear-gradient(rgb(0, 0, 0), rgba(0, 0, 0, .5)), url(../img/children01.jpg);
        background-color: var(--dark-color);
    }

    .nav-container .container {
        width: 100%;
        background: #000;
    }
    
    nav {
        display: flex;
        width: 100%;
    }

    nav .zip_menu {
        display: block;
        color: var(--white-color);
        position: absolute;
        top: 1rem;
        right: 2rem;
    }

    .nav_links {
        text-align: left;
        display: none;
    }

    .nav_links.active {
        display: block;
    }

    .nav_links li {
        display: block;
        padding: .3rem;
        margin: .5rem;
    }

    .nav_links a {
        text-transform: capitalize;
    }
}

/* ---------------------------------------------- hero -------------------------------------------- */

.hero {
    display: grid;
    grid-template-columns: repeat(3, 22rem);
    justify-content: space-between;
    margin: 5rem 0;
}

.hero p {
    margin: 3rem 0;
}

.hero-left a {
    text-decoration: none;
    border: 1px solid var(--primary-color);
    padding: 1rem;
    display: inline-block;
    position: relative;
    z-index: 1;
}

.hero-left a span {
    display: inline-block;
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    z-index: -1;
    transition: .5s;
}

.hero-left a:hover {
    color: var(--primary-color);
}

.hero-left a:hover span {
    width: 100%;
}

.hero-center img {
    width: 100%;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 1400px){

    .hero-wrapper .container {
        width: 100%;
        padding: 0;
        background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/hero.jpg);
        background-size: cover;
        background-attachment: fixed;
        background-color: var(--dark-color);
    }

    .hero {
        display: flex;
        flex-wrap: wrap;
        align-items: center;

        margin: 0 1rem;
        color: var(--white-color);
    }

    .donate-btn {
        text-align: center;
    }

    .hero-center img {
        width: 0;
    }
}

/* ---------------------------------------------- task -------------------------------------------- */

.tasks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem;
}

.task {
    text-align: center;
    border-radius: 70px;
    margin-bottom: 20px;
    color: var(--text-color);
    position: relative;
}

.task:hover .overlay {
    opacity: 1;
}

.overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    border-radius: 7px;
    cursor: pointer;
    background: linear-gradient(rgba(0,0,0,.5), var(--primary-color));
    opacity: 0;
    transition: 1s;
}

.task-title, .task-desc  {
    color: var(--white-color);
    width: 80%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: 1s;
}

.task-title {
    font-size: 3rem;
    font-weight: bolder;
    bottom: 30%;
}

.task-desc {
    bottom: 20%;
    opacity: 0;
}

.task-desc p {
    font-size: 1.5rem;
}

.task:hover .task-desc {
    bottom: 5%;
    opacity: 1;
}

.task-plus {
    text-align: right;
}

.task-plus a {
    text-decoration: none;
    border: 1px solid var(--primary-color);
    padding: 1rem;
    display: inline-block;
    position: relative;
    z-index: 1;
}

.task-plus a span {
    display: inline-block;
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    z-index: -1;
    transition: .5s;
}

.task-plus a:hover {
    color: var(--primary-color);
}

.task-plus a:hover span {
    width: 100%;
}

hr {
    background: #fff;
    height: 2px;
    border: 0;
    margin: 15px auto;
    width: 60%;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 1590px){

    .task-title {
        font-size: 2.5rem;
    }

    .task-desc p {
        text-indent: 0;
    }
}

@media screen and (max-width: 1340px){

    .task-title {
        font-size: 2rem;
    }

    .task-desc p {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 1110px){

    .task-title {
        font-size: 1.5rem;
    }

    .task-desc p {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 860px){

    .task-title {
        font-size: 1rem;
    }

    .task-desc p {
        font-size: 1.1rem;
    }
}

@media screen and (max-width: 750px){
    .task-desc p {
        font-size: .9rem;
    }
}

@media screen and (max-width: 600px){

    .tasks {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
    }

    .task-title {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 500px){

    .task-title {
        font-size: 2rem;
    }
}

@media screen and (max-width: 400px){

    .task-title {
        font-size: 1.5rem;
    }

    .task-plus {
        text-align: center;
        margin: 0;
        padding: 0;
    }

    .task-plus a {
        padding: 1rem;
    }
}

@media screen and (max-width: 330px){

    .task-title {
        font-size: 1rem;
    }
}

@media screen and (max-width: 250px){

    .task-title {
        font-size: .8rem;
    }
}

/* ---------------------------------------------- missions ---------------------------------------- */

.section-missions {
    padding: 2rem;
}

.tasks .furnitures {
    border-radius: 7px;
    background: linear-gradient(rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.3)), url(../img/furnitures.jpg);
    background-position: center;
    background-size: cover;
    height: 91vh;
}

.tasks .water {
    border-radius: 7px;
    background: linear-gradient(rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.3)), url(../img/water-well.jpg);
    background-position: center;
    background-size: cover;
    height: 91vh;
}

.tasks .help {
    border-radius: 7px;
    background: linear-gradient(rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.3)), url(../img/help.jpg);
    background-position: center;
    background-size: cover;
    height: 91vh;
}

/* ---------------------------------------------- projets ----------------------------------------- */

.section-projets {
    padding: 2rem;
}

.tasks .orphanage {
    border-radius: 7px;
    background: linear-gradient(rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.3)), url(../img/orphanage.jpg);
    background-position: center;
    background-size: cover;
    height: 91vh;
}

.tasks .sponsorship {
    border-radius: 7px;
    background: linear-gradient(rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.3)), url(../img/sponsorship.jpg);
    background-position: center;
    background-size: cover;
    height: 91vh;
}

.tasks .farms {
    border-radius: 7px;
    background: linear-gradient(rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.3)), url(../img/farms.jpg);
    background-position: center;
    background-size: cover;
    height: 91vh;
}

/* ---------------------------------------------- section-donate ---------------------------------- */

.section-donate {
    background: linear-gradient(rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.3)), url(../img/children06.jpg);
    background-position: center;
    background-size: cover;
    height: 100vh;
    width: 100%;
    overflow-y: hidden;
}

.section-donate .container {

    display: grid;
    grid-template-columns: 1fr 4fr;
    grid-template-rows: repeat(2, 1fr);
    gap: 1rem;

    width: 90rem;
    padding-top: 3rem;
    overflow-y: hidden;
    /* border: 1px solid rebeccapurple; */
}

.section-donate form {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 1rem;

    grid-column: 2;
    grid-row: 1 / 2;
    width: 100%;
 
    /* border: 1px solid blue ; */
}

.section-donate fieldset {
    padding: 1rem;
}

.section-donate .header {
    background-color: var(--secondary-color);
    color: var(--white-color);
    padding: 1rem;
    font-size: 1.4rem;
    font-weight: 600;
}

.donate-header {
    padding: .5rem;
    width: 100%;

    grid-column: 1 / 2;
    grid-row: 1 / 2;

    background-color: var(--white-color);
    opacity: .7;
}

.donate-header p {
    text-align: left;
    font-size: .8rem;
    letter-spacing: .7px;
    word-spacing: 3px;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 1320px){

    .section-donate {
        height: auto;
        overflow-y: hidden;
    }

    .section-donate .container {
        display: flex;
        flex-wrap: wrap;
        height: 180vh;
        width: 80%;
    }
}

@media screen and (max-width: 750px){
    .section-donate {
        height: 200vh;
    }
    .section-donate .container {
        height: 200vh;
    }
}

@media screen and (max-width: 600px){

    .section-donate form {
        display: flex;
        flex-direction: column;
    }
}

@media screen and (max-width: 360px){
}

@media screen and (max-width: 230px){

}

/* ---------------------------------------------- donation ------------------------------------------ */

.donation {
    opacity: .9;
    background-color: var(--tertiary-color);
    grid-column: 1/2;
    grid-row: 1/ 2;
    width: 100%;
}

.donate-one, .donate-repeat {
    border: 1px solid var(--primary-color);
    transition: 1s ease all;
}

.donate-times-checked, .amount-checked {
    background-color: var(--primary-color) !important;
    color: var(--white-color) !important;
}

.donate-times-checked label {
    color: var(--white-color);
}

.times {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.times span {
    padding: 1rem 0;
}

.times span label {
    margin: 0;
    padding: 0;
}

.amount {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    padding: 1rem 0;
}

.amount label {
    background-color: var(--white-color);
    padding: 0;
    padding-top: .6rem;
    justify-items: center;
    width: 3rem;
    height: 100%;

    font-size: .7rem;
    font-weight: 600;

    transition: 1s ease all;
}

.amount label:hover {
    color: var(--white-color);
    background-color: var(--secondary-color);
}

.amount-container {
    margin: 1rem !important;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 1320px){

    .times {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .amount {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: start;
    }
}

@media screen and (max-width: 960px){

    .times {
        width: 100%;
    }

    .times span {
        width: 100%;
    }

    .free-amount input,
    .free-amount .icon-relative i {
        font-size: .9em;
    }
}

@media screen and (max-width: 750px){

    .donation {
        width: 100%;
    }
}

/* ---------------------------------------------- coordonates ------------------------------------------ */

.coordonates {
    opacity: .9;
    background-color: var(--tertiary-color);
    grid-column: 2/3;
    grid-row: 1/ span 3;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 1320px){

    .coordonates {
        grid-row: 1/ 2;
    }
}

@media screen and (max-width: 1450px){
    .coordonates label,
    .coordonates input,
    .coordonates select {
        font-size: .6rem;

        /* background: red; */
    }
}

@media screen and (max-width: 750px){

    .coordonates {
        width: 100%;
    }
}

/* ---------------------------------------------- payment ------------------------------------------ */

.payment {
    opacity: .9;
    background-color: var(--tertiary-color);
    height: auto;
    position: relative;
    grid-column: 3/4;
    grid-row: 1 / 2;
}

.paymentmethods {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 1rem;
}

.paymentmethods i {
    font-size: 2rem;
    transition: 1s ease;
}

.creditcardbox, .ibanbox {
    display: none;
    transition: 1s ease;
}

#expirydate {
    width: 75%;
    margin-right: 1rem;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 1500px){
    .payment label,
    .payment input {
        font-size: .6rem;
    }
}

@media screen and (max-width: 1450px){
    .payment label,
    .payment input,
    .payment .card i,
    .payment .card-item i {
        font-size: .5rem;
    }
}

@media screen and (max-width: 1320px){

    .payment {
        grid-row: 1/ 2;
    }
}

@media screen and (max-width: 1040px){

    .paymentmethods {
        display: flex;
        flex-direction: column;
    }
}

@media screen and (max-width: 680px){
    .creditcardbox .input-group {
        display: flex;
        flex-direction: column;
    }
}

@media screen and (max-width: 420px){
    .card-grp {
        flex-direction: column;
    }
    .card-item {
        width: 100%;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 180px){

    .paymentmethods {
        display: flex;
        /* padding: 1rem; */
    }
}

/* ---------------------------------------------- numbers ------------------------------------------ */

.numbers {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.number {
    border: 1px solid var(--primary-color);
    padding: 3rem;
}

.number i {
    color: var(--primary-color);
    font-size: 2rem;
    margin: 1rem;
}

.number .num-count {
    margin-bottom: 1rem;
}

.number .count {
    font-size: 3rem;
    margin-right: .5rem;
}

.number .what {
    font-size: .7rem;
    text-transform: uppercase;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 1400px){

    #section-numbers .container {
        padding: 0;
        margin: 0;
        width: 100%;
    }

    .numbers {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }

    .number {
        height: 15rem;
        width: 15rem;
        padding: 0;
        margin: 0;
    }
}

@media screen and (max-width: 300px){

    .number {
        height: 13rem;
        width: 13rem;
    }
}

@media screen and (max-width: 260px){

    .number {
        height: 11rem;
        width: 11rem;
    }

    .number .num-summary {
        font-size: .8rem;
    }
}

@media screen and (max-width: 220px){

    .number {
        height: 9rem;
        width: 9rem;
    }

    .number .count {
        font-size: 1.5rem;
    }

    .number .what {
        font-size: .6rem;
    }

    .number .num-summary {
        font-size: .7rem;
    }
}

/* ---------------------------------------------- testimonials ------------------------------------ */

.section-testimonials {
	background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/testimonials.jpg);
	background-size: cover;
	background-attachment: fixed;
    color: var(--white-color);
}

.testimonials {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    padding: 1rem;
}

.testimony {
    padding: 1rem;
    border: .5px solid transparent;
    transition: 1s ease;
}

.testimony:hover {
    border: .5px solid var(--primary-color);
}

blockquote {
	padding: 2%;
	font-style: italic;
	line-height: 145%;
	position: relative;
    height: auto;
    overflow: hidden;
}

blockquote::before {
	content: "\201C";
	font-size: 500%;
	display: block;
	position: absolute;
	top: 2rem;
	left: 1rem;
}

blockquote::after {
	content: "\201D";
	font-size: 500%;
	display: block;
	position: absolute;
	top: 1;
	right: 1rem;
}


cite {
	display: block;
    font-weight: bold;
    font-size: 1rem;
}

cite img {
    width: 4rem;
	border-radius: 50%;
	margin-right: 5%;
	vertical-align: middle;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 770px){

    .testimonials {
        display: flex;
        flex-wrap: wrap;
    }
}

/* ---------------------------------------------- contact ------------------------------------ */

#section-contact {
    width: 100%;
    margin-bottom: 0;
}

#section-contact form {
    background-color: transparent;
    padding: 1rem;
    width: 100%;
}

.contact-form {
    background-color: var(--secondary-color);
    padding: 0 20%;
}
.contact-form .form-submit {
    text-align: right;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 1500px){
    .contact-form {
        padding: 0 10%;
    }
}

@media screen and (max-width: 420px){
 
    #section-contact form {
        padding: 1rem;
    }
}

/* ---------------------------------------------- footer ------------------------------------------ */

footer {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 2fr;
    grid-template-rows: 15rem 10rem 2rem;
    border-top: 1px solid var(--secondary-color);

    letter-spacing: .5px;
    word-spacing: .3rem;
}

footer p, footer a {
    font-size: .6rem
}

footer h2, footer h3 {
    font-size: .8rem;
    margin-bottom: 0;
}

footer .head {
    display: grid;
    grid-template-columns: 6rem 6rem;
    justify-content: start;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

footer .head i {
    padding: 2rem;
    width: 5rem;
    background-color: var(--primary-color);
    color: var(--white-color);
}

.newsletter {
    grid-column: 4/5;
    grid-row: 1 / span 2;
    background-color: var(--secondary-color);
    color: var(--white-color);
    padding: 1rem;
}

.newsletter .form {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.presentation {
    margin-left: 3rem;
    padding: 1rem;
}

.presentation img {
    width: 5rem;
}

.vosdons {
    padding: 1rem;
}

.vosespaces {
    padding: 1rem;
}

.vosespaces ul {
    vertical-align: middle;
    list-style: none;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.vosespaces a {
    color: var(--text-color);
    font-weight: 500;
    text-decoration: none;
    text-transform: capitalize;
    border-bottom: 1px solid transparent;
    transition: 1s ease;
}

.vosespaces a:hover {
    color: var(--primary-color);
    border-bottom: 1px solid var(--primary-color);
}

.social {
    display: flex;
    flex-wrap: wrap;
    grid-column: 3 / 4;
    grid-row: 2 / 3;
    text-align: center;
}

.social i {
    height: 40px;
    width: 40px;
    font-size: 20px;
    line-height: 40px;
    border: 1px solid var(--primary-color);
    margin: 40px 5px 0;
    color: var(--primary-color);
    cursor: pointer;
    transition: .5s;
}

.social i:hover {
    background: var(--primary-color);
    color: var(--white-color);
    transform: translateY(-7px);
}

.address {
    padding: 1rem;
    font-size: .7rem;
}

.addcameroon {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

.addfrance {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin-left: 3rem;
}

.copyright {
    display: grid;
    grid-template-columns: repeat(3, 200px);
    place-content: center ;
    grid-column: 1 / span 4;
    grid-row: 3 / 4;
    background-color: var(--secondary-color);
    color: var(--white-color);
    font-size: .7rem
}

.copyright a {
    color: var(--white-color);
    font-size: .7rem;
    text-decoration: none;
}

/* ---------------------------------------------- medias ------------------------------------------ */

@media screen and (max-width: 1500px){
    .presentation h3 {
        font-size: .6rem;
        padding-left: 1rem;
    }
}

@media screen and (max-width: 1220px){
    .vosdons h3, .vosespaces h3 {
        font-size: .6rem;
        padding-left: 1rem;
    }
}

@media screen and (max-width: 1084px){
    footer {
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 15rem 10rem 10rem 2rem;
    }

    .newsletter {
        grid-column: 1/ span 3;
        grid-row: 3 / 4;
        width: 100%;
    }

    .copyright {
        grid-column: 1 / span 3;
        grid-row: 4 / 5;
    }
}

@media screen and (max-width: 680px){
    footer {
        display: flex;
        flex-wrap: wrap;
    }

    footer .head {
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    .presentation h3, .vosdons h3, .vosespaces h3 {
        font-size: .8rem;
    }

    footer p {
        text-indent: 0;
    }
    /* border: 1px solid red; */

    .presentation { order: 0; padding: 0; margin: 0; width: 100%; }
    .vosdons { order: 1; padding: 0; width: 100%; }
    .vosespaces { order: 2; padding: 0; margin-bottom: 1rem; width: 100%; }
    .social { order: 3; }
    .addfrance { order: 4; margin: 0; }
    .addcameroon { order: 5; }
    .newsletter { order: 6; }
    .copyright { order: 7; width: 100%; }

    .presentation, .vosdons, .vosespaces, .social {
        margin-left: 1rem;
        padding: 1rem;
    }
}

@media screen and (max-width: 600px){

    .copyright {
        display: flex;
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 420px){
    .newsletter .btn { 
        margin-top: 1rem;
        width: 100%;
    }

    .newsletter .form {
        display: flex;
        flex-wrap: wrap;
    }
}

