html {
    --wallpaper-blue: rgb(169, 205, 197);
    --wallpaper-orange: rgb(192, 138, 106);

    --boii: #00afcaff;
    --boii-slightly-darker: rgb(0, 152, 175); 
    --boii-darker: rgb(0, 115, 133); 
    --boii-darkest: rgb(0, 75, 87); 

    --navbar-height: 80px;

    background-color: var(--wallpaper-blue);
}

html, button, input {
    font-family: Spectral;
    letter-spacing: -2%;
    font-size: 1.1em;
    color: #444;
}

body {
    margin: 0;
}

/* links - both inline and div */
a, a:active, a:visited {
    text-decoration: none;
}

/* put back the underline for inline links */
p a, h1 a, h2 a, h3 a {
    text-decoration: underline;
    text-decoration-thickness: 0.5px;
    color: var(--boii-darker);
}

.accent {
    color: var(--boii-darker);
}

/* buttons/links in general */
a > div {
    align-content: center;
    text-align: center;
    min-width: 130px;
    width: 130px;
    max-width: 20%;
    text-decoration: none;
    color: #333;

    background-color: #fff;
    box-sizing: border-box;
    border-left: 0.5px solid rgba(0, 0, 0, 20%);
    border-right: 0.5px solid rgba(0, 0, 0, 20%);
    border-bottom: 3px solid var(--boii);

    transition: 
        box-shadow 0.1s linear,
        border-bottom-width 0.1s linear,
        border-bottom-color 0.1s linear,
        background-color 0.1s linear;
}

a:hover > div {
    border-bottom-width: 4px;
    border-bottom-color: var(--boii-slightly-darker);
}

a:active > div {
    border-bottom-width: 5px;
    border-bottom-color: var(--boii-darker);
}

a:hover.pressed > div, a.pressed > div {
    border-bottom-color: var(--boii-darkest);
}

a > div.transparent {
    height: 50px;
    background-color: #ffffff55;
}

a:hover > div.transparent {
    background-color: #ffffff77;
}

a:active > div.transparent {
    background-color: #ffffffaa;
}

.section a div {
    height: 50px;
    background-color: #00000016;
}

.section a:hover div {
    background-color: #00000008;
}

.section a:-ms-keyboard-active div {
    background-color: #00000000;
}

a:hover > div.transparent {
    background-color: #ffffff77;
}

a:active > div.transparent {
    background-color: #ffffffaa;
}


/* NAVBAR */

#navbar {
    z-index: 200;
    background-color: #fff;
    position: fixed;
    height: var(--navbar-height);

    width: 100vw;
    padding: 0px 40px;
    box-sizing: border-box;

    display: flex;
    flex-direction: row;
    box-shadow: 0 0 40px rgba(0, 0, 0, 20%);
}

#navbar-boii {
    height: var(--navbar-height);
    width: fit-content;
    margin-right: 20px;
}
#navbar-boii img {
    max-width: 45vw;
    max-height: 100%;
    object-fit: contain;
    width: auto;
    height: 100%;
}

#nav-buttons {
    margin-left: auto;
    display: flex;
    flex-direction: row;
}

#nav-buttons a > div {
    height: var(--navbar-height);
    border-left: none;
}

#nav-buttons #hamburger div, #nav-buttons a:nth-of-type(2) div {
    border-left: 0.5px solid rgba(0, 0, 0, 20%);
}

#nav-buttons a:hover > div {
    box-shadow: 0 -2px 6px #00000022 inset;
}

#nav-buttons a:active > div {
    box-shadow: 0 -2px 8px #00000033 inset;
}

#hamburger {
    display: none;
}

#hamburger svg {
    padding-top: 10px;
    height: 20px;
}

@media screen and (max-width: 920px) {

    #nav-buttons {
        flex-direction: column;
    }

    #nav-buttons a:not(#hamburger):hover div {
        background-color: #eee;
    }

    #nav-buttons a:not(#hamburger):active div {
        background-color: #ddd;
    }

    #nav-buttons:not(.nav-show) a
    {
        display: none;
    }

    #nav-buttons #hamburger {
        display: block;
        min-height: var(--navbar-height);
    }

}

/* homepage header */

#insight-and-integrity {
  display: inline-block;
}

