@import url("fontawesome-all.min.css");
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic");

/*
    Strata by HTML5 UP (Simplified Version)
    Otimizado para Portfólio Pessoal
*/

/* --- 1. RESET E BÁSICOS --- */
html, body, div, span, h1, h2, h3, h4, h5, h6, p, a, img, ol, ul, li, form, label, article, aside, footer, header, section {
    margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;
}
article, aside, footer, header, section { display: block; }
body { line-height: 1; -webkit-text-size-adjust: none; background: #fff; }
ol, ul { list-style: none; }

/* Tipografia e Cores Base */
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }

body.is-preload *, body.is-preload *:before, body.is-preload *:after {
    -moz-animation: none !important; -webkit-animation: none !important; animation: none !important;
    -moz-transition: none !important; -webkit-transition: none !important; transition: none !important;
}

body, input, textarea {
    color: #a2a2a2;
    font-family: "Source Sans Pro", Helvetica, sans-serif;
    font-size: 16pt;
    font-weight: 400;
    line-height: 1.75em;
}

a {
    transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
    border-bottom: dotted 1px; color: #49bf9d; text-decoration: none;
}
a:hover { border-bottom-color: transparent; color: #49bf9d !important; text-decoration: none; }
strong, b { color: #787878; font-weight: 400; }
p { margin: 0 0 2em 0; }
h1, h2, h3, h4, h5, h6 { color: #787878; font-weight: 400; line-height: 1em; margin: 0 0 1em 0; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; text-decoration: none; }
h1 { font-size: 2em; line-height: 1.5em; }
h2 { font-size: 1.5em; line-height: 1.5em; }
h3 { font-size: 1.25em; line-height: 1.5em; }

/* --- 2. LAYOUT & GRID (Container, Row, Cols) --- */
.container { margin: 0 auto; max-width: calc(100% - 4em); width: 100%; }

/* Flex Grid Simplificado */
.row { display: flex; flex-wrap: wrap; box-sizing: border-box; align-items: stretch; margin-top: 0; margin-left: -2.5em; }
.row > * { box-sizing: border-box; padding: 0 0 0 2.5em; }
.row.gtr-uniform { margin-top: -2.5em; }
.row.gtr-uniform > * { padding-top: 2.5em; }

/* Colunas (Mantivemos as que usas e as principais divisões) */
.col-4 { width: 33.33333%; }
.col-6 { width: 50%; }
.col-8 { width: 66.66667%; }
.col-12 { width: 100%; }

/* Gutters (Espaçamentos) usados no teu HTML */
.row.gtr-50 { margin-top: 0; margin-left: -1.25em; }
.row.gtr-50 > * { padding: 0 0 0 1.25em; }
.row.gtr-50.gtr-uniform { margin-top: -1.25em; }
.row.gtr-50.gtr-uniform > * { padding-top: 1.25em; }

/* --- 3. COMPONENTES --- */

/* Form (Simplificado para Texto/Email/Textarea) */
form { margin: 0 0 2em 0; }
label { color: #787878; display: block; font-size: 0.9em; font-weight: 400; margin: 0 0 1em 0; }
input[type="text"], input[type="email"], textarea {
    -moz-appearance: none; -webkit-appearance: none; appearance: none;
    background: #f7f7f7; border-radius: 0.35em; border: solid 2px transparent;
    color: inherit; display: block; outline: 0; padding: 0 0.75em; text-decoration: none; width: 100%;
}
input[type="text"]:focus, input[type="email"]:focus, textarea:focus { border-color: #49bf9d; }
input[type="text"], input[type="email"] { height: 2.75em; }
textarea { padding: 0.75em; }
::-webkit-input-placeholder { color: #b2b2b2 !important; opacity: 1.0; }
:-moz-placeholder { color: #b2b2b2 !important; opacity: 1.0; }

/* Icons */
.icon { text-decoration: none; border-bottom: none; position: relative; }
.icon:before {
    -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased;
    display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto;
    line-height: 1; text-transform: none !important; font-family: 'Font Awesome 5 Free'; font-weight: 400;
}
.icon > .label { display: none; }
.icon.solid:before { font-weight: 900; }
.icon.brands:before { font-family: 'Font Awesome 5 Brands'; }

ul.icons { cursor: default; list-style: none; padding-left: 0; }
ul.icons li { display: inline-block; padding: 0 1em 0 0; }
ul.icons li:last-child { padding-right: 0; }
ul.icons li .icon:before { font-size: 1.5em; }

ul.labeled-icons { list-style: none; padding: 0; }
ul.labeled-icons li { line-height: 1.75em; margin: 1.5em 0 0 0; padding-left: 2.25em; position: relative; }
ul.labeled-icons li:first-child { margin-top: 0; }
ul.labeled-icons li a { color: inherit; }
ul.labeled-icons li h3 { color: #b2b2b2; left: 0; position: absolute; text-align: center; top: 0; width: 1em; }

/* Imagens e Avatares */
.image { border-radius: 0.35em; border: 0; display: inline-block; position: relative; }
.image img { border-radius: 0.35em; display: block; }
.image.fit { display: block; margin: 0 0 2em 0; width: 100%; }
.image.fit img { width: 100%; }
.image.avatar { border-radius: 100%; }
.image.avatar img { border-radius: 100%; width: 100%; }

/* Thumbnails (Portfólio) */
.image.thumb { text-align: center; }
.image.thumb:after {
    transition: opacity 0.2s ease-in-out;
    border-radius: 0.35em; border: solid 3px rgba(255, 255, 255, 0.5); color: #fff;
    content: 'View'; display: inline-block; font-size: 0.8em; font-weight: 400;
    left: 50%; line-height: 2.25em; margin: -1.25em 0 0 -3em; opacity: 0; padding: 0 1.5em;
    position: absolute; text-align: center; top: 50%; white-space: nowrap;
}
.image:before {
    transition: opacity 0.2s ease-in-out;
    background: url("images/overlay.png"); border-radius: 0.35em; content: '';
    display: block; height: 100%; left: 0; opacity: 0.5; position: absolute; top: 0; width: 100%;
}
.image.thumb:hover:after { opacity: 1.0; }
.image.thumb:hover:before { background: url("images/overlay.png"), url("images/overlay.png"); opacity: 1.0; }

/* Botões */
input[type="submit"], .button {
    -moz-appearance: none; -webkit-appearance: none; appearance: none;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out;
    background-color: transparent; border-radius: 0.35em; border: solid 3px #efefef;
    color: #787878 !important; cursor: pointer; display: inline-block;
    font-weight: 400; height: 3.15em; line-height: 2.75em; min-width: 10em;
    padding: 0 1.5em; text-align: center; text-decoration: none; white-space: nowrap;
}
input[type="submit"]:hover, .button:hover { border-color: #49bf9d; color: #49bf9d !important; }
.button.primary { background-color: #49bf9d; border-color: #49bf9d; color: #ffffff !important; }
.button.primary:hover { background-color: #5cc6a7; border-color: #5cc6a7; }
.button.icon { padding-left: 1.35em; }
.button.icon:before { margin-right: 0.5em; }

/* Work Item (Secção de Projetos) */
.work-item { margin: 0 0 2em 0; }
.work-item .image { margin: 0 0 1.5em 0; }
.work-item h3 { font-size: 1em; margin: 0 0 0.5em 0; }
.work-item p { font-size: 0.8em; line-height: 1.5em; margin: 0; }

/* Listas de Ações */
ul.actions { display: flex; cursor: default; list-style: none; margin-left: -1em; padding-left: 0; }
ul.actions li { padding: 0 0 0 1em; vertical-align: middle; }

/* --- 4. SECÇÕES ESPECÍFICAS --- */

/* Header (Barra Lateral) */
#header {
    display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between;
    background-color: #1f1815;
    /* Mantendo a tua configuração exata */
    background-attachment: scroll;
    background-image: url("images/overlay.png"), linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.8)), url("../../images/bg.jpg");
    background-position: top left;
    background-repeat: repeat, no-repeat;
    background-size: auto, auto, cover;
    color: rgba(255, 255, 255, 0.5);
    height: 100%; left: 0; padding: 8em 4em; position: fixed; text-align: right; top: 0; width: 35%;
}
#header > .inner { flex-grow: 1; margin: 0 0 2em 0; }
#header strong, #header b, #header h2, #header h3 { color: #ffffff; }
#header h1 { color: rgba(255, 255, 255, 0.5); font-size: 1.35em; line-height: 1.75em; margin: 0; }
#header .image.avatar { margin: 0 0 1em 0; width: 6.25em; }

/* Footer (Rodapé Lateral) */
#footer .icons { margin: 1em 0 0 0; }
#footer .icons a { color: rgba(255, 255, 255, 0.4); }
#footer .copyright { color: rgba(255, 255, 255, 0.4); font-size: 0.8em; list-style: none; margin: 1em 0 0 0; padding: 0; }
#footer .copyright li { border-left: solid 1px rgba(255, 255, 255, 0.25); display: inline-block; line-height: 1em; margin-left: 0.75em; padding-left: 0.75em; }
#footer .copyright li:first-child { border-left: 0; margin-left: 0; padding-left: 0; }

/* Main (Conteúdo Principal) */
#main { margin-left: 35%; max-width: 54em; padding: 8em 4em 4em 4em; width: calc(100% - 35%); }
#main > section { border-top: solid 2px #efefef; margin: 4em 0 0 0; padding: 4em 0 0 0; }
#main > section:first-child { border-top: 0; margin-top: 0; padding-top: 0; }

/* --- 5. RESPONSIVIDADE (MEDIA QUERIES) --- */

@media screen and (max-width: 1280px) { /* Large */
    #header { padding: 6em 3em 3em 3em; width: 30%; }
    #header h1 { font-size: 1.25em; }
    #main { margin-left: 30%; padding: 6em 3em 3em 3em; width: calc(100% - 30%); }
}

@media screen and (max-width: 980px) { /* Medium - Mobile/Tablet Layout */
    body, input, textarea { font-size: 12pt; } /* Ajuste de fonte vindo do XLarge */
    
    #header {
        background-attachment: scroll;
        background-position: top left, center center;
        background-size: auto, cover;
        left: auto; padding: 6em 4em; position: relative; text-align: center; top: auto; width: 100%; display: block;
    }
    #header h1 { font-size: 1.75em; }
    
    #footer {
        background-attachment: scroll; background-color: #1f1815;
        background-image: url("images/overlay.png"), url("../../images/bg.jpg");
        background-position: top left, bottom center; background-repeat: repeat, no-repeat;
        background-size: auto, cover; bottom: auto; left: auto; padding: 4em 4em 6em 4em; position: relative; text-align: center; width: 100%;
    }
    
    #main { margin: 0; padding: 6em 4em; width: 100%; }
}

@media screen and (max-width: 736px) { /* Small */
    h1 { font-size: 1.5em; } h2 { font-size: 1.2em; } h3 { font-size: 1em; }
    #header, #footer { padding: 2.25em 1.5em; }
    #main { padding: 2.25em 1.5em 0.25em 1.5em; }
    #main > section { margin: 2.25em 0 0 0; padding: 2.25em 0 0 0; }
    
    /* Grid Mobile */
    .row { margin-left: -1.5em; } .row > * { padding-left: 1.5em; }
    .col-12-small { width: 100%; }
    .col-6 { width: 100%; } /* Força colunas de 50% a ficarem 100% em mobile */
}

@media screen and (max-width: 480px) { /* XSmall */
    #header { padding: 4.5em 1.5em; }
    ul.actions { flex-direction: column; margin-left: 0; }
    ul.actions li { padding: 1em 0 0 0; }
    .col-12-xsmall { width: 100%; }
}

/* --- 6. POPTROX (Lightbox) --- */
/* Necessário para o zoom das imagens funcionar */
.poptrox-popup { background: #fff; border-radius: 0.35em; box-shadow: 0 0.1em 0.15em 0 rgba(0, 0, 0, 0.15); overflow: hidden; padding-bottom: 3em; }
.poptrox-popup .loader { text-decoration: none; font-size: 1.5em; height: 1em; left: 50%; margin: -0.5em 0 0 -0.5em; position: absolute; top: 50%; width: 1em; }
.poptrox-popup .caption { background: #fff; bottom: 0; cursor: default; font-size: 0.9em; height: 3em; left: 0; line-height: 2.8em; position: absolute; text-align: center; width: 100%; z-index: 1; }
.poptrox-popup .nav-next, .poptrox-popup .nav-previous { text-decoration: none; background: rgba(0, 0, 0, 0.01); cursor: pointer; height: 100%; opacity: 0; position: absolute; top: 0; width: 50%; transition: opacity 0.2s ease-in-out; }
.poptrox-popup .nav-next { right: 0; } .poptrox-popup .nav-previous { left: 0; }
.poptrox-popup .closer { text-decoration: none; color: #fff; height: 4em; line-height: 4em; opacity: 0; position: absolute; right: 0; text-align: center; top: 0; width: 4em; z-index: 2; transition: opacity 0.2s ease-in-out; }
.poptrox-popup:hover .nav-next, .poptrox-popup:hover .nav-previous, .poptrox-popup:hover .closer { opacity: 0.5; }
.poptrox-popup:hover .nav-next:hover, .poptrox-popup:hover .nav-previous:hover, .poptrox-popup:hover .closer:hover { opacity: 1.0; }