html {
    box-sizing: border-box;
}
  
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: inherit;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -moz-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
    font-family: "Helvetica Neue LT W05 45 Light", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", "Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif; 
    font-weight: 300;
    font-style: normal;
}

.ie-error {
    text-align: center;
    margin-top: 20vh;
}

a {
    display: block;
    color: black;
    text-decoration: none;
}

a:hover {
    color: black;
    text-decoration: none;
}

header {
    position: fixed;
    height: 75px;
    top: 0;
    left: 0;
    font-size: x-large;
    width: 100%;
    background-color: white;
    z-index: 1;
    padding: 30px 0 15px;
    text-align: center;
}

header.sticky {
    position: sticky;
}

.container {
    display: grid;
    display: -ms-grid;
    
    grid-template-columns: 43.75vw 43.75vw;
    -ms-grid-columns: 43.75vw 43.75vw;
    grid-auto-rows: 43.75vw;
    grid-gap: 0 3.5vw;
    padding: 0 4.5vw 4.5vw;    
}

div.project {
    position: relative;
    overflow: hidden;
    justify-self: center;
    align-self: center;
    -ms-grid-row-align: center;
    -ms-grid-column-align: center;
}

.project img {
    max-width: 43.75vw;
    max-height: 43.75vw;    
    visibility: hidden;
    transition: opacity 0.15s;
}

@media (min-width: 768px) {
    .container {
        grid-template-columns: 28vw 28vw 28vw;
        -ms-grid-columns: 28vw 28vw 28vw;
        grid-auto-rows: 28vw;
    }

    .project img {
        max-width: 28vw;
        max-height: 28vw;        
    }
}

.hidden img{
    opacity: 0;
}

.link-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
    opacity: 0;
    font-size: small;
}

.hidden .link-text {
    opacity: 1;
    transition: opacity 0s linear 0.15s;
}

#wrapper-left,
#wrapper-right {    
    position: fixed;
    height: 100vh;
    width: 50vw;
    cursor: url('caret-left.png'), auto;
}

#wrapper-right {
    right: 0;
    cursor: url('caret-right.png'), auto;
}

#wrapper {
    font-size: 0.8rem;
    height: calc(100vh - 75px);
    width: 70%;   
    margin: 75px auto 0;
}

#wrapper.image-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100%;    
    margin: 0;
}

#wrapper.kontact-wrapper {
    padding: 0;
    cursor: default;
}

#wrapper h1 {
	font-weight: normal;
	font-size: 0.8rem;
}

#wrapper img {
    user-select: none;
}

#wrapper p {
    margin: 1.5rem 0;
    line-height: 1.2rem;
}

#wrapper.kontact-wrapper .projects {
    display: grid;
    grid-gap: 3px 20px;
    margin-bottom: 50px;
}

#wrapper.kontact-wrapper .projects .full-line {
    grid-column-start: 1;
    grid-column-end: 3;
}

#wrapper.kontact-wrapper .projects .year {
    grid-column-start: 1;
    grid-column-end: 3;
    padding-top: 20px;
}

table tr td:first-child {
    padding-right: 2vw;
}

.displayNone {
    display: none;
}

.rozklik-link {
    position: absolute;
}

.rozklik {
    height: 0;
    overflow: hidden;
    transition: height 1s;
}

#wrapper #text .rozklik p:first-of-type {
    margin-top: 0;
}

#wrapper #text .rozklik p:last-of-type {
    margin-bottom: 0;
}

#wrapper #text table {
    margin: 3rem 0;
}
