:root {
  --background: rgba(0, 0, 0, .75);
  --darkGrey:#1d1d1d;
  --midGrey:#aaa;
  --lightGrey: #ccc;
  --lightest: #fff;
  --veryLight: #e3e3e3;
}

*, *::before, *::after {
  box-sizing: border-box;
}

body {
	margin: 0;
	background: #ebebeb;
	font-family: 'Work Sans', sans-serif;
	font-weight: 300;
    width: 100%;
    height: 100%;
}

.mainFans{
    display: grid;
    grid-template-columns: 1% 1fr 1%;
    grid-template-areas: ". title ."
        ". mainFans ."
        ". fansNav ."
        "footer footer footer";
    grid-gap: .5em;
    text-align: center;
    /*background: white;*/
}

.titleFans{
    background: var(--background);
    color: var(--lightGrey);
    grid-area: title;
    text-align: left;
    height: 8rem;
    padding: 4em 1em 2em 1em; /*top left bottom right*/
}

.titleFans a{
    color: var(--lightkGrey);
    text-decoration: none;
}

.titleFans a:hover {
  color: red; 
}

.allCards{
    display: grid;
    grid-template-columns: repeat(auto-fit,16rem);
    grid-area: mainFans;
    grid-gap: .5em;
    justify-content: center;
}

/*=== card effect ===*/
.card{
    position: relative;
    cursor: pointer;
    width: 250px;
    height: 350px;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    transition: all 0.75s ease;
    margin: 1em;
}

.cardFront,
.cardBack{
    width: 100%;
    height: 100%;
    overflow: hidden;
    -webkit-perspective: 0;
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
    perspective: 0;
    backface-visibility: hidden;
    transform: translate3d(0,0,0);
    visibility:visible;
    backface-visibility: hidden;
    position: absolute;
    transition: transform .75s liner;
}

/*=== this code is require for Safari, otherwise the text is mirrored
    -webkit-perspective: 0;
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
    visibility:visible;
    backface-visibility: hidden;
===*/

.cardFront img{ /* Fans photo */
    height: 100%;
    display: block;
}

.cardFront{
    background: var(--lightest);
    backface-visibility: hidden;
}

.cardBack{
    background: var(--lightest);
    backface-visibility: hidden;
    transform: rotateY(.5turn);
    background-image: url(../img/2017-FoFgrey15.png);
    background-repeat: no-repeat;
    background-position: center;
}

.cardBack--content{
    color: var(--darkGrey);
    text-align: left;
    width: 100%;
    padding: 1em;
    display: grid;
    grid-template-columns: 1% 1fr 1%;
    grid-template-areas: ". cardName ."
        ". cardWhat ."
        ". cardType .";
    grid-template-rows: .5fr 2.6fr .5fr;
    /*transform: rotateY(.5turn);*/
}

.cardType{
    grid-area: cardType; /* area Fan is famous */
    background-color: var(--background);
    color: var(--lightest);
    font-size: 2em;
    padding: .25em .5em 1em .5em; /*top left bottom right*/ 

}

.cardName{ /* Fans name */
    grid-area: cardName;
    font-size: 1.5em;
}

.cardWhat{ /* what they've done */
    grid-area: cardWhat;
    font-style: italic;
    padding: 0 0 1em 0;
}

.card:hover{
    transform: rotateY(.5turn);
}
/*=== end of card effect ===*/

.fansNav{
    grid-area: fansNav;
    background: var(--lightest);
    padding: .5rem .5rem 1rem .5rem;
}

.fansNav a{
    color: var(--dearkGrey);
    text-decoration: none;
    font-size: 1rem;
    text-transform: uppercase;
}

.fansNav a:hover {
  color: red; 
}

/*=== fan groups selection page ===*/
.allFans{
    display: grid;
    grid-template-columns: 1% 1fr 1%;
    grid-template-areas: ". title ."
        ". fanWords ."
        ". allFanGroups ."
        ". fansNav ."
        "footer footer footer";
    grid-gap: .5em;
    text-align: center;
    /*background: var(--lightest);*/
}

.fanWords{
    grid-area: fanWords;
    text-align: justify;
    padding: 1rem;
    background: var(--lightest);
}


