:root {
	/* Rosé Pine Dawn */
	--rp-base: 250, 244, 237;
	--rp-surface: 255, 250, 243;
	--rp-overlay: 242, 233, 222;
	--rp-muted: 152, 147, 165;
	--rp-subtle: 121, 117, 147;
	--rp-text: 87, 82, 121;
	--rp-love: 180, 99, 122;
	--rp-gold: 234, 157, 52;
	--rp-rose: 215, 130, 126;
	--rp-pine: 40, 105, 131;
	--rp-foam: 86, 148, 159;
	--rp-iris: 144, 122, 169;
	--rp-highlight-low: 244, 237, 232;
	--rp-highlight-med: 223, 218, 217;
	--rp-highlight-high: 206, 202, 205;
    --html-padding: 25px;
    --container-padding: 1.5em;
    --max-width: 1080px;
}

@media (prefers-color-scheme: dark) {
	:root {
        /* Rosé Pine Moon */
		--rp-base: 35, 33, 54;
		--rp-surface: 42, 39, 63;
		--rp-overlay: 57, 53, 82;
		--rp-muted: 110, 106, 134;
		--rp-subtle: 144, 140, 170;
		--rp-text: 224, 222, 244;
		--rp-love: 235, 111, 146;
		--rp-gold: 246, 193, 119;
		--rp-rose: 234, 154, 151;
		--rp-pine: 62, 143, 176;
		--rp-foam: 156, 207, 216;
		--rp-iris: 196, 167, 231;
		--rp-highlight-low: 42, 40, 62;
		--rp-highlight-med: 68, 65, 90;
		--rp-highlight-high: 86, 82, 110;
	}
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    font-family: 'Atkinson Hyperlegible Next', Arial, Helvetica, sans-serif;
    box-sizing: border-box;
}

body {
    margin: 0;
    background-color: rgb(var(--rp-base));
    color: rgb(var(--rp-text));
}

header {
    background: linear-gradient(90deg, rgba(var(--rp-foam), 0.9) 0%, rgb(var(--rp-love)) 20%, rgb(var(--rp-rose)) 75%, rgb(var(--rp-gold)) 100%);
	background-size: 120% 120%;
    animation: gradient 15s ease infinite;
    color: rgba(var(--rp-surface));
    text-align: center;
}

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	20% {
		background-position: 100% 40%;
	}
	75% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}


header p {
    font-weight: 500;
    font-size: 1.15em;
}

/**
* Render the `main` element consistently in IE.
*/

main {
    display: block;
}

/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/

h1 {
    font-size: 2.5em;
    margin: 0.67em 0;
    color: rgb(var(--rp-surface));
}

h2 {
    color: rgb(var(--rp-rose))
}

h3:not(.project-container h3) {
    color: rgb(var(--rp-foam))
}

/* Grouping content
    ========================================================================== */

/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/

#hero, #about-me {
    padding: .5em var(--html-padding)
}

hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
}

li {
    margin-top: 0.4em;
    margin-bottom: 0.4em;
}

ul li::marker {
    color: rgb(var(--rp-rose))
}

ul li:nth-child(even)::marker {
    color: rgb(var(--rp-love))
}

pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
}

a {
    color: rgb(var(--rp-iris));
    text-decoration: none;
    background-color: transparent;
    transition: all .3s ease-in-out;
}

a:hover {
    color: rgb(var(--rp-gold));
}


abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
}

b, strong {
    font-weight: bolder;
}

code, kbd, samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

img {
    border-style: none;
    max-width: 100%;
    height: auto;
}

button, input, optgroup, select, textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
}

button, input { /* 1 */
    overflow: visible;
}

button, select { /* 1 */
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
* Correct the padding in Firefox.
*/

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
*    `fieldset` elements in all browsers.
*/

legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
}

/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/

progress {
    vertical-align: baseline;
}

/**
* Remove the default vertical scrollbar in IE 10+.
*/

textarea {
    overflow: auto;
}

/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/

[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    appearance: textfield;
    outline-offset: -2px; /* 2 */
}

/**
* Remove the inner padding in Chrome and Safari on macOS.
*/

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
}

details {
    display: block;
}

summary {
    display: list-item;
}

mark {
    font-weight: 500;
    color: rgb(var(--rp-text));
    border-radius: 10px 0/100px 20px;
    padding: .01em .23em;
    margin: 0 -0.23em;
    background: linear-gradient(to right,rgba(var(--rp-gold), 0.3) 0%, rgba(var(--rp-gold), 0.4) 60%, rgba(var(--rp-gold), 0.4) 60%, rgba(var(--rp-gold), 0.3) 85%, rgba(var(--rp-gold), 0.35) 100%)
}

template {
    display: none;
}

[hidden] {
    display: none;
}

code {
    background-color: rgba(var(--rp-rose), 0.3);
    border: .1px solid rgba(var(--rp-rose), 0.4);
    border-radius: 3.5px;
    padding: 0 0.25em;
}

body > section {
    padding: 1em 1.7em;
}

section:not(.project-container) > * {
    margin-left: auto;
    margin-right: auto;
    max-width: 1080px;
}

