/*
//scott-pell
//plombier
//2023
*/

html {
    -webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape while allowing user zoom */
}

* {
    padding: 0;
    border: 0;
    margin: 0;
    box-sizing: border-box;
    text-decoration: none;
    scroll-behavior: smooth;
    list-style-type: none;
}

@media (orientation:portrait) {

    .column {
        width: 100%;
        padding: 0 0 5vh 0;
    }

    .nav_item {
        width: 2vh;
        height: 2vh;
        border-radius: 1.5vh;
        margin: 1vh;
    }

}

@media (orientation:landscape) {
    .column {
        width: 50%;
        padding: 0 5% 0 0;
    }

    .nav_item {
        width: 2vw;
        height: 2vw;
        border-radius: 1.5vw;
        margin: 1vw;
    }
}

@media (max-width:600px) {

    h1 {
        padding: 0 0 10vh 0;
    }

    h3 {
        font-size: 1em;
    }

    p {
        font-size: 0.8em;
    }

    .table_item {
        width: 100%;
        padding: 0 0 20px 0;
    }

    .column {
        width: 100%;
    }

    .list_text {
        width: 100%;
    }
    

}

@media (min-width:600px) {

    h1 {
        padding: 0 0 10vh 0;
    }

    h3 {
        font-size: 1.2em;
    }

    p {
        font-size: 0.8em
    }

    .table_item {
        width: 50%;
        padding: 0 6vw 20px 0;
    }

}

@media (min-width:900px) {

    h3 {
        font-size: 1.35em;
    }

    p {
        font-size: 0.9em;
    }

    .table_item{
        width: 50%;
        padding: 0 4vw 20px 0;
    }

}

@media (min-width:1200px) {

    h1 {
        padding: 0 0 10vh 0;
    }

    h3 {
        font-size: 1.5em;
    }

    p {
        font-size: 1em;
    }


}

h1, h2, h3 {
    font-family: 'Roboto', sans-serif;

    letter-spacing: -0.04em;
}

h1 {
    font-size: 7vw;
}

h2 {
    font-size: 6vw;
    letter-spacing: -0.04em;
    padding: 0 0 10vh 0;
}

h3 {
    letter-spacing: -0.04em;
    padding: 0 0 20px 0;
}

p {
    font-family: 'Crimson Text', serif;
    letter-spacing: -0.02em;
    padding: 0 0 10px 0;
}

.strong {
    font-weight: 700;
} 

.gradient {
    background-image: url('images/plombier.png');
    background-size: cover;
    -webkit-background-clip: text;
    -moz-background-clip: text;
    -webkit-text-fill-color: transparent; 
    -moz-text-fill-color: transparent;
    background-clip: text;
}

@supports (-webkit-touch-callout: none) {
    .gradient {
        background-attachment: scroll;
    }
}

@supports not (-webkit-touch-callout: none) {
    .gradient {
        background-attachment: fixed;
    }
}

.italic {
    font-style: italic;
}

a {
    color: inherit;
}

a:hover {
    color: #f4c2c2;
}

.shadow {
    text-shadow: 0.1vw 0.2vw 0.1vw rgba(0,0,0,0.3);
}

/* layout styling */

body {
    width: 100%;
}


.content_item {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 100vh;
    padding: 10vh 10vw;
    overflow: hidden;
    scroll-snap-align: start;
}

.content_table {
    padding: 20px 0 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 100%;
}

.contact {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}

.column {
    overflow: visible;
}

/* about page styling */


/* links page styling */

#links {
    background-color: #111;
    color: #fff;
    flex-direction: row;
}

#links h2 {
    font-size: 4vw;
    padding: 0 0 3vh 0;
}

.list_text li {
    padding: 5 0 5 0;
    font-family: 'Roboto', sans-serif;
    letter-spacing: -0.04em;
    font-size: 1.6em;
    font-weight: 100;
    width: 100%;
}

.list_icons {
    padding: 0 0 2vh 0;
}

.list_icons li {
    display: inline-block;
    padding: 0 2vw 2vw 0;
}

.list_icons i {
    font-size: 2em;
}

#links_reimagine {
    background: linear-gradient(110deg, #f4c2c2 50%, #fc9680 50%) no-repeat right bottom / 0 var(--bg-h);
    transition: color 350ms, background-size 350ms;
    --bg-h: 100%;
}

#links_reimagine:where(:hover, :focus-visible) {
    background-size: 100% var(--bg-h);
    background-position-x: left;
    color:#111
}

