/*
Theme Name: Piotr Sztucki-Szewcow
Author: Sławek Orliński
Author URI: https://pl.linkedin.com/in/s%C5%82awomir-orli%C5%84ski-793a18b9
Theme URI: 
Tags: full-site-editing
Text Domain: piotr-sztucki-szewcow
Requires at least: 6.1
Requires PHP: 7.4
Tested up to: 6.2
Version: 1.0.3

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* RESETS */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) { all: unset; display: revert }
*, *::before, *::after { box-sizing: border-box }
html, body { overflow: hidden; touch-action: none; height: 100vh; appearance: none; margin: 0; border: none; outline: none; -moz-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none }
html:active, body:active { outline: none }
a, button { cursor: revert }
table { border-collapse: collapse }
input, textarea { -webkit-user-select: auto; user-select: auto }
textarea { white-space: revert }
::placeholder { color: unset }
ol, ul, menu, summary { list-style: none }
:where([hidden]), ::-webkit-details-marker, #nav { display: none }
::-webkit-scrollbar { width: 0 }
img { max-inline-size: 100%; max-block-size: 100% }
q { quotes: none }
input[type=range] { display: none }

/* VARIABLES */
:root {
    --color--main: rgba(216 251 80 / 100%);
    --color--alt: rgba(82 79 240 / 100%);
    --color--white: rgba(255 255 255 / 100%);
    --color--black: rgba(14 15 25 / 100%);
    --color--gray: rgba(62 64 77 / 100%);
    --color--light: rgba(237 241 245 / 100%);

    --font--main: 'Open Sans Condensed', sans-serif;
    --font--alt: 'Open Sans', sans-serif;
    --font--featured: 'Oswald', sans-serif;

    --weight--featured: 500;
}