.legible {
    background-color: rgb(var(--rp-surface));
}

.love {
    color: rgb(var(--rp-love))
}

.gold {
    color: rgb(var(--rp-gold))
}

.rose {
    color: rgb(var(--rp-rose))
}

.pine {
    color: rgb(var(--rp-pine))
}

.foam {
    color: rgb(var(--rp-foam))
}

.iris {
    color: rgb(var(--rp-iris))
}

#my-stacks section{
    display: grid;
    grid-template-columns: 3;
    column-count: 4;
    grid: repeat(1, auto) / auto-flow 1fr; 
}

#my-stacks svg {
    fill: rgb(var(--rp-subtle));
    min-width: 2em;
    min-height: 2em;
    width: 3em;
    height: 3em;
}

#my-stacks .knowledge, .project-container {
    background-color: rgb(var(--rp-surface));
    border-radius: 10px;
    padding: 1.5em;
    border: 1px solid rgba(var(--rp-overlay), 0.6);
}

#my-stacks .knowledge, .project-container:not(:last-child) {
    margin-bottom: 1em;
}

.knowledge {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    min-width: 5em;
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 0;
}

.project-container {
    display: flex;
    flex: 1 0 auto;
    gap: 2em;
    box-shadow: 0px 0px 10px rgba(var(--rp-highlight-low));
}

.project-container > div {
    flex: 3 0 1;
}

.project-container img {
    border: 1px solid rgb(var(--rp-highlight-high));
}

.company-logo {
    fill: rgb(var(--rp-text))!important;
    max-width: 25vw;
    width: 7em;
}

#my-stacks .knowledge {
    text-align: center;
}

#my-stacks span {
    line-height: 2;
}

@supports (-webkit-appearance: none) {
    /* Estilos só para navegadores com WebKit (Chrome, Safari) */
    #my-stacks span {
        white-space: nowrap;
        transform: scale(0.8);
    }
}

@supports not (-webkit-appearance: none) {
    /* Estilos só para navegadores com WebKit (Chrome, Safari) */
    #my-stacks span {
        white-space: nowrap;
        font-size: 75%;
    }
}

#my-stacks .knowledge:nth-child(even) {
    border: 1px solid rgba(var(--rp-rose), 0.6)!important;
}

#my-stacks .knowledge:nth-child(odd) {
    border: 1px solid rgba(var(--rp-foam), 0.6)!important;
}

.border-radius-5 {
    border-radius: 5px;
}

.border-radius-10 {
    border-radius: 10px;
}

button {
    position: relative;
    background: linear-gradient(90deg, rgba(var(--rp-iris), 1), rgba(var(--rp-rose), 1) 100%, rgba(var(--rp-gold), 1) 100%);
    border: none;
    font-size: 1.2em;
    padding: .4em 1em;
    z-index: 1;
    transition: background 5s ease;
}

button svg {
    max-width: 1em;
    max-height: .8em;
    width: auto;
    height: .8em;
    fill: rgba(var(--rp-base));
    margin-right: .4em;
}

.git-btn {
    background: linear-gradient(90deg, rgba(var(--rp-gold), 1), rgba(var(--rp-foam), 1) 100%, rgba(var(--rp-iris), 1) 100%);
}

.git-btn::before {
    background: linear-gradient(90deg, rgba(var(--rp-gold), 1) 0, rgba(var(--rp-foam), 1) 0, rgba(var(--rp-iris), 1) 100%);
}

button::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(90deg, rgba(var(--rp-iris), 1) 0, rgba(var(--rp-rose), 1) 0, rgba(var(--rp-gold), 1) 100%);
    z-index: -1;
    transition: opacity 0.5s linear;
    opacity: 0;
    border-radius: 5px;
}

button:hover::before {
    opacity: 1;
}

a button {
    color: rgba(var(--rp-base))!important;
    font-weight: 500;
    cursor: pointer;
}

.flex-container {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;    
    padding: 0;
    margin: 0 auto;
    gap: 2em;
    list-style: none;
}

footer {
    margin-top: 2em;
    background-color: rgba(var(--rp-overlay), .8);
    padding: 1em;
    text-align: center;
}

footer svg {
    width: 1.5em;
    height: 1.5em;
    fill:rgba(var(--rp-subtle), 1);
    margin: 0 0.25em;
    transition: fill .2s ease-in-out
}

footer svg:hover {
    fill:rgba(var(--rp-iris), 1);    
}

.square-border {
  border: 2.5px solid rgba(var(--rp-subtle), 1);
  padding: 0 0.01em 0.01em 0.01em;
}

.square-border:hover {
  border-color: rgba(var(--rp-iris), 1);
}

@media screen and (min-width:801px) {
    .project-container img {
        max-width: 40%;
        height: 100%;
        align-self: center;
    }
}

@media screen and (max-width:800px) {
    img {
        max-width: 100%;
    }
    .project-container {
        display: flex;
        flex-direction: column
    }
    .flex-container {
        gap: 1.2sem
    }

    #my-stacks .knowledge {
        padding: 1em;
    }
}