:root {
    --my-green: #36ac53;
    --my-green-background: rgba(54, 172, 83, 0.8);
    --my-yellow: #ffc53e;
    --my-grey: grey;
    --my-grey-background: rgba(92, 92, 92, 0.8);
    --about-background: url(../images/about.webp);
}


/*
===============================================================================

####### ####### #     # #######  #####  
#       #     # ##    #    #    #     # 
#       #     # # #   #    #    #       
#####   #     # #  #  #    #     #####  
#       #     # #   # #    #          # 
#       #     # #    ##    #    #     # 
#       ####### #     #    #     #####  

===================================================================== [ FONTS ]
*/
@font-face {
    font-family: 'FontAwesome';
    src: url('../fonts/fontawesome-webfont.eot');
    src: url('../fonts/fontawesome-webfont.eot') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2') format('woff2'), url('../fonts/fontawesome-webfont.woff') format('woff'), url('../fonts/fontawesome-webfont.ttf') format('truetype'), url('../fonts/fontawesome-webfont.svg') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.fa {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.fa-printer:before {
    content: "\f02f"
}

.fa-envelope:before {
    content: "\f0e0"
}

.fa-phone:before {
    content: "\f095"
}

.fa-map-marker:before {
    content: "\f041"
}


@font-face {
    font-family: 'themify';
    src: url('../fonts/themify.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.ti-user:before {
    content: "\e602";
}

.ti-thought:before {
    content: "\e606";
}

.ti-comment-alt:before {
    content: "\e645";
}

.ti-briefcase:before {
    content: "\e651";
}

.ti-file:before {
    content: "\e6a4";
}

@font-face {
    font-family: 'Yanone Kaffeesatz';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/yanonekaffeesatz.ttf) format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Yanone Kaffeesatz';
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/yanonekaffeesatz_700.ttf) format('truetype');
    font-display: swap;
}

/*
===============================================================================

   #    #     # ### #     #    #    ####### ### ####### #     #  #####  
  # #   ##    #  #  ##   ##   # #      #     #  #     # ##    # #     # 
 #   #  # #   #  #  # # # #  #   #     #     #  #     # # #   # #       
#     # #  #  #  #  #  #  # #     #    #     #  #     # #  #  #  #####  
####### #   # #  #  #     # #######    #     #  #     # #   # #       # 
#     # #    ##  #  #     # #     #    #     #  #     # #    ## #     # 
#     # #     # ### #     # #     #    #    ### ####### #     #  #####  

================================================================ [ ANIMATIONS ]
*/

@keyframes bounce {
    0%,
    20%,
    60%,
    100% {
        -ms-transform: translateY(0);
    }

    0%,
    20%,
    60%,
    100% {
        -o-transform: translateY(0);
    }

    0%,
    20%,
    60%,
    100% {
        -moz-transform: translateY(0);
    }

    0%,
    20%,
    60%,
    100% {
        -webkit-transform: translateY(0);
    }

    40% {
        -webkit-transform: translateY(-20px);
    }

    80% {
        -webkit-transform: translateY(-10px);
    }
}

@keyframes bounceZoom {
    0%,
    20%,
    60%,
    100% {
        transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        -moz-transform: scale(1);
    }
    40%, 80% {
        transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        -moz-transform: scale(1.1);
    }
}

@-webkit-keyframes scaleIn {
    from {
        -webkit-transform: translateY(-50%) scale(0);
    }

    to {
        -webkit-transform: translateY(-50%) scale(1);
    }
}

@-moz-keyframes scaleIn {
    from {
        -moz-transform: translateY(-50%) scale(0);
    }

    to {
        -moz-transform: translateY(-50%) scale(1);
    }
}

@keyframes scaleIn {
    from {
        -webkit-transform: translateY(-50%) scale(0);
        -moz-transform: translateY(-50%) scale(0);
        -ms-transform: translateY(-50%) scale(0);
        -o-transform: translateY(-50%) scale(0);
        transform: translateY(-50%) scale(0);
    }

    to {
        -webkit-transform: translateY(-50%) scale(1);
        -moz-transform: translateY(-50%) scale(1);
        -ms-transform: translateY(-50%) scale(1);
        -o-transform: translateY(-50%) scale(1);
        transform: translateY(-50%) scale(1);
    }
}

@-webkit-keyframes slideIn {
    from {
        opacity: 0;
        -webkit-transform: translateX(-25px);
    }

    to {
        opacity: 1;
        -webkit-transform: translateX(0);
    }
}

@-moz-keyframes slideIn {
    from {
        opacity: 0;
        -moz-transform: translateX(-25px);
    }

    to {
        opacity: 1;
        -moz-transform: translateX(0);
    }
}

