html {
    box-sizing: border-box;
}

*,
*:before,
*:after {
    box-sizing: inherit;
    transition: all .25s ease-in;
}

body {
    background:  radial-gradient(circle, rgb(51, 170, 239), rgb(67, 39, 113), rgb(83, 5, 138));
    min-height: 100vh;
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

.demo-wrapper {
    max-width: 960px;
    width: 50%;
    margin: auto;
    min-height: 100vh;
    background: white;
}

.demo-header {
    text-align: center;
    background: rgb(3, 59, 134);
    color:white;
    text-shadow: 2px 2px rgb(104, 115, 3);
    padding: 10px;
    letter-spacing: 6px;
    text-decoration: underline;
    text-decoration-style: wavy;
    text-decoration-color: aqua;
    text-decoration-thickness: 15%;
    border: 3px solid black;
    border-bottom-color: rgb(253, 250, 250);
}

.demo-footer {
    display: flex;
    background: rgb(3, 59, 134);
  
}

.demo-footer a:first-child {
    margin: 0 auto 0 0;
}

.demo-footer a {
    line-height: 2;
    padding: 0 .5em;
    color: white;
}


/**
 * Begin: UI - Cards Blog Posts
 *
 * Design is based on content from a blog
 * Each Post Summary is placed in a Card component
 * Cards are placed in OL LIs
 */

.cards {
    background: rgb(3, 3, 91);
    padding-left: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}

.cards .card {
    background: rgb(2, 46, 61);
    margin: 10px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.cards .card figure {
    background: rgb(0, 0, 0);
    margin: 0;
    line-height: 0;
}

.cards .card figure img {
    width: 100%;
    height: 455px;
    object-fit: cover;
}

.cards .card section {
    background: rgba(192, 234, 230, 0.915);
    color:black;
    padding: 10px;
    flex: 1 1 auto;
}

.cards .card a {
    align-self: flex-end;
    line-height: 1.5em;
    padding: 1em 1em;
    
}

.cards .card-section-meta {
    display: flex;
    flex-wrap: wrap;
    border: 5px ridge rgb(124, 117, 117);
    border-radius: 8px;
}
.cards .card-section-meta * {
    flex: 0 0 50%;
    font-size: .9em;
    line-height: 2;
    background-color: white;
  
}
.cards .card-section-meta :nth-child(odd) {
    text-align:center;
}

.cards .card-section-excerpt {
    flex-grow: 1;
}


.cards .card-section-button {
    align-self: flex-end;
    margin: 10px;
    padding: 1em 1em;
    background-color: black;
    color:white;
    border-radius: 1em;
    border: 1px solid;
    line-height: 5;
}
.cards .card-section-button:hover {
background-color: #00008b;
color:gold;
padding: 1.2em 2em;
font-size: 20px;
}
.cards .card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    flex: 0 0 100%;
}

 .cards .card-figure {
    position: relative;
    margin: 0;
    line-height: 0;
    overflow: hidden;
}
.cards .card-figure-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transform-origin: 50% 50%;
    transform: rotate(0) scale(1);
    transition: all 1s;
   
}
.cards .card-link:hover .card-figure-image {
    transform: rotate(360deg) scale(1.2);
    filter: grayscale(0);
}

@media (min-width: 768px) {
    .cards .card {
         flex: 0 0 calc(25% - 20px); 
        flex: 0 0 calc(33.3333% - 20px); 
        flex: 0 0 calc(50% - 20px);
    }

    .demo-wrapper{
        max-width: 90%;
    }
}