/* --- Structure --- */

html {
    scroll-behavior: smooth;
}

body {
    background: #f5f5f5;
}

footer {
    bottom: 0px;
    right: 0px;
    line-height: 50px !important;
}


/* --- Text --- */

h1, h2, h3, h4, h5, h6 {
    font-family: 'Roboto Condensed', sans-serif;
    text-transform: uppercase;
}

h1 {
    font-size: 2.4em;
}

h2 {
    font-size: 1.7em;
}

h3 {
    font-size: 1.4em;
}

h4, .stuff li {
    font-size: 1.2em;
    display: block;
    line-height: 130%;
}

h4 br {
    line-height: 150%;
}

#more h4 {
    font-weight: bold;
}

#more h4::after {
    content: '';
    width: 100px;
    height: 1px;
    display: block;
    margin-top: 10px;
    border-bottom: 3px solid #1975ce;
}

p, li, button, input, code, blockquote {
    font-family: 'Roboto', sans-serif;
    font-size: 1em;
    line-height: 150%;
    margin-bottom: 20px;
}

.bg-blk p {
    color: #aaa;
}

code {
    padding: 10px 20px;
    background: #333;
    color: #999;
    display: block;
}

blockquote {
    border-left: 3px solid #1975ce;
    font-size: 1.4em;
}

li {
    margin-bottom: 10px;
}

ul.stuff {
    border-left: 3px solid #1975ce;
}

.stuff li {
    margin-bottom: 0px;
    font-family: 'Roboto Condensed', sans-serif;
    text-transform: uppercase;
}

cite {
    background: #deefff;
}

.demo {
    position: relative;
    padding: 20px;
    border: 1px dashed #666;
    margin-bottom: 20px;
}

.demo h4 {
    position: absolute;
    top: 0;
    left: 0;
    background: #aa0000;
    color: #fff;
    padding: 5px;
    font-size: 1rem;
    line-height: 1rem;
    text-transform: none;
    z-index: 5;
}


/* --- Links, Buttons, CTA --- */

* :focus {
	outline: 0px none !important;
}

a, .cta a, a:visited, .cta a:visited {
    color: #1975ce;
    text-decoration: underline;
    transition: all .3s ease;
}

.bg-blk a, .bg-blk a:visited {
    color: #fff;
}

.cta a, .cta a:visited {
    color: #fff;
    text-decoration: none;
}

a:hover, a:active {
    color: #000;
}

.bg-blk a:hover, .bg-blk a:active {
    color: #999;
}

footer a, footer a:visited, footer a:active {
    color: #fff !important;
    text-decoration: none;
}

button.download {
    border: 1px solid #1975ce;
    box-shadow: -3px 3px #999;
}

button.download:after {
    content: '\2193';
    position: absolute;
    opacity: 0;  
    top: 8px;
    color: #000;
    right: -20px;
}

button.download:hover{
    padding-right: 25px;
    color: #1975ce;
    box-shadow: -3px 3px #1975ce;
}

button.download:hover:after {
    opacity: 1;
    right: 0px;
    margin-left: 10px;
    margin-right: 10px;
    color: #1975ce;
}

.cta {
    padding: 5px 7px;
    background: linear-gradient(110deg, #50a3f4, #50a3f4, #1975ce, #50a3f4, #50a3f4);
    background-size: 3000% 200%;
    -webkit-animation: slideani 10s infinite;
    -moz-animation: slideani 10s infinite;
    animation: slideani 10s infinite;
}


/* --- SFX --- */

@-webkit-keyframes slideani {
    0% { background-position:100% 50% }
    100% { background-position:0% 50% }
}
@-moz-keyframes slideani {
    0% { background-position:100% 50% }
    100% { background-position:0% 50% }
}
@keyframes slideani { 
    0% { background-position:100% 50% }
    100% { background-position:0% 50% }
}


/* --- Tiny Adjustments --- */

@media screen and (max-width: 1440px) {
    h1 {
        font-size: 2rem;
    }
    
    blockquote {
        font-size: 1.1rem;
    }
}

@media screen and (max-width: 992px) {
    footer p {
        font-size: 1.3rem;
        line-height: 1.7rem;
    }
}