@keyframes slideIn {
    from {
        opacity: 0;
        -webkit-transform: translateX(-25px);
        -moz-transform: translateX(-25px);
        -ms-transform: translateX(-25px);
        -o-transform: translateX(-25px);
        transform: translateX(-25px);
    }

    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0);
    }
}

/*
===============================================================================

 #####  #       ####### ######     #    #        #####  
#     # #       #     # #     #   # #   #       #     # 
#       #       #     # #     #  #   #  #       #       
#  #### #       #     # ######  #     # #        #####  
#     # #       #     # #     # ####### #             # 
#     # #       #     # #     # #     # #       #     # 
 #####  ####### ####### ######  #     # #######  #####  

=================================================================== [ GLOBALS ]
*/

.only-print {
    display: none;
}

html,
body {
    overflow-x: hidden;
    height: 100%;
    scroll-behavior: smooth;
}

body {
    padding: 0;
    margin: 0;
    background: #FFF;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.42857143;

}

body a,
body a:hover,
body a:focus {
    text-decoration: none;
}

input[type="button"],
input[type="submit"] {
    transition: 0.5s all;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -o-transition: 0.5s all;
    -ms-transition: 0.5s all;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
}

p {
    margin: 0;
    font-size: 1em;
    font-family: 'Ubuntu', sans-serif;
}

ul {
    margin: 0;
    padding: 0;
}

label {
    margin: 0;
}

a:focus,
a:hover {
    text-decoration: none;
    outline: none;
}

.hidden {
    display: none !important;
}

/*
===============================================================================

#     # ####### #     # #     # 
##   ## #       ##    # #     # 
# # # # #       # #   # #     # 
#  #  # #####   #  #  # #     # 
#     # #       #   # # #     # 
#     # #       #    ## #     # 
#     # ####### #     #  #####  

====================================================================== [ MENU ]
*/

.menu {
    position: fixed;
    z-index: 1;
    top: 10px;
    left: 10px;
    width: 55px;
    height: 55px;
    border-radius: 30px;
    background: var(--my-green);
    -webkit-box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
    -ms-box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
    -o-box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
    box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -o-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -ms-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -webkit-transition: height 0.2s, box-shadow 0.2s;
    -moz-transition: height 0.2s, box-shadow 0.2s;
    -o-transition: height 0.2s, box-shadow 0.2s;
    -ms-transition: height 0.2s, box-shadow 0.2s;
    transition: height 0.2s, box-shadow 0.2s;
}

.menu.menu-opened {
    height: 250px;
    -webkit-box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
    -ms-box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
    -o-box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
    box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -o-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -ms-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    -webkit-transition: height 0.2s, box-shadow 0.2s;
    -moz-transition: height 0.2s, box-shadow 0.2s;
    -o-transition: height 0.2s, box-shadow 0.2s;
    -ms-transition: height 0.2s, box-shadow 0.2s;
    transition: height 0.2s, box-shadow 0.2s;
}

.menu-trigger {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    height: 55px;
    width: 55px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
    overflow: hidden;
    white-space: nowrap;
    color: transparent !important;
    pointer-events: auto;
}

.menu-trigger span,
.menu-trigger span::after,
.menu-trigger span::before {
    position: absolute;
    width: 23px;
    height: 2px;
    background-color: #ffffff;
}

.menu-trigger span {
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    -webkit-transition: background-color 0.2s;
    -moz-transition: background-color 0.2s;
    transition: background-color 0.2s;
}

.menu-trigger span::after,
.menu-trigger span::before {
    content: '';
    top: 0;
    left: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: -webkit-transform 0.2s;
    -moz-transition: -moz-transform 0.2s;
    transition: transform 0.2s;
}

.menu-trigger span::before {
    -webkit-transform: translateY(-7px);
    -moz-transform: translateY(-7px);
    -ms-transform: translateY(-7px);
    -o-transform: translateY(-7px);
    transform: translateY(-7px);
}

.menu-trigger span::after {
    -webkit-transform: translateY(7px);
    -moz-transform: translateY(7px);
    -ms-transform: translateY(7px);
    -o-transform: translateY(7px);
    transform: translateY(7px);
}

.menu-opened .menu-trigger span {
    background-color: transparent;
}

