
html, body {
    height: 100%;
}

body {
    min-height: 100vh;
    display: grid;
    padding-top: 10px;
    background: linear-gradient(to left, orange, goldenrod);
    gap: 10px;
    padding: 20px;
    margin: 20px;
}

.banner img {
    margin: 0 20px;
    background: white;
    padding: 5px;

    display: block;
    margin: auto;
    border: 4px solid gold;
    border-radius: 5em;
}

.banner {

  display: flex;
  align-items: center;
  justify-content: center;
}

.banner::before,
.banner::after {
    content: "";
    flex: 1;
    height: 2px;
    background: whitesmoke;
}

div h1 {
    flex: 1;
    color: orangered;
    text-shadow: 2px 2px 6px black;
    text-align: center;
}

div h2 {
    font-family: 'Times New Roman', Times, serif;
}


.icon {
    width: 60px;
    max-width: 100%;
    height: 60px;
    position: absolute;

}

.ocb-logo {
    border-radius: 10em;
    width: 100px;
    max-width: 100%;
    height: 100px;
    position: absolute;
}

main {
    display: grid;
    grid-template-columns: repeat(3, 1fr, 150px);
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: large;

    /* flex: 1; */
}

.desc {
    grid-row: 3;
    opacity: 0;
    align-self: end;
}

.date, .location, .event-details, .entry-details {
    height: 7em;
    background-color: white;
    border: solid 1px black;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 20px;
    padding: 30px;
    text-align: center;
}

.date:hover{
    height: 10em;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    opacity: 1;
}


.location:hover{
    height: 10em;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    opacity: 1;
}

.event-details:hover{
    height: 10em;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    opacity: 1;
}


.entry-details:hover{
    height: 20em;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    opacity: 1;
}

.date:hover .desc,
.location:hover .desc,
.event-details:hover .desc,
.entry-details:hover .desc {
    opacity: 1;
    transition: 2.5s;
}


.grid-title {
    text-align: center;
    grid-row: 0;
    
}

footer {
    background: goldenrod;
    color: white;
    text-align: center;
    padding: 5px;
    font-size: 14px;
}






main h1 {
    font-family: monospace;
    text-align: center;
    padding-top: 100px;
}

p, ul li {
    padding: 10px;
}

@media (max-width: 768px) {
    body {
        margin: 0;
        padding: 10px;

    }

    main {
        grid-template-columns: 1fr;
    }

    .date, .location, .event-details, .entry-details {
        height: auto;
        padding: 15px;
    }

    h1, h2, p, li {
        size: 70%;
    }
}