.bg-img {
    position: fixed;
    top: var(--navbar-height);
    z-index: -100;
    min-height: calc( 100vh - var(--navbar-height) );
    width: 100vw;
    object-fit: cover;
}

/* page content */

.section {
    height: fit-content;
    width: 100%;
    margin: 0;
    padding: 20px 40px;
    box-sizing: border-box;
    background-color: hsl(0, 0%, 100%);
}

.section.bg-darker {
    background-color: hsl(0, 0%, 95%);
}

.section.bg-darkest {
    background-color: hsl(0, 0%, 88%);
}

.sidebyside {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.sidebyside .section {
    width: 50%;
    flex-grow: 1;
    height: auto;
}

.sidebyside img {
    min-width: 400px;
    width: 50%;
    flex-grow: 1;
    object-fit: cover;
    height: auto;
    aspect-ratio: 3;
}

.section > p, .section > h2 {
    max-width: 800px;
}

.section h2, .section h3 {
    color: var(--boii-darker);
    font-weight: 400;
}

.section h3 {
    font-size: 1.3em;
    font-weight: bold;
}

.section h2 {
    font-size: 1.5em;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    margin-bottom: 20px;
}

@media screen and (max-width: 600px) {
    .sidebyside img {
        height: 35vh;
    }
} 

/* misc */


#container-outer {
    position: absolute;
    min-height: 100vh; 
    background-color: #ffffff33;
    box-shadow: 0 0 80px #00000022;
    /* overridden for narrow screens */
    width: 80vw;
    margin-left: 10vw;  
    display: flex;
    flex-direction: column;
}

.landing-section {
    min-height: 100vh;
    box-sizing: border-box;
    padding-top: calc( var(--navbar-height) + 40px);
    padding-bottom: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
}

.landing-section.smaller {
    height: fit-content;
    min-height: 0px;
    padding-bottom: 40px;
}

.landing-section h1 {
    font-weight: normal;
    padding: 0;
    margin: 0;
}

@media screen and (max-width: 600px) {
    .landing-section {
        min-height: 90vh;
    }
    .landing-section.smaller {
        min-height: 0px;
        height: fit-content;
    }

    #container-outer {
        width: 100vw;
        margin-left: 0;
    }
}

.landing-section > div {
    width: 80%;
    min-width: none;
}

.big-text {
    font-size: 3em;
    line-height: 100%;
    color: #333;
}

span.line {
    display: inline-block;
}

#insight-and-integrity span span {
  --ul-effect-pos: 80%;   
  --underline-width: 4px;
  --underline-length: 100%;
  background-image: linear-gradient(currentColor 0 0);
  background-position: 0 var(--ul-effect-pos); /*OR bottom left*/
  background-size: 0% var(--underline-width);
  background-repeat: no-repeat;
  text-decoration: none;
  animation-name: underliner;
  animation-fill-mode: forwards;
}

#insight-and-integrity span:nth-of-type(1) span:nth-of-type(1) {
  animation-duration: 0.4s;
  animation-delay: 0.6s;
  animation-timing-function: ease-in;
}

#insight-and-integrity span:nth-of-type(1) span:nth-of-type(2) {
  animation-duration: 0.2s;
  animation-delay: 1.07s;
  animation-timing-function: linear;
}

#insight-and-integrity span:nth-of-type(2) span:nth-of-type(1) {
  animation-duration: 0.4s;
  animation-delay: 1.42s;
  animation-timing-function: linear;
}

#insight-and-integrity span:nth-of-type(2) span:nth-of-type(2) {
  animation-duration: 0.5s;
  animation-delay: 1.86s;
  animation-timing-function: ease-out;
}


@keyframes underliner {
    from {
        background-size: 0px var(--underline-width);
    }
    to {
        background-size: 100% var(--underline-width);
    }
}



#agilium-banner {
    height: 80px;
    margin-left: -15px;
    margin-bottom: 20px;
}

.linkedin {
    margin-left: 20px;
}

.linkedin svg {
    height: 20px;
    width: 20px;
    opacity: 40%;
}

#dobry-andel {
    width: 300px;
    height: 300px;
    margin: 50px;
}

#container-inner {
    width: 100%;
    margin-top: auto;
}