#links_union {
    background: linear-gradient(0deg, #254d6d, #254d6d) no-repeat right bottom / 0 var(--bg-h);
    transition: color 350ms, background-size 350ms;
    --bg-h: 100%;
}

#links_union:where(:hover, :focus-visible) {
    background-size: 100% var(--bg-h);
    background-position-x: left;
    color:#fff
}

#links_feedbacker {
    background: linear-gradient(0deg, #5ee3a5, #5ee3a5) no-repeat right bottom / 0 var(--bg-h);
    transition: color 350ms, background-size 350ms;
    --bg-h: 100%;
}

#links_feedbacker:where(:hover, :focus-visible) {
    background-size: 100% var(--bg-h);
    background-position-x: left;
    color:#111
}


/* reimagine page styling */


#reimagine {
    background-color: #f4c2c2;
    background-image: linear-gradient(110deg, #f4c2c2 50%, #fc9680 50%);
}

#reimagine a:hover{
    color: #fff;
}

#union {
    background-color: #1d3c55;
    color: #fff;
}

#feedbacker {
    background-color: #5ee3a5;
}

#feedbacker a:hover{
    color: #9e4790;
}

/* nav styling */

.content_nav {
    display: flex;
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 4vh;
    justify-content: center;
    align-items: center;
    flex: row;
}

.nav_item {
    transition: transform 0.3s;
}

.nav_item:hover {
    transform: scale(1.5);
}

.nav_about {
    background-color: #fff;
}

.nav_links {
    background-color: #111;
}

.nav_reimagine {
    background-color: #f4c2c2;
    background-image: linear-gradient(110deg, #f4c2c2 50%, #fc9680 50%);
}

.nav_union {
    background-color: #1d3c55;
}

.nav_feedbacker {
    background-color: #5ee3a5;
}



/* animation styling */

/* FADE-IN */

@keyframes left-to-right {
    0% {
      -webkit-transform: translateX(-20vw);
      transform: translateX(-20vw);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
      opacity: 1;
    }
}

@keyframes right-to-left {
    0% {
        -webkit-transform: translateX(20vw);
        transform: translateX(20vw);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes top-to-bottom {
    0% {
        -webkit-transform: translateY(-20vh);
        transform: translateY(-20vh);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes bottom-to-top {
    0% {
        -webkit-transform: translateY(20vh);
        transform: translateY(20vh);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes fade {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.active.left-to-right{
    animation: left-to-right 600ms ease-in-out both;
}

.active.right-to-left{
    animation: right-to-left 600ms ease-in-out both;
}

.active.top-to-bottom{
    animation: top-to-bottom 600ms ease-in-out both;
}

.active.bottom-to-top{
    animation: bottom-to-top 600ms ease-in-out both;
}

.active.fade{
    animation: fade 600ms ease-in-out both;
}

/* FADE-OUT */
/* (fade-in classes in reverse) */

@keyframes reverse-left-to-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
      }
    100% {
      -webkit-transform: translateX(-20vw);
      transform: translateX(-20vw);
      opacity: 0;
    }
}

@keyframes reverse-right-to-left {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
    100% {
        -webkit-transform: translateX(20vw);
        transform: translateX(20vw);
        opacity: 0;
    }

}

@keyframes reverse-top-to-bottom {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
    100% {
        -webkit-transform: translateY(-20vh);
        transform: translateY(-20vh);
        opacity: 0;
    }
}

@keyframes reverse-bottom-to-top {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
    100% {
        -webkit-transform: translateY(20vh);
        transform: translateY(20vh);
        opacity: 0;
    }
}

@keyframes reverse-fade {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.inactive.left-to-right{
    animation: reverse-left-to-right 600ms ease-in-out both;
}

.inactive.right-to-left{
    animation: reverse-right-to-left 600ms ease-in-out both;
}

.inactive.top-to-bottom{
    animation: reverse-top-to-bottom 600ms ease-in-out both;
}

.inactive.bottom-to-top{
    animation: reverse-bottom-to-top 600ms ease-in-out both;
}

.inactive.fade{
    animation: reverse-fade 600ms ease-in-out both;
}

/* opacity removed / added by adding classes active / inactive using js */
/* this allows viewing of elements if js is disabled */

.js-scroll.active {
    opacity: 1;   
}

.js-scroll.inactive {
    opacity: 0;
    transition: 600ms;
}
