@import "reset.css";
@import "variables.css";
@import "grid.css";
@import "base.css";
@import "typography.css";
@import "icons.css";

@import "accordion.css";
@import "lightbox.css";
@import "nav.css";
@import "project.css";
@import "gallery.css";

.flex {
    display: flex;
    justify-content: space-between;
}
.logobgcontainer {
    height: calc(var(--font-size-large) + 20px);
    opacity: 0.75;
    z-index: 99;
    width:100%;
    position: fixed;
    left: 0;
    top: 0;
}
.hidden {
    opacity: 0;
}
.logobg {
    width: 100%;
    height: 20%;
    background-color: var(--background);
}
.logobggradient {
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to bottom, rgba(240, 240, 240, 1), rgba(240, 240, 240, 0));    
}
.gallery {
    /*display: flex;
    flex-basis: 33.333333%;
    flex-flow: row wrap;
    justify-content: space-around;*/
}
.gallery div {
    position: relative;
    width: 100%;
    height:100%;
    display: block;
    line-height: 0;
    background: var(--foreground);
    border-radius: 5px;
}
.gallery figcaption {
    flex-direction: column;
    position: absolute;
    line-height: 120%;
    width: 100%;
    height: 100%;
    justify-content: center;
    top: 0;
    text-shadow: 0px 0px 25px rgba(0, 0, 0, 0.5);
    padding: 0 1em;
    color: var(--background);
}
.gallery figcaption a, .gallery figcaption .tags {
    color:var(--background);
    text-align:center;
    justify-content: center;
}
.gallery figcaption .tags {
    font-size:0.8em;
}