/* BODY */
body {
    color: var(--color--black);
    font-family: var(--font--main);
    font-size: 25px;
    font-style: normal;
    font-weight: 300;
    line-height: 30px;
}
strong {
    font-weight: 700;
    position: relative;
    display: inline-flex;
}
p { position: relative; padding: 0 26px }
mark {
    background-color: var(--color--main);
    display: flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-family: Oswald;
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
}
/* NAV */
nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-family: var(--font--featured);
    font-weight: 700;
    font-size: 24px;
    width: 100vw;
    text-transform: uppercase;
    position: fixed;
    z-index: 10;
}
ol {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    width: 50px;
    height: 50px;
    padding: 11px;
    gap: 4.5px;
    border: 2px solid var(--color--alt);
    cursor: pointer;
}
nav>a {
    position: relative;
    margin-left: 12px;
}
nav path { fill: var(--color--light) }
:is(#nav:checked) + label :is(ol, ol li) { border-color: var(--color--light) }
:is(#nav:checked) + label { background-color: var(--color--alt) }
:is(nav>a,strong)::before {
    content: "";
    display: flex;
	position: absolute;
	bottom: 0;
    left: 0;
	width: 100%;
	height: 11px;
	background-color: var(--color--main);
	z-index: -1;
    transition: .5s all;
}
nav ul {
    display: flex;
    justify-content: center;
    gap: 15vw;
    padding: var(--data--childrens) 0;
    margin-top: calc(var(--data--childrens) * 2);
}
nav menu > li a {
    color: var(--color--light);
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
    padding: var(--data--childrens) 0;
}
nav:has(#nav:checked) { background: var(--color--white) }
nav ul a { display: flex }
ol li {
    height: 1px;
    width: 100%;
    border: 1px solid var(--color--alt);
    opacity: 1;
    transition-property: margin, width, transform, opacity;
    transition-duration: var(--anim--speed);
}
:is(#nav) + label ol li:nth-child(1) { transition-delay: 0s, var(--anim--speed), var(--anim--speed) }
:is(#nav) + label ol li:nth-child(2) { transition-delay: calc(var(--anim--speed) * 2), 0s, 0s }
:is(#nav) + label ol li:nth-child(3) { transition-delay: 0s, 0s, calc(var(--anim--speed) * 2), calc(var(--anim--speed) * 2) }
:is(#nav:checked) + label ol li:nth-child(1) {
    transition-delay: calc(var(--anim--speed) * 2), var(--anim--speed), var(--anim--speed);
    transform: rotate(-45deg) translate(-8px, 0px);
    width: 150%;
}
:is(#nav:checked) + label ol li:nth-child(2) {
    transition-delay: 0s, calc(var(--anim--speed) * 2), calc(var(--anim--speed) * 2);
    margin-left: 12.5px;
    width: 150%;
    transform: rotate(45deg) translate(-13px, 13px);
}
:is(#nav:checked) + label ol li:nth-child(3) {
    transition-delay: 0s, 0s, 0s, calc(var(--anim--speed) * 1.5);
    opacity: 0;
    transform: translateY(18.5px)
}
:is(nav) #nav + label { padding: 12px }
:is(nav) #nav + label menu { display: none }
:is(#nav:checked) + label menu {
    position: absolute;
    width: 100vw;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    left: 0;
    right: 0;
    text-align: center;
    height: calc(100vh - 72px);
    background: var(--color--alt);
    top: 73px;
}
/* SECTIONS */
section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100vw;
    padding: 26px 0;
    gap: 26px;
    background-size: 75vh;
    background-repeat: no-repeat;
    background-position: center bottom -100%;
    background-color: var(--color--white);
    transition: .6s transform ease;
}
section#contact {
    gap: 16px;
    justify-content: flex-end;
    padding-bottom: 0;
}
#about {
    justify-content: flex-end;
    z-index: 6;
    padding-bottom: 0;
    background-position: center bottom -20%;
}

/* SCROLLER */
dots {
    display: none;
    position: fixed;
    z-index: 100;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
dots button {
    height: 18px;
    width: 18px;
    border-radius: 50%;
    background-color: #333;
    opacity: .25;
    cursor: pointer;
    display: block;
    margin: 5px 0;
}
dots button.selected { opacity: 1 }

/* BUTTON */
a.button {
    background-color: var(--color--alt);
    color: var(--color--white);
    font-family: var(--font--featured);
    font-weight: var(--weight--featured);
    font-size: 16px;
    text-transform: uppercase;
    text-align: center;
    padding: 16px;
    border-radius: 16px;
    min-width: 280px;
    margin-top: 26px;
    margin-bottom: 26px;
}

/* HGROUP */
:is(#about) hgroup {
    background-color: var(--color--main);
    mix-blend-mode: multiply;
    font-family: var(--font--alt);
    color: var(--color--gray);
    font-weight: 700;
    font-size: 16px;
    padding: 0 32px 26px 32px;
    align-self: flex-end;
}
:is(#about) hgroup h2 {
    font-size: 134px;
    font-weight: 600;
    line-height: 130px;
}

q { display: none }
/* MISC */
:not(hgroup) > h2 {
    color: var(--color--black);
    font-family: 'Open Sans';
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    gap: 10px;
    display: flex;
    align-items: center;
    margin-right: 33px;
    margin-bottom: 26px;
    position: relative;
}
:not(hgroup) > h2::before {
    display: flex;
    content: url(../pss/assets/images/arrow.svg);
    width: 44px;
    height: 44px;
}
:not(hgroup) > h2::after {
    display: flex;
    content: "";
    width: 30%;
    height: 18px;
    background:  var(--color--main);
    position: absolute;
    right: -22px;
    bottom: 0;
    z-index: -1;
}
h3 {
    color: var(--color--black);
    font-family: 'Oswald';
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    text-transform: uppercase;
    margin-top: 10px;
}
#about h3 {
    font-size: 17px;
}

/* TO REMOVE */
.scroller figure {
    display: grid;
    width: 100vw;
    gap: 10px;
    position: relative;
    justify-items: center;
}
.scroller img {
    max-width: 80vw;
}
.scroller figure::before {
    display: flex;
    content: "";
    background: var(--color--main);
    width: 95vw;
    position: absolute;
    z-index: -1;
    aspect-ratio: 1.5;
    bottom: -40px;
    left: 5vw;
}
article:has(.scroller) {
    display: flex;
    overflow-x: auto;
    width: 100vw;
    scrollbar-width: none;
    position: relative;
}
article .scroller { display: flex }
article .scroller:has(figure) { margin: 50px 0 }
blockquote {
    display: flex;
    width: 94vw;
    flex-direction: column;
    justify-content: center;
    padding: 6vh 12vw 4vh;
    color: var(--color--black);
    font-family: 'Open Sans Condensed';
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.75;
    background-color: var(--color--main);
    margin: 3vw;
    position: relative;
}
blockquote cite {
    align-self: flex-end;
    color: var(--color--black);
    text-align: right;
    font-family: 'Oswald';
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    margin-top: 16px;
}
abbr {
    color: var(--color--black);
    font-family: Oswald;
    font-size: 146px;
    font-style: normal;
    font-weight: 700;
    line-height: .5;
    margin-bottom: -2vh;
}
address a { display: flex }
address a[href=""]:not(:empty) {
    justify-content: center;
    color: var(--color--black);
    background: var(--color--main);
    border-radius: 10vw;
    font-weight: 700;
    font-size: 24px;
    margin-bottom: 10px;
}
address {
    display: flex;
    flex-direction: column;
    gap: 4vh;
    margin: 5vh 0 7vh;
}
address a:first-child::before, address a:last-child::before {
    display: flex;
    width: 44px;
    height: 44px;
}

address a:first-child::before { content: url(../pss/assets/images/phone.svg) }
address a:last-child::before { content: url(../pss/assets/images/email.svg) }
#contact ul {
    display: flex;
    justify-content: space-between;
    gap: 64px;
    margin-bottom: 7vh;
}
#contact li {
    width: 50px;
}
#contact img {
    position: relative;
    bottom: 0;
}

/* EXPERIMENTAL */
body {
    display: flex;
    flex-wrap: wrap;
}