* {
    box-sizing: inherit;
    margin: 0;
    padding: 0;
    text-align: center;
    font-family: 'Caveat', cursive;
    font-family: 'Red Hat Display', sans-serif;

}

header {
    z-index: 100;
    background-color: white;
    border-bottom: 1.5vh solid #e6cbec;
    box-shadow: 0 5px 10px -5px #000000;
    font-family: 'Red Hat Display', sans-serif;
}

.flexbox1 {
    display: flex;
    padding: 0 5vw !important;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap;
}

.logo {
    font-size: 2.3vw;
    margin-right: 5vw;
    color: #d4a6df;
    font-weight: bold;
}

.logo:hover {
    text-decoration: none;
    color: #d4a6df;
    opacity: 0.5;
}


.item {
    font-size: 1.8vw;
    font-weight: bold;
    color: black !important;
}

.navbar {
    width: 100%;
}

.navbar-nav {
    display: flex;
    width: 90%;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap;
}

.underline {
    color: black !important;
}

.item a:hover {
    text-decoration: underline wavy #ddb9e6 0.35vw !important;
    text-underline-offset: 0.2em;
    color: #d4a6df !important;
}

.contact {
    white-space: nowrap;
}

.contact a {
    color: #d4a6df;
    font-size: 3vw;
    margin: 0.5vw;
}

.contact a:hover {
    text-decoration: none;
    opacity: 0.5;

}

.sticky {
    position: sticky;
    top: 0px;
    margin: 0;
    padding: 0;
}

/* here is the whole container*/
.contain {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 15vw 90vw 6vh;
}

.title {
    grid-column: 1/2;
    grid-row: 1/2;
    font-family: 'Caveat', cursive;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: white;
}

.main {
    grid-column: 1/2;
    grid-row: 2/3;
    background-color: white;
    padding: 0 7% 0 7%;
    background-image: linear-gradient( white, #f8f0fa);
}

footer {
    grid-column: 1/4;
    grid-row: 3/4;
    background-color: black;
    border-top: solid #e6cbec 1vh;
    position: relative;
}

/*title*/

.title h3 {
    font-size: 5vw;
    color: black;
    font-weight: bold;
    margin-top: 5%;
}

.title i {
    font-size: 4vw;
    margin-right: 3vw;
    color: #d4a6df;
}

/*main*/
.cards {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0;
}

.flip-card {
    background-color: transparent;
    height: 32.5vw;
    width: 19.5vw;
    perspective: 1000px;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 20px;
    position: relative;
    margin: 4% 2vw 8.5% 2vw;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 750ms;
    transform-style: preserve-3d;
    box-shadow: 10px 10px 5px #feeeab;
    border: #e6cbec 4px solid;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card:hover .date {
    opacity: 0;
    transition: opacity 200ms;
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.flip-card-front {
    background-color: white;
    color: black;
    border-top-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.flip-card-back {
    background-color: #e6cbec;
    color: black;
    transform: rotateY(180deg);
    border-top-right-radius: 16px;
    border-bottom-left-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex-direction: column;

}

.date {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
    height: 8vw;
    width: 8vw;
    background-color: white;
    border-radius: 50%;
    border: 4px #e6cbec solid;
    box-shadow: 6px 6px 5px #feeeab;
    z-index: 10;
    transition: opacity 200ms 300ms linear;
}

.flip-card-back h1 {
    font-size: 2vw;
    padding: 0 12.5%;
}


.flip-card-back p {
    font-size: 1.5vw;
    padding: 0 5% 0 10%;
    text-align: left;
}

.date p {
    font-size: 1.5vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.newsdes {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50%;
    padding: 0 10%;
}

.newsdes h3 {
    font-size: 2vw;
    line-height: 3vw;
}

.news1 {
    background-image: url(news/mday.jpg);
    background-size: cover;
    height: 50%;
    border-top-left-radius: 16px;
    border-bottom: #e6cbec 4px solid;
}

.news2 {
    background-image: url(news/open.jpg);
    background-size: cover;
    height: 50%;
    border-top-left-radius: 16px;
    border-bottom: #e6cbec 4px solid;
}

.news3 {
    background-image: url(news/pcard.jpg);
    background-size: cover;
    height: 50%;
    border-top-left-radius: 16px;
    border-bottom: #e6cbec 4px solid;
}

.news4 {
    background-image: url(news/online.jpg);
    background-size: cover;
    height: 50%;
    border-top-left-radius: 16px;
    border-bottom: #e6cbec 4px solid;
}

.news5 {
    background-image: url(news/bday.jpg);
    background-size: cover;
    height: 50%;
    border-top-left-radius: 16px;
    border-bottom: #e6cbec 4px solid;
}

.news6 {
    background-image: url(news/chris.jpg);
    background-size: cover;
    background-color: #e6cbec;
    height: 50%;
    border-top-left-radius: 16px;
    border-bottom: #e6cbec 4px solid;
}



/*footer*/

footer p {
    color: white;
    position: absolute;
    top: 50%;
    left:50%;
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 1024px) {
    .logo {
        font-size: 2.5vw;
        color: #d4a6df;
        font-weight: bold;
    }

    .item {
        font-size: 2vw;
        font-weight: bold;
        color: black;
    }

    .contact a {
        color: #d4a6df;
        font-size: 3.3vw;
        margin: 0.5vw;
    }

    .contain {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 20vw 175vw 6vh;
    }

    .flip-card {
        height: 45vw;
        width: 27vw;
    }

    .flip-card-back h1 {
        font-size: 2.7vw;
        padding: 0 12.5%;
    }

    .flip-card-back p {
        font-size: 2vw;
        padding: 0 5% 0 10%;
        text-align: left;
    }

    .newsdes {
        padding: 0 15%;
    }

    .newsdes h3 {
        font-size: 2.7vw;
        line-height: 4.5vw;
    }

    .date {

        height: 10.8vw;
        width: 10.8vw;
    }

    .date p {
        font-size: 2vw;
    }

    .title h3 {
        font-size: 6vw;

    }

    .title i {
        font-size: 5vw;
        margin-right: 4vw;
    }

}

@media screen and (max-width: 768px) {
    .navbar {
        width: 60%;
    }

    .navbar-nav {
        display: flex;
        width: 150%;
        align-items: center;
        justify-content: space-between;
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .contact {
        position: absolute;
        top: 2vh;
        left: 73%;
    }

    .logo {
        font-size: 4vw;
    }

    .item {
        font-size: 3vw;
    }

    .underline {
        text-decoration-thickness: 0.7vw;
    }

    .item a:hover {
        text-decoration: underline wavy #ddb9e6 0.55vw !important;

    }

    .contact a {
        font-size: 3.5vw;
    }

    .contain {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 30vw 500vw 6vh;
    }

    .flip-card {
        height: 70vw;
        width: 42vw;
        margin-bottom: 10%;
    }

    .flip-card-back h1 {
        font-size: 4.3vw;
        padding: 0 12.5%;
    }

    .flip-card-back p {
        font-size: 3.1vw;
        padding: 0 5% 0 10%;
        text-align: left;
    }

    .newsdes {
        padding: 0 12.5%;
    }

    .newsdes h3 {
        font-size: 4.2vw;
        line-height: 6.5vw;
    }



    .date {
        height: 17vw;
        width: 17vw;
    }

    .date p {
        font-size: 3.5vw;
    }

    .title h3 {
        font-size: 8vw;
    }

    .title i {
        font-size: 6.5vw;
        margin-right: 5vw;
    }

footer p{
    font-size: 13px;
}
}

@media screen and (max-width: 480px) {
    .contact a {  
        font-size: 5vw;
    }
}