:root {
    --accent1: #f25922;
    --accent2: #f2c335;
    --light-theme: #bfcfd9;
    --shadow-theme: #72828c;
    --light: #f2ecce;
    --dark: #260101;
}

@font-face {
    font-family: 'Roboto';
    src: url('/static/fonts/Roboto-Regular.ttf');
}

body {
    font-family: 'Roboto', sans-serif;
    padding: 0;
    margin: 0;
    background-color: var(--light-theme);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Sriracha', cursive;
}

.main-content {
    width: 100%;
    overflow: hidden;
}

.section {
    width: 100%;
    box-sizing: border-box;
    padding: 20px;
}

@media (min-width: 302px) {
    .section {
        padding: 30px 60px;
    }
}

.section:first-child {
    padding-top: 30px;
}

.section.light {
    background-color: var(--light-theme);
    color: var(--dark);
}

.section.shadow {
    background-color: var(--shadow-theme);
    color: var(--dark);
}

.section.header {
    padding: 0;
    position: relative;
    height: 300px;
    overflow: hidden;
    background-color: transparent;
}

.section.header>img {
    min-height: 100%;
    margin-bottom: -4px;
    transition: all 1s ease;
    position: absolute;
    z-index: -1;
}

.section.header:hover>img {
    transform: scale(1.01);
}

.section.header h1 {
    position: absolute;
    bottom: 30px;
    font-size: 2.4em;
    left: 20px;
    color: var(--dark);
    text-shadow: 0 0 5px var(--light);
    line-height: 42px;
}

@media (min-width: 302px) {
    .section.header h1 {
        left: 80px;
    }
}

.section.shadow.header h1 {
    color: var(--light);
    text-shadow: 0 0 10px var(--dark);
}

img#projectsHeader {
    filter: sepia(33%) saturate(2) invert(100%);
}

.divider {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 100vw 0 0;
    transform: scale(1.0001);
}

.divider.light-shadow {
    border-color: var(--light-theme) var(--shadow-theme) transparent transparent;
}

.divider.shadow-light {
    border-color: var(--shadow-theme) var(--light-theme) transparent transparent;
}

.divider.right {
    transform: scaleX(-1);
}

.divider.header.before {
    margin-bottom: -40px;
    border-right-color: transparent;
}

.divider.header.after {
    margin-top: -40px;
    border-top-color: transparent;
}

.section-content {
    overflow: hidden;
    padding: 10px 10px;
    max-width: 1100px;
    margin: 0 auto;
}

.image-ball {
    width: 150px;
    height: 150px;
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    box-shadow: 0 0 10px #0008;
    z-index: 1;
    border: solid thick var(--light);
}

.section.right .image-ball {
    float: right;
    margin-left: 50px;
}

.section.left .image-ball {
    float: left;
    margin-right: 50px
}

.image-ball-group {
    overflow: hidden;
    padding: 10px;
    max-width: 300px;
}

.image-ball-group.left {
    float: left;
}

.image-ball-group.right {
    float: right;
}

.image-ball-group.left>.image-ball.main,
.image-ball-group.right>.image-ball.main {
    width: 160px;
    height: 160px;
    margin-top: 20px;
}

.image-ball-group.right>.image-ball {
    float: right;
    margin: 0;
}

.image-ball-group.left>.image-ball {
    float: left;
    margin: 0;
}

.image-ball.secondary {
    width: 80px;
    height: 80px;
    display: block;
}

.image-ball.secondary:last-child {
    margin: 20px 15px;
}

.image-ball>img {
    display: inline;
    position: absolute;
    height: 105%;
    margin-top: -2.5%;
    margin-left: -2.5%;
    width: auto;
    transition: all 0.5s ease;
}

.section:hover .image-ball>img {
    height: 115%;
    margin-left: -7.5%;
    margin-top: -7.5%;
}

.info {
    max-width: 600px;
}

.section.left .info {
    float: left;
}

.section.right .info {
    float: right;
}

.section-content a {
    color: var(--dark);
}

.section-content a.btn {
    display: inline-block;
    background-color: var(--dark);
    color: var(--light);
    text-decoration: none;
    padding: 14px 16px;
    margin: 5px 0;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
}

.section.left .section-content a.btn {
    float: right;
}

.section-content a.btn:hover {
    box-shadow: 0 0 10px #0008;
    background-color: #260101ee;
}

li {
    margin-bottom: 5px;
}

.section.footer {
    overflow: hidden;
}

.footer-box {
    float: left;
    margin-right: 20px;
    width: 320px;
    color: var(--light-theme);
}

.footer-box hr {
    border: none;
}

@media (min-width: 1007px) {
    .footer-box hr {
        margin-top: 70px;
    }
}

.section.left .section-content {
    opacity: 0;
    animation: fadein-left 3s forwards;
}

@keyframes fadein-left {
    from {
        transform: translateX(-40px);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.section.right .section-content {
    opacity: 0;
    animation: fadein-right 3s forwards;
}

@keyframes fadein-right {
    from {
        transform: translateX(40px);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.section.header img {
    opacity: 0;
    animation: fadein 3s forwards;
}

@keyframes fadein {
    from {
        transform: translateY(-10px);
        opacity: 0;
    }

    to {
        transform: translatey(0);
        opacity: 1;
    }
}