.gallery figcaption a:hover {
    opacity: 0.8;
}
.gallery figure{
    /* flex: 33.333333%;
    padding: var(--gap-column);*/
    height: fit-content;
    margin:0;
}
figure.fullwidth{
    /*    flex: 66.666666%;
    padding: var(--gap-column);*/
    height: fit-content;
    columns: span 12;
}
.bottom {    
    position: absolute;
    padding: 1em;
    left: 0;
    bottom: 0;
    width: -webkit-fill-available;
    width: -moz-fill-available;
}
.gallery img {
    opacity: 0.9;
    max-height: 100%;
    object-fit: cover;
}
.gallery figure:hover img {
    opacity:1;
}
.box {
    /*border: 1px solid var(--foreground);
    background-color: var(--background);
    padding: 4px 7px;
    border-radius: 5px;
    line-height: 110%;
    font-size: 90%;
    font-family: 'Inter', sans-serif;*/
    display: inline-flex;
    /*text-transform: capitalize;*/
    text-decoration: underline;
	text-decoration-thickness: 1px;
	-webkit-text-decoration-thickness: 1px;
	-moz-text-decoration-thickness: 1px;
	text-underline-offset: 0.125em;
	-webkit-text-underline-offset: 0.125em;
	-moz-text-underline-offset: 0.125em;
}
a.box:hover, a.box.active  {
    /*background-color: var(--foreground);
    color: var(--background);*/
    font-weight: 400;
    opacity:1;
    /*text-shadow: 0 0 0.01px black;*/
}
h1 .box, h2 .box {
   /* padding: 5px 7px 7px 7px;
    line-height: 100%;
    font-size: 0.75em;
    margin-bottom: 0.05em;
    font-family: 'Inter', sans-serif;
    text-transform: capitalize;*/
    font-weight: 400;
    opacity:var(--opa);
}
h3 .box, h4 .box, h5 .box, h6 .box {
    /*padding: 5px 7px;
    font-family: 'Inter', sans-serif;
    text-transform: capitalize;*/
}
.menu.hidden {
    visibility: hidden;
    opacity: 0;
}
.menu {
    width: fit-content;
    transition: opacity 0.2s ease-in-out;
    height: fit-content;
    /*padding: 7px;*/
    margin-top: 7px ;
	/*background-color: var(--background);*/
}
.menu a {
    padding: 0 0 0 14px;
}
.top h1, .top h2{
	display: inline;
}
h4 {
    font-size: 0.75em;
    font-family: 'Inter', sans-serif;
}
.logo {
    position: fixed;
    z-index: 999;
    opacity: 1;
    transition: var(--opacity);
    text-transform: uppercase;
}
.logo .hide {
    opacity: 1;
}
.logotext h2{
    opacity: 1;
    transition: var(--opacity);
}
.logotext h2.hidden {
    opacity: 0;
}
.logo .noshow {
    opacity:0;
}
.logo:hover .noshow {
    opacity: 1;
    transition: var(--opacity);
}
.logo .hide.hidden, .logo .hidden {
    opacity: 0;
    transition: var(--opacity);
}
.logo:hover .hide.hidden,.logo:hover .hidden {
    opacity: 1;
    transition: var(--opacity);
}
.logospace {
    visibility: hidden;
    text-transform: uppercase;
} 
.logotext {
    grid-column-end: span 10;
}
.imagelink {
    display: flex;
    gap:var(--gap-column);
    z-index: 0;
}
.imagelink div {
    justify-content: space-between;
    position: relative;
    width: 100%;
    height: calc(20vw + 24vh);
    text-align: center;
    /*font-family: 'Inter', sans-serif;*/
    text-transform: capitalize;
    font-weight: 400;  
}
.imagelink figure, .imagelink img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 5px;
    background: black;
    margin: 0;
}
.imagelink div img{
    opacity: 0.9;
    transition: opacity 0.2s ease-in-out;
}
.imagelink div:hover img {
    opacity: 1;
}
.imagelink div figcaption:hover {
    border-radius: 5px;
}
.imagelink figcaption {
    position: absolute;
    display: flex;
    justify-content: center;
    padding: 0;
    margin:0;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    font-size: var(--font-size-large);
    border-radius: 5px;
    line-height: var(--line-height-large);
    color: var(--background);
    text-shadow: 0px 0px 25px rgba(0, 0, 0, 0.5);
    /*font-weight: bold;*/
    font-weight: normal;
    /*text-transform: uppercase;*/
}
.studiolinks, .servicelink {
    display: flex;
}
.studiolinks h2 {
    padding-right: 0.5em ;
}
.servicelink {
    justify-content: end;
}
.studio{
    margin-bottom: var(--gap-column); 
    display: none;
}
.studio .productdescription {
    font-size: var(--font-size-large);
    line-height: var(--line-height-large);
    margin-bottom: var(--gap-column);
}
  .contact {
    gap: var(--gap-column);
    flex-direction: row;
}
.contact figure {
    display: flex;
    flex: 1;
    align-items: center;
    object-fit: cover;
    margin:0;
}
.contact img {
}
.SoMe {
    display: flex;
    gap: 0.5em;
}
.download {
	margin:0.5em 0 0.5em 0;
}
.cta {
    font-size: var(--font-size-small);
    /*font-weight: bold;*/
    font-weight: normal;
    padding: 7px 7px;
    line-height: 100%;
}
/*SVG BLUR*/
.svgBlur { 
    filter: url("#sharpBlur"); 
}
/*Hide svg so that it works on firefox*/
.hideSvg {
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.svgBlur {
    transition: opacity 0.3s ease; /* Add transition property for smooth fade animation */
}

/*TAGS*/
.tags li:not(:last-child)::after {
 content: ", ";
}

@media screen and (max-width: 1240px) {
    .logotext {
        grid-column-end: span 8;
    }
    .menu {
        margin: 3px;
        padding: 0.25 1em;
        width: inherit;
        display: flex;
    }
}

@media screen and (max-width: 960px) {
    .logotext {
        grid-column-end: span 7;
    }
    .menu {
        margin: 3px;
        padding: 0.25 1em;
        width: inherit;
        display: flex;
    }
    .imagelink {
        flex-direction: column;
    }
    .imagelink div {
        width: auto;
    }
    .gallery figure{
        flex: 50%;
        height: fit-content;
    }
    figure.fullwidth{
        flex: 100%;
        padding: var(--gap-column);
    }
    .studiolinks{
        grid-column-end: span 12;
    }
    .servicelink {
        display: none;
    }
    .imagelink div {
     height:20em;
    }
}

@media screen and (max-width: 768px) {
    .menu a {
        padding:0;
    }
    nav {
        width: calc(100% - 2em);
    }
    .imagelink {
        flex-direction: column;
    }
    .logotext {
        grid-column-end: span 12;
    }
    .gallery figure{
        flex: 100%;
        height: fit-content;
    }
    figure.fullwidth{
        flex: 100%;
        padding: var(--gap-column);
    }
    .menu {
        position: fixed;
        top: 0.5em;
        left: 1em;
        margin: 2px;
        padding: 0.25 1em;
        width: inherit;
        justify-content: space-between;
    }
    .menu a {
        margin: 0.25em 0;
    }
    .header {
        padding-top:3em;
        word-break: break-all:
    }
}