.menu-opened .menu-trigger span::before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.menu-opened .menu-trigger span::after {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.menu ul {
    position: relative;
    z-index: 2;
    padding: 45px 0 10px;
    visibility: hidden;
    -webkit-transition: visibility 0.3s;
    -moz-transition: visibility 0.3s;
    transition: visibility 0.3s;
    text-align: center;
}

.menu.menu-opened ul {
    opacity: 1;
    visibility: visible;
}

.menu ul li {
    display: block;
    text-align: center;
}

.menu-item {
    position: relative;
    display: block;
    width: 55px;
    height: 40px;
    padding: 0;
    color: rgba(255, 255, 255, 0.8);
    -webkit-transition: color 0.2s;
    -moz-transition: color 0.2s;
    transition: color 0.2s;
    text-align: left;
}

.menu-item:hover {
    color: var(--my-yellow);
}

.menu-item::after {
    position: absolute;
    right: 14px;
    top: 50%;
    -webkit-transform: translateY(-50%) scale(0);
    -moz-transform: translateY(-50%) scale(0);
    -ms-transform: translateY(-50%) scale(0);
    -o-transform: translateY(-50%) scale(0);
    transform: translateY(-50%) scale(0);
    opacity: .9;
    font-family: 'themify';
    font-size: 2em;
}

.menu.menu-opened ul a.active,
.menu.menu-opened ul li.active a {
    color: #ffffff;
}

.menu-item[href="#about"]::after {
    content: "\e602";
}

.menu-item[href="#projects"]::after {
    content: "\e651";
}

.menu-item[href="#skills"]::after {
    content: "\e606";
}

.menu-item[href="#journey"]::after {
    content: "\e6a4";
}

.menu-item[href="#contact"]::after {
    content: "\e645";
}

.menu.menu-opened ul a.active::after,
.menu.menu-opened ul li.active a::after {
    opacity: 1;
}

.menu.menu-opened .menu-item::after {
    -webkit-transform: translateY(-50%) scale(1);
    -moz-transform: translateY(-50%) scale(1);
    -ms-transform: translateY(-50%) scale(1);
    -o-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1);
    -webkit-animation: scaleIn 0.15s backwards;
    -moz-animation: scaleIn 0.15s backwards;
    animation: scaleIn 0.15s backwards;
    -webkit-transition: opacity 0.2s;
    -moz-transition: opacity 0.2s;
    transition: opacity 0.2s;
}

.menu.menu-opened ul a.active::before {
    -webkit-transform: translateX(3px) translateY(-50%) scaleY(1);
    -moz-transform: translateX(3px) translateY(-50%) scaleY(1);
    -ms-transform: translateX(3px) translateY(-50%) scaleY(1);
    -o-transform: translateX(3px) translateY(-50%) scaleY(1);
    transform: translateX(3px) translateY(-50%) scaleY(1);
    -webkit-transition: -webkit-transform 0.15s 0.3s;
    -moz-transition: -moz-transform 0.15s 0.3s;
    transition: transform 0.15s 0.3s;
}

.menu.menu-opened ul li:first-of-type a::after {
    -webkit-animation-delay: 0.05s;
    -moz-animation-delay: 0.05s;
    animation-delay: 0.05s;
}

.menu.menu-opened ul li:nth-of-type(2) a::after {
    -webkit-animation-delay: 0.1s;
    -moz-animation-delay: 0.1s;
    animation-delay: 0.1s;
}

.menu.menu-opened ul li:nth-of-type(3) a::after {
    -webkit-animation-delay: 0.15s;
    -moz-animation-delay: 0.15s;
    animation-delay: 0.15s;
}

.menu.menu-opened ul li:nth-of-type(4) a::after {
    -webkit-animation-delay: 0.2s;
    -moz-animation-delay: 0.2s;
    animation-delay: 0.2s;
}

.menu.menu-opened ul li:nth-of-type(5) a::after {
    -webkit-animation-delay: 0.25s;
    -moz-animation-delay: 0.25s;
    animation-delay: 0.25s;
}


/*
===============================================================================

   #    ######  ####### #     # ####### 
  # #   #     # #     # #     #    #    
 #   #  #     # #     # #     #    #    
#     # ######  #     # #     #    #    
####### #     # #     # #     #    #    
#     # #     # #     # #     #    #    
#     # ######  #######  #####     #  

==================================================================== [ ABOUT ]
*/

.about {
    background: var(--about-background) repeat;
    background-position: right;
    background-size: cover;
    position: relative;
    display: flex;
    flex-wrap: wrap;
}

.about-left {
    padding: 10px;
    margin: 10px auto;
    text-align: center;
    -webkit-backdrop-filter: grayscale() blur(10px);
    /* Safari 9+ */
    backdrop-filter: grayscale() blur(10px);
    /* Chrome and Opera */
    background-color: var(--my-green-background);
    border-radius: 10px;
}

.about-left img {
    width: 230px;
    height: 230px;
    border-radius: 50%;
}

