/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
/*# sourceMappingURL=normalize.min.css.map */

html {
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

a {
    text-decoration: none;
}

:root {
    --nav-background-color: #000;
    --nav-text-color: #FFF;
    --primary-background-color: #fff;
    --primary-color: #151515;
    --default-gap: 32px;
}

html {
    scroll-behavior: smooth;
    font-size: 100%;
}

@media screen and (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
    background-color: var(--primary-background-color);
    color: var(--primary-color);
    font-family: 'Lato', sans-serif;
    font-size: 1.2rem;
    margin: 0;
    min-height: 100vh;
}

.inside {
    margin: 0 auto;
    max-width: 1200px;  
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Raleway', sans-serif;
}

.top-bar {
    box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
    font-family: 'Hind', sans-serif;
    font-size: 1rem;
    padding: 0.75rem;
    text-transform: uppercase;
    position: fixed;
    width: 100%;
    background-color: #101010;
    z-index: 50;
    transition: padding 350ms;
    filter: drop-shadow(0 1px 2px #101010);
}

.top-bar .inside {
    display: flex;
    align-items: center;
}

#logo a, #logo img {
    display: block;
}

.logo {
    transition: width 350ms, height 350ms;
}

@media screen and (min-width: 680px) {
    .sticky-header {
        padding-block: 0.125rem;
    }
    .sticky-header .logo {
        height: 52px;
        width: auto;
    }
}

.primary-nav {
    margin-left: auto;
    display: flex;
    align-items: center;
}

.primary-nav a {
    color: #f5f5f5;
    display: block;
    padding: 1rem 1rem 0.75rem;
    touch-action: manipulation;
}

.primary-nav a:hover {
    color: #9dd3af;
}

.social-icon {
    padding: 0;
    margin-left: 1.5rem;
}

section {
    color: #151515;
    padding: 3rem 1rem;
}

section h2 {
    font-size: 1.5rem;
    margin: 0;
    padding: 0;
    margin-bottom: 1.5em;
    padding-bottom: 1rem;
    position: relative;
    text-align: center;
    text-transform: uppercase;
}

section h2::after {
    content: "";
    background-color: #cccccc;
    bottom: 2px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    height: 2px;
    position: absolute;
    width: 48px;
}

section.top h1 {
    font-size: 3.5rem;
    line-height: 1.2;
    margin: 0;
    margin-bottom: 4rem;
    padding: 0;
}

section.top {
    color: #fff;
    text-shadow: 3px 3px 2px rgba(30, 30, 30, 1);
    font-size: 1.5rem;
    padding-top: 8rem;
    position: relative;
    background: #101010 url(../images/bg.jpg) no-repeat center center fixed;
    background-size: cover;
    min-height: 65vh;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    filter: drop-shadow(0 2px 4px #101010)
}

section.top .inside {
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

section.top::after {
    content: '\A';
    background:rgba(0,0,0,0.50);
    position: absolute;
    height:100%;
    width: 100%; 
    left:0;
    top:0; 
}

section.inverted {
    background-color: #F8F8F8
}

.services {
    display: flex;
    justify-content: space-around;
    text-align: center;
}

.services > .service {
    flex: 0 0 33.333333333%;
    padding: 0.5rem;
}

.works {
    display: flex;
    flex-wrap: wrap;
}

.work {
    flex: 0 0 25%;
    position: relative;
}

.work > picture {
    display: block;    
}

.work:hover > picture::after {
    opacity: 1;
}

.work > .text {
    display: none;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    text-shadow: 2px 2px 1px rgba(30, 30, 30, 1);
    transform: translate(-50%, -50%);
    width: 100%;
    padding: 0.5rem;
}

.work:hover > .text {
    display: block;
}

.work > picture::after {
    content: '\A';
    background:rgba(0,0,0,0.6);
    position: absolute;
    height:100%;
    width: 100%; 
    left:0;
    top:0; 
    opacity: 0;
}

.works img {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}

.contacts {
    display: flex;
}

.contact-text p {
    margin: 0;
    margin-bottom: 1rem;
}

.contact-info {
    font-size: 1.2rem;
    margin-left: auto;    
    padding-left: 2rem;
    min-width: fit-content;
}

.contact-info i {
    font-size: 1.4rem;
}

.contact-info > div {
    display: flex;
    align-items: center;
    align-content: center;
    padding-bottom: 0.6rem;
}

.contact-info > div > i {
    text-align: center;
    width: 70px;
}

.site-footer {
    background-color: #101010;
    color: rgb(137, 137, 137);
    font-size: 1rem;
    letter-spacing: 3px;
    padding: 3rem 1rem;
    text-transform: uppercase;
}

.site-footer a {
    color: rgb(137, 137, 137);
    filter: brightness(80%);
}

.site-footer a:hover {
    filter: brightness(100%);
}

.site-footer .inside {
    display: flex;
    align-items: center;
}

.site-footer .social-links {
    margin-left: auto;
}

@media screen and (max-width: 680px) {
    .top-bar {
        padding-bottom: 0;
        position: static;
    }

    .top-bar > .inside {
        flex-direction: column;        
    }

    .primary-nav {
        margin-top: 0.2rem;
        margin-left: auto;
        margin-right: auto;
        font-size: 0.8rem;
    }

    .primary-nav a {
        padding: 1.2rem 0.6rem 1rem;
    }

    .social-icon {
        margin-left: 0.25rem;
    }

    section.top h1 {
        font-size: 3rem;
        margin: 0;
        padding: 0;
    }

    section.top {
        padding-top: 5.2rem;
        font-size: 2rem;
        min-height: fit-content;
    }

    .services {
        flex-direction: column;
        gap: 2rem;
    }

    .work {
        flex: 0 0 100%;
    }

    .contacts {
        flex-direction: column;
        gap: 2rem;
        text-align: center;
    }

    .contact-info {
        margin-left: auto;
        margin-right: auto;
        padding: 0;
    }

    .site-footer > .inside {
        flex-direction: column;  
        text-align: center;      
    }

    .social-links {
        margin-left: auto;
        margin-right: auto;
    }
}