.allChoice{ /*=== this is for "home" pages ===*/
    min-height: 100vh;  /*=== this forces the footer to the foot of the screen ===*/
    display: grid;
    grid-template-columns: 1% 1fr 1%;
    grid-template-areas: ". title ."
        ". allFanGroups ."
        "footer footer footer";
    grid-template-rows: auto 1fr auto;  /*=== this forces the footer to the foot of the screen ===*/
    grid-gap: .5em;
    text-align: center;
    /*background: var(--lightest);*/
}

.allFanGroups{
    display: grid;
    grid-template-columns: repeat(auto-fit,22rem);
    grid-area: allFanGroups;
    grid-gap: .5em;
    justify-content: center;
    background: var(--lightest);
}

.fanGroup{
    display: grid;
    grid-template-columns: 1% 1fr 1%;
    grid-template-areas: ". fanCard ."
        ". fanTitle .";
    text-align: center;
    justify-content: center;
}

.fanCard{
    grid-area: fanCard;
    height: 100%;
    max-width: 300px;
    display: block;
    padding-top: 1em;
    margin-left: auto;
    margin-right: auto;
}

.fanCard img{
    max-width: 300px;
}

.fanTitle{
    grid-area: fanTitle;
    background-color: var(--background);
    text-align: center;
    font-weight: 600;
    padding-top: 1em;
    padding-bottom: 1em;
}

.fanTitle a{
    color: var(--lightest);
    text-decoration: none;
    font-size: 1rem;
    text-transform: uppercase;
}

.fanTitle a:hover {
  color: red; 
}

/*=== history of the badge ===*/
.badge{
    margin: 1rem 0 .5rem 0;
    border: 1px var(--lightGrey);
    border-style: solid;
    padding: 1rem;
    background: var(--lightest);
}

/*=== foundation of fulham ===*/
.foundation{
    display: grid;
    grid-template-columns: 1% .20fr 1fr 1%;
    grid-template-areas: ". index chapter .";
    grid-gap: .5em;
    text-align: center;
    background: var(--lightest);
}

.foundIndex{
    grid-area: index;
    border: 1px var(--lightest);
    border-style: solid;
    padding: 1rem;
}

.foundChapter{
    grid-area: chapter;
    /*border: 1px var(--lightGrey);
    border-style: solid;*/
    padding: 1rem;
    background-image: url(../img/FoundationBack.png);
    background-repeat: no-repeat;
    background-position: center;
}

.foundTitle{
    font-size: 1.5rem;
}

.foundAuth{
    font-size: .75rem;
    font-style: italic;
    border-bottom: 1px red;
    border-bottom-style: solid;
    padding-bottom: .5rem;
}

.foundText{
    text-align: justify;
}

.foundText img{
    display: block;
    margin-left: auto;
    margin-right: auto;
}
/*=== end of foundation of fulham ===*/
/*=== Q&As ===*/
.QAmain{
    display: grid;
    grid-template-columns: 1% .20fr 1fr 1%;
    grid-template-areas: ". QAimg QAs .";
    grid-gap: .5em;
    text-align: center;
}

.QAmain img{
    grid-area: QAimg;
    height: 230px;
    display: block;
    margin-left: 0;
}

.QAtext{
    grid-area: QAs;
    padding-bottom: 1rem;
}

.QAquest{
    text-transform: uppercase;
    font-style: italic;
    text-align: justify;
    padding-top: 1rem;
    padding-bottom: .5rem;
}

.QAans{
    text-align: justify;
    padding-bottom: .5rem;
}

/*=== end of Q&As ===*/

/*=== Fans Map - Google map ===*/
.fans-grid{
    display:grid;
    place-items: center;
    gap: 1rem;
    
    /* min-height: 70vh; */
    width: min(100vw - 2rem, 70rem);
    margin-inline: auto;
}

.fans-text{
    text-align: left;
    padding-top: 1rem;
    padding-bottom: .5rem;
}

/*=== end of Fans Map - Google map ===*/
/*
.fans-text a:link{
    color: blueviolet;
}

.fans-text a:hover{
    color: red;
}*/