.about-left h3 {
    color: var(--my-yellow);
    font-size: 2.2em;
    font-weight: bolder;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.about-left p {
    color: white;
    font-size: 1em;
    line-height: 1.5em;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.about-right {
    -webkit-backdrop-filter: grayscale() blur(10px);
    /* Safari 9+ */
    backdrop-filter: grayscale() blur(10px);
    /* Chrome and Opera */
    background-color: var(--my-green-background);
    width: 100%;
    padding: 10px;
}

.about-right .about-text h3 {
    font-size: 2.8em;
    color: var(--my-yellow);
    letter-spacing: 2px;
}

.about-right .about-text h3 a {
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
    animation: bounceZoom 2s 1 ease-in-out;
    -webkit-animation: bounceZoom 2s 1 ease-in-out;
    color: var(--my-yellow);
    letter-spacing: 2px;
}

.about-right p {
    color: white;
    font-size: 1em;
    line-height: 1.8em;
    letter-spacing: 1px;
}

.about-print {
    outline: none;
    margin-top: 8px;
    float: right;
    cursor: pointer;
}

.about-print:hover {
    color: white;
}

.about-text p {
    font-weight: bold;
    width: 100%;
}    

.about-address {
    border-top: 2px dotted var(--my-green);
}

.about-address-text li {
    display: inline-block;
    font-size: 1em;
    color: rgba(255, 255, 255, 0.76);
    font-weight: 600;
    font-family: sans-serif;
    line-height: 30px;
}

.about-address-text li:nth-child(1) {
    width: 30%;
}

.about-address li {
    list-style-type: none;
}


ul.about-address-text li a {
    color: white;
    font-weight: bold;
}

ul.about-address-text li span {
    margin: 0.2em;
    color: #d9edf7;
}


li.about-address-text-title b {
    color: var(--my-yellow);
}

.goto-down-button {
    position: absolute;
    bottom: 3%;
    left: 50%;
    width: 40px;
    height: 40px;
    font-size: 40px;
    line-height: 40px;
    animation: bounce 2s infinite ease-in-out;
    -webkit-animation: bounce 2s infinite ease-in-out;
}

.goto-down-button i {
    color: var(--my-green);
    padding: 20px 10px;
    border: 1px solid;
    border-radius: 20px;
    font-size: 15px;
}



/*
===============================================================================

######  ######  #######       # ####### #######  #####  
#     # #     # #     #       # #          #    #     # 
#     # #     # #     #       # #          #    #       
######  ######  #     #       # #####      #     #####  
#       #   #   #     # #     # #          #          # 
#       #    #  #     # #     # #          #    #     # 
#       #     # #######  #####  #######    #     #####  
                                                        
================================================================= [ PROIJECTS ]
*/

.projects {
    background-color: rgb(33, 33, 33);
    padding-top: 5em;
    padding-bottom: 5em;
}

.projects h2 {
    font-size: 3em;
    color: var(--my-green);
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: auto;
    padding: 20px;
}

ul.project-filter {
    text-align: center;
    margin-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.project-filter li {
    color: var(--my-green);
    cursor: pointer;
    display: inline-block;
    padding: 0px 10px 9px;
    font-size: 18px;
    margin: 0 0.4em;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 1px;
    transition: 0.5s all;
    -webkit-transition: 0.5s all;
    -o-transition: 0.5s all;
    -ms-transition: 0.5s all;
    -moz-transition: 0.5s all;
    text-transform: capitalize;
}

.project-filter li.active {
    color: #dec800;
}

.project-filter li.active::before {
    content: "[ ";
}

.project-filter li.active::after {
    content: " ]";
}

.project-filter li:hover {
    color: #dec800;
    /* border-bottom: 2px solid var(--my-green); */
    transition: 0.5s all;
    -webkit-transition: 0.5s all;
    -o-transition: 0.5s all;
    -ms-transition: 0.5s all;
    -moz-transition: 0.5s all;
}

.project-grid {
    position: block;
    margin: auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 1600px;
}

.project-item {
    background-color: var(--my-grey);
    padding: 5px;
    margin: 15px;
    opacity: 1;
    position: relative;
    width: 240px;
    height: 160px;
    display: block;
    border-radius: 15px;
}

.project-item.hidden {
    visibility: hidden;
}

.project-item img {
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    border-radius: 10px;
}

.project-item span.project-link {
    display: block;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: var(--my-green-background);
    border-radius: 10px;
    text-transform: uppercase;
    color: white;
    font-weight: bold;
    font-size: 15px;
    letter-spacing: 2px;
    padding: 10px 15px;
    cursor: pointer;
    margin: 0;
}

.project-item span.project-link:hover {
    color: var(--my-yellow);
    transition: 0.5s all;
    -webkit-transition: 0.5s all;
    -o-transition: 0.5s all;
    -ms-transition: 0.5s all;
    -moz-transition: 0.5s all;
}

.project-item-form {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    max-width: 400px;
    max-height: 300px;
    font-family: "Ubuntu", sans-serif;
    font-size: 14px;
    font-weight: bold;
    color: white;
    background-color: var(--my-green);
    width: 80%;
    height: 80%;
    margin: auto auto;
    z-index: 10000;
    border: white solid 2px;
    border-radius: 25px;
    padding: 15px;
}

.project-item-form h3 {
    display: flex;
    font-size: 14px;
    flex-direction: column;
    font-size: 20px;
    font-weight: bold;
    color: var(--my-yellow);
    margin: 0;
    padding-bottom: 20px;
}

.project-item-form .project-tech span {
    color: var(--my-yellow);
}

.backdrop {
    position: absolute;
    display: flex;
    justify-content: center;
    z-index: 9999;
    background-color: var(--my-grey-background);
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    overflow: auto;
}

.project-item-form.open {
    display: flex;
}

/*
===============================================================================

 #####  #    # ### #       #        #####  
#     # #   #   #  #       #       #     # 
#       #  #    #  #       #       #       
 #####  ###     #  #       #        #####  
      # #  #    #  #       #             # 
#     # #   #   #  #       #       #     # 
 #####  #    # ### ####### #######  #####  
                                                        
==================================================================== [ SKILLS ]
*/

.skills {
    padding: 4em 0em;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: url(../images/skills.webp) no-repeat 0px 0px;
    background-size: cover;
    min-height: 500px;
}

.skills h2 {
    font-size: 3em;
    color: var(--my-green);
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: auto;
    padding: 20px;
}

.skills-capabilities {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background-color: var(--my-green-background);
    border-radius: 10px;
    padding: 20px;
    max-width: 1100px;
}

.skills-capabilities div {
    width: 20em;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: auto;
}

.skills-capabilities h4 {
    font-size: 2em;
    color: var(--my-yellow);
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: 'Yanone Kaffeesatz', sans-serif;
    margin-top: 10px;
    margin-bottom: 10px;
}

.skills-capabilities p {
    font-size: 1em;
    color: white;
    text-align: center;
}

.skills-bars {
    display: flex;
    flex-grow: 0;
    flex-basis: 25%;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    color: white;
}

.skills-bars h4 {
    font-size: 3em;
    color: var(--my-green);
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: 'Yanone Kaffeesatz', sans-serif;
}

.skills-bars div {
    margin: auto;
    padding: 0 10px 0 10px;
}

.skills-bar-label {
    font-size: 1.2em;
    color: white;
    text-align: left;
}

.skills-bars progress {
    margin-bottom: 10px;
    height: 3px;
    color: var(--my-green);
    background: black;
    width: 100%;
}

.skills-bars progress::-webkit-progress-value,
.skills-bars progress::-moz-progress-bar {
    background: var(--my-green);
}

/*
===============================================================================

      # ####### #     # ######  #     # ####### #     # 
      # #     # #     # #     # ##    # #        #   #  
      # #     # #     # #     # # #   # #         # #   
      # #     # #     # ######  #  #  # #####      #    
#     # #     # #     # #   #   #   # # #          #    
#     # #     # #     # #    #  #    ## #          #    
 #####  #######  #####  #     # #     # #######    #    
                                                        
=================================================================== [ JOURNEY ]
*/

.journey {
    background: #212121;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    padding: 2em;
    justify-content: center;
}

.journey>div {
    /* border-left: var(--my-grey) 1px solid; */
    margin: 0 20px;
    padding: 0 10px;
}

.journey h2 {
    font-size: 3em;
    color: var(--my-green);
    font-weight: 600;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: auto;
    padding: 20px;
}

.journey h3 {
    color: #fff;
    font-size: 1.5em;
    text-transform: capitalize;
    margin-bottom: 25px;
    letter-spacing: 2px;
}

.journey-experience {
    font-family: 'Yanone Kaffeesatz', sans-serif;
    display: grid;
    width: 100%;
    grid-template-areas: "title title""role  desc";
    grid-template-rows: 50px 1fr;
    grid-template-columns: 150px 1fr;
    margin: 10px;
    max-width: 500px;
}

.journey-experience-title {
    grid-area: title;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.journey-experience-role {
    grid-area: role;
    color: var(--my-green);
    letter-spacing: 1px;
}

.journey-experience-role h4:first-of-type {
    color: var(--my-yellow);
}

.journey-experience-desc {
    grid-area: desc;
    color: var(--my-grey);
    font-size: 1em;
    line-height: 1.8em;
    letter-spacing: 1px;
    margin: 1em 0;
}

.journey-studies {
    display: grid;
    font-family: 'Yanone Kaffeesatz', sans-serif;
    width: 100%;
    grid-template-areas: "title title""academy  desc";
    grid-template-rows: 50px 1fr;
    grid-template-columns: 150px 1fr;
    margin: 10px;
    max-width: 500px;
}

.journey-studies-title {
    grid-area: title;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.journey-studies-title-compact {
    letter-spacing: 1px;
}

.journey-studies-academy {
    grid-area: academy;
    color: var(--my-yellow);
    letter-spacing: 1px;
    margin-top: .5em;
}

.journey-studies-academy p {
    font-family: inherit;
}

.journey-studies-desc {
    grid-area: desc;
    color: var(--my-grey);
    font-size: 1em;
    line-height: 1.8em;
    letter-spacing: 1px;
    margin-top: .5em;
}

/*
===============================================================================

 #####  ####### #     # #######    #     #####  ####### 
#     # #     # ##    #    #      # #   #     #    #    
#       #     # # #   #    #     #   #  #          #    
#       #     # #  #  #    #    #     # #          #    
#       #     # #   # #    #    ####### #          #    
#     # #     # #    ##    #    #     # #     #    #    
 #####  ####### #     #    #    #     #  #####     # 

=================================================================== [ CONTACT ]
*/

.contact {
    padding: 2em 2em;
    background: url(../images/contact.webp) no-repeat 0px 0px;
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contact h2 {
    font-size: 3em;
    color: var(--my-green);
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: auto;
    padding: 20px;
}

.contact form {
    width: 100%;
    font-size: 14px;
    display: flex;
    flex-direction: column;
}

.contact-name,
.contact-email,
.contact-phone {
    color: var(--my-yellow);
    background: var(--my-grey-background);
    letter-spacing: 0.2em;
    outline: none;
    padding: .5em;
    margin-bottom: .5em;
    border: solid 1px #fff;
    -webkit-appearance: none;
    display: inline-block;
}

.contact-msg {
    resize: none;
    color: var(--my-yellow);
    background: var(--my-grey-background);
    letter-spacing: 0.2em;
    padding: .5em;
    outline: none;
    border: solid 1px #fff;
    min-height: 8.5em;
    -webkit-appearance: none;
    font-size: 14px;

}

.contact-submit {
    outline: none;
    color: #f9a300;
    padding: .5em 2em;
    margin-top: 12px;
    -webkit-appearance: none;
    background: black;
    border: 1px solid #f9a300;
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    transition: 0.5s all;
    float: right;
    letter-spacing: 1px;
}

.contact-name:focus,
.contact-email:focus,
.contact-phone:focus,
.contact-msg:focus {
    border-color: #00b8ce 2px;
}

.contact-submit:hover {
    color: var(--my-green);
    border-color: var(--my-green);
}

::-webkit-input-placeholder {
    color: #f9a300 !important;
}

:-moz-placeholder {
    /* Firefox 18- */
    color: #f9a300 !important;
}

::-moz-placeholder {
    /* Firefox 19+ */
    color: #f9a300 !important;
}

:-ms-input-placeholder {
    color: #f9a300 !important;
}

/*
===============================================================================

####### ####### ####### ####### ####### ######  
#       #     # #     #    #    #       #     # 
#       #     # #     #    #    #       #     # 
#####   #     # #     #    #    #####   ######  
#       #     # #     #    #    #       #   #   
#       #     # #     #    #    #       #    #  
#       ####### #######    #    ####### #     # 

==================================================================== [ FOOTER ]
*/

.footer {
    background: #000;
    padding: auto;
}

.footer-items {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.footer-item {
    text-align: center;
    margin: 5px
}

.footer-item:hover h3,
.footer-item:hover p {
    color: var(--my-green);
    transition-delay: 0s;
    transition-duration: 0.5s;
    transition-property: all;
    transition-timing-function: ease
}

.footer-item span {
    background: var(--my-green);
    color: white;
    font-size: 2em;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    padding: 1em;
    text-align: center;
    vertical-align: middle;
}

.footer-item h3 {
    color: var(--my-grey);
    line-height: 1.5em;
    font-size: 2em;
    margin-top: 20px;
    margin-bottom: 10px;
}

.footer-item p,
.footer-item a,
.footer-rights a {
    color: var(--my-yellow);
    line-height: 1.5em;
}

.footer a:hover,
.footer-rights a:hover {
    color: var(--my-green);
}

.footer-rights {
    margin-top: 2em;
    color: var(--my-yellow);
}

/*
===============================================================================

#####  ####### #     # ####### ######  ####### #        #####  
#     # #     # ##    #    #    #     # #     # #       #     # 
#       #     # # #   #    #    #     # #     # #       #       
#       #     # #  #  #    #    ######  #     # #        #####  
#       #     # #   # #    #    #   #   #     # #             # 
#     # #     # #    ##    #    #    #  #     # #       #     # 
 #####  ####### #     #    #    #     # ####### #######  #####  

================================================================== [ CONTROLS ]
*/

#toTop {
    display: none;
    text-decoration: none;
    position: fixed;
    bottom: 20px;
    right: 2%;
    overflow: hidden;
    z-index: 999;
    width: 32px;
    height: 32px;
    border: none;
    text-indent: 100%;
    background: url(../images/arrow.png) no-repeat 0px 0px;
}

#toTopHover {
    width: 32px;
    height: 32px;
    display: block;
    overflow: hidden;
    float: right;
    opacity: 0;
    -moz-opacity: 0;
    filter: alpha(opacity=0);
}

/*
######  #######  #####  ######  ####### #     #  #####  ### #     # ####### 
#     # #       #     # #     # #     # ##    # #     #  #  #     # #       
#     # #       #       #     # #     # # #   # #        #  #     # #       
######  #####    #####  ######  #     # #  #  #  #####   #  #     # #####   
#   #   #             # #       #     # #   # #       #  #   #   #  #       
#    #  #       #     # #       #     # #    ## #     #  #    # #   #       
#     # #######  #####  #       ####### #     #  #####  ###    #    ####### 

============================================================== [ MOBILE FIRST ]
*/

/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet */
@media (min-width: 550px) {
    .journey h3 {
        font-size: 2em;
    }

}

/* Larger than tablet */
@media (min-width: 750px) {
    .about {
        flex-wrap: nowrap;
    }

    .about-left {
        margin: 10px;
    }

    .about-right {
        margin: 10px 0 10px 10px;
        border-radius: 10px 0 0 10px;
    }
}

/* Larger than desktop */
@media (min-width: 1000px) {
    .about-left {
        width: 400px;
        max-width: 400px;
    }

    .contact form {
        max-width: 1600px;
        margin: auto auto;
        display: grid;
        grid-template-areas: "name msg""email msg""phone msg""submit submit";
        grid-template-rows: 5em 5em 5em 1fr;
        grid-template-columns: 40% 1fr;
    }

    .contact-name,
    .contact-email,
    .contact-phone {
        width: 95%;
    }

    .contact-name {
        grid-area: name;
    }

    .contact-email {
        grid-area: email;
    }

    .contact-phone {
        grid-area: phone;
    }

    .contact-msg {
        grid-area: msg;
    }

    .contact-submit {
        margin-top: 1em;
        grid-area: submit;
        width: 20%;
        justify-self: right;
    }
}

/* Larger than Desktop HD */
@media (min-width: 1200px) {
    .about {
        justify-content: center;
    }

    .about-right {
        margin: 10px;
        border-radius: 10px;
        max-width: 850px;
    }

}



/*
===============================================================================

#     # ####### ######  ###    #       ######  ######  ### #     # ####### 
##   ## #       #     #  #    # #      #     # #     #  #  ##    #    #    
# # # # #       #     #  #   #   #     #     # #     #  #  # #   #    #    
#  #  # #####   #     #  #  #     #    ######  ######   #  #  #  #    #    
#     # #       #     #  #  #######    #       #   #    #  #   # #    #    
#     # #       #     #  #  #     #    #       #    #   #  #    ##    #    
#     # ####### ######  ### #     #    #       #     # ### #     #    #    

===================================================================== [ PRINT ]
*/

@media print {
    @page {
        size: A4;
        margin: 0;
        width: 21mm;
        height: 297mm;
    }

    * {
        color-adjust: exact;
        -webkit-print-color-adjust: exact;
        padding: 0;
        margin: 0;
        min-height: auto;
        max-height: auto;
        min-width: auto;
        max-width: auto;
    }

    a {
        text-decoration: none;
    }

    .no-print {
        display: none;
    }

    body {
        overflow: hidden;
        padding: 0;
        margin: 0;
        position: relative;
        display: grid;
        grid-template-areas:
            "about about about"
            "projects projects skills"
            "journey journey skills"
        ;
        grid-template-rows: 53mm 110mm 136mm;
        grid-template-columns: 70mm 70mm 70mm;
    }

    .about {
        grid-area: about;
        min-height: auto;
        overflow: hidden;
        background: var(--about-background) no-repeat;
        background-size: cover;
        flex-wrap: nowrap;
        padding: 0 0 0 3mm;
    }

    .about .about-left {
        padding: 0;
        width: 70mm;
        display: grid;
        grid-template-areas:
            "about-name about-img"
            "about-desc about-img"
        ;
    }

    .about .about-left img {
        grid-area: about-img;
        padding: 2mm;
        margin: 10mm 0 0 -5mm;
        width: 30mm;
        height: 30mm;
    }

    .about .about-left h3 {
        grid-area: about-name;
        padding: 2mm;
        width: 20mm;
    }

    .about .about-left p {
        grid-area: about-desc;
        width: 40mm;
    }

    .about .about-right {
        padding: 0;
        width: 100%;
        margin: 3mm 0 3mm 3mm;
        border-radius: 3mm 0 0 3mm;
    }

    .about .about-right h3 {
        display: none;
    }

    .about .about-right p {
        padding: 2mm;
        margin: 0 15mm 0 0;
        font-size: 2.7mm;
        font-weight: bold;
        line-height: 1.5;
        line-break: loose;
        width: 125mm;
    }

    .about-address {
        padding: 2mm;
        margin: 0;
        font-size: 2.7mm;
    }

    .about-address li {
        margin: 0;
        line-height: 3.2mm;
    }

    .about-address-text li:nth-child(1) {
        width: 20mm;
    }

    .about-address-text li:nth-child(2) {
        font-weight: 600;
    }

    .projects {
        grid-area: projects;
        overflow: hidden;
        padding: 0;
        margin: 0;
    }

    .projects h2 {
        padding: 2mm 0 0 0;
        font-size: 6mm;
    }

    .projects .project-filter {
        position: absolute;
        border-bottom: none;
        display: none;
    }

    .project-grid {
        position: block;
        margin: 0;
        display: flex;
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
        max-width: 145mm;
        width: 145mm;
    }

    .projects .project-item {
        background: transparent;
        width: 46%;
        padding: 0.5mm 2mm 0 0;
        margin: 0;
        height: auto;
    }

    .projects .project-item img,
    .projects .project-item .project-tech span,
    .projects .project-item .project-desc,
    .projects .project-item .project-link {
        display: none;
    }

    .projects .project-item-form {
        padding: 0;
        margin: 0;
        display: block;
        width: 100%;
        border: none;
        background-color: transparent;
        width: 100%;
        max-width: auto;
        min-height: auto;
        max-height: auto;
    }

    .projects .project-item .project-title {
        font-size: 3.5mm;
        padding: 0;
        margin: 0;
        font-weight: normal;
        color: #fff;
        font-stretch: ultra-condensed;
    }

    .projects .project-item .project-tech {
        font-size: 1.5mm;
        padding: 0;
        margin: 0;
        font-weight: normal;
        color: var(--my-yellow);
        font-stretch: ultra-condensed;
    }


    .skills {
        padding: 0 3mm 0 3mm;
        grid-area: skills;
        overflow: hidden;
        background-size: cover;
        flex-direction: column;
        justify-content: start;
        margin: 0;
    }

    .skills h2 {
        font-size: 6mm;
        padding: 2mm 0 0 0;
        margin: 0;
    }

    .skills .skills-capabilities {
        padding: 2mm;
        width: 60mm;
    }

    .skills .skills-capabilities div {
        display: inline;
        padding-top: 1mm;
    }

    .skills .skills-capabilities h4 {
        padding: 0;
        margin: 0;
        font-size: 5mm;
    }

    .skills .skills-capabilities p {
        font-size: 3mm;
        font-stretch: ultra-condensed;
        width: 100%;
        margin-bottom: 0;
    }

    .skills .skills-bars div h4 {
        padding: 0;
        margin-bottom: 2mm;
    }

    .skills .skills-bars div {
        padding: 2mm;
    }

    .skills .skills-bars div div {
        padding: 1.6mm;
        line-height: 1.8mm;
    }

    .skills .skills-bars h4 {
        padding: 5mm 0 0 0;
        margin: 0;
        margin-bottom: 0;
        font-size: 7mm;
    }

    .skills .skills-bars .skills-bar-label {
        font-size: 3.5mm;
        font-stretch: ultra-condensed;
    }

    .skills .skills-bars progress {
        margin-bottom: 5px;
    }

    .skills .skills-bars .skills-bar-label:first-of-type,
    .skills .skills-bars .skills-bar-label:nth-of-type(6),
    .skills .skills-bars .skills-bar-label:nth-of-type(7) {
        font-size: 3.2mm;
    }


    .journey {
        grid-area: journey;
        overflow: hidden;
        margin: 0;
        padding: 0 0 0 7mm;
        display: grid;
        grid-template-areas:
            "journey-experience journey-studies"
        ;
        grid-template-columns: 65mm 75mm;
    }

    .journey div {
        margin: 0;
        padding: 0;
        border: none;
    }

    .journey div h2 {
        margin: 0;
        padding: 2mm 0 0 0;
        font-size: 6mm;
    }

    .journey-experience,
    .journey-studies {
        grid-template-rows: 4mm 1fr;
        grid-template-columns: 15mm 1fr;
    }

    .journey .journey-experience-title span:first-of-type::after,
    .journey .journey-studies-title span:first-of-type::after {
        content: "- ";
    }

    .journey .journey-experience-title,
    .journey .journey-studies-title {
        margin: 0;
        padding: 0;
        font-size: 3.5mm;
        justify-content: left;
    }

    .journey .journey-experience-role h4 {
        font-size: 3mm;
        margin: 0;
    }

    .journey .journey-studies-academy {
        font-stretch: 0.2;
        font-size: 2.5mm;
        margin: 0;
    }

    .journey .journey-experience-desc,
    .journey .journey-studies-desc {
        font-size: 2.5mm;
        line-height: 3mm;
        margin: 0;
        padding: 0 2mm 0 2mm;
    }
}