@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,900");
@import url('https://fonts.googleapis.com/css?family=Montserrat:300,300i,400,600,600i,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Libre+Baskerville:400,400i,700&display=swap');
@import url("fontawesome-all.min.css");


html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;}

body {
line-height: 1;
}

ol, ul {
list-style: none;
}

blockquote, q {
quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
content: '';
content: none;
}

table {
border-collapse: collapse;
border-spacing: 0;
}

body {
-webkit-text-size-adjust: none;
}

mark {
background-color: transparent;
color: inherit;
}

input::-moz-focus-inner {
border: 0;
padding: 0;
}

input, select, textarea {
-moz-appearance: none;
-webkit-appearance: none;
-ms-appearance: none;
appearance: none;
}

/* Basic */

@-ms-viewport {
width: device-width;
}

html {
/*height: 100%;*/
}

html {
box-sizing: border-box;
}

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

body {
background: #ffffff;
/*height: auto;*/
min-width: 320px;
}




body {
text-decoration: none;
}


@media (-webkit-min-device-pixel-ratio: 2) {

body:before {
line-height: 2.025em;
}

}

/* Type */

body, input, textarea, select {
font-family: "Montserrat", sans-serif;
font-weight: 300;
font-size: 18pt;
line-height: 1.75em;
color: white;
letter-spacing: 0.025em;
background-color: black;
}

body#fam-template {
background-color: #0e151f;
}

body#zenithica-body {
background-color: #fd4400;
}


body#bj-mj-landing {
background-color: black;
}

body#domy-web-body {
background-color: #494949;
}
body#bj-mj-landing-body {
background-color: #060c1d;
}

body#bj-mj-web-home {
background-color: #032320;
}






@media screen and (max-width: 1920px) {

body, input, textarea, select {
font-size: 17pt;
}

}

@media screen and (max-width: 1680px) {

body, input, textarea, select {
font-size: 15pt;
}

}

@media screen and (max-width: 1280px) {

body, input, textarea, select {
font-size: 13pt;
}

}

@media screen and (max-width: 1000px) {

body, input, textarea, select {
font-size: 13pt;
}

}

@media screen and (max-width: 736px) {

body, input, textarea, select {
font-size: 12pt;
line-height: 1.5em;
}

}

h1, h2, h3, h4, h5, h6 {
font-family: 'Montserrat', sans-serif;
font-weight: 600;
color: inherit;
letter-spacing: -0.0325em;
color: white;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
color: inherit;
text-decoration: none;
}

h2 {
font-size: 2.25em;
line-height: 1.25em;
letter-spacing: -0.05em;
}

@media screen and (max-width: 736px) {

h2 {
font-size: 1.5em;
}

}

strong, b {
font-weight: 900;
color: inherit;
}

em, i {
font-style: italic;
}

a {
-moz-transition: color 0.2s ease-in-out;
-webkit-transition: color 0.2s ease-in-out;
-ms-transition: color 0.2s ease-in-out;
transition: color 0.2s ease-in-out;
color: #98c593;
}

sub {
position: relative;
top: 0.5em;
font-size: 0.8em;
}

sup {
position: relative;
top: -0.5em;
font-size: 0.8em;
}

hr {
border: 0;
border-top: solid 1px #e5e6e7;
}

blockquote {
border-left: solid 0.5em #e5e6e7;
padding: 1em 0 1em 2em;
font-style: italic;
}

p, ul, ol, dl, table {
margin-bottom: 1em;
}



/* Icon */

.icon {
text-decoration: none;
position: relative;
text-decoration: none;
}

.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:before {
line-height: inherit;
}

.icon > .label {
display: none;
}

.icon.solid:before {
font-weight: 900;
}

.icon.brands:before {
font-family: 'Font Awesome 5 Brands';
}


/* List */

ul.default {
list-style: disc;
padding-left: 1em;
}

ul.default li {
padding-left: 0.5em;
}

ul.menu {
cursor: default;
}

ul.menu li {
display: inline-block;
line-height: 1em;
border-left: solid 1px #e5e6e7;
padding: 0 0 0 0.5em;
margin: 0 0 0 0.5em;
}

ul.menu li:first-child {
border-left: 0;
padding-left: 0;
margin-left: 0;
}

ol.default {
list-style: decimal;
padding-left: 1.25em;
}

ol.default li {
padding-left: 0.25em;
}


/* Icons */

ul.icons {
cursor: default;
}

ul.icons li {
display: inline-block;
}

ul.icons a {
display: inline-block;
width: 2em;
height: 2em;
line-height: 2em;
text-align: center;
border: 0;
}

/* Sections/Article */

header {
margin-bottom: 1em;
}

header p {
display: block;
margin: 1em 0 0 0;
padding: 0 0 0.5em 0;
}

footer {
margin-top: 2em;
}






/* Header */

#header {
position: fixed;
z-index: 10000;
left: 0;
top: 0;
width: 100%;
background: black;
height: 3em;
line-height: 3em;
box-shadow: 0 0 0.15em 0 rgba(0, 0, 0, 0.1);
}

#header h1 {

left: 1em;
top: 0;
height: 3em;
line-height: 3em;
cursor: default;
color : white;
}

#header h1 a {
font-size: 1.25em;
}

#header nav {
position: absolute;
right: 0.5em;
top: 0;
height: 3em;
line-height: 3em;
color : white;
}

#header nav ul {
margin: 0;
}

#header nav ul li {
display: inline-block;
margin-left: 0.5em;
font-size: 0.9em;
}

#header nav ul li a {
display: block;
color: inherit;
text-decoration: none;
height: 3em;
line-height: 3em;
padding: 0 0.5em 0 0.5em;
outline: 0;
}

@media screen and (max-width: 736px) {

#header {
height: 2.5em;
line-height: 2.5em;
}

#header h1 {
text-align: center;
position: relative;
left: 0;
top: 0;
height: 2.5em;
line-height: 2.5em;
}

#header h1 a {
font-size: 1em;
}

#header nav {
display: none;
}

}

body {
padding-top: 1em;
}

@media screen and (max-width: 736px) {

body {
padding-top: 2.5em;
}

}

#footer {
display: -moz-flex;
display: -webkit-flex;
display: -ms-flex;
display: flex;
-moz-align-items: center;
-webkit-align-items: center;
-ms-align-items: center;
align-items: center;
-moz-justify-content: space-between;
-webkit-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
position: relative;
margin: 0;
line-height: 1em;
padding: 1.5em;
background: black;
color: rgba(185, 186, 187, 0.5);
overflow: hidden;
}

#footer > * {
margin-bottom: 0;
}

#footer a {
color: inherit;
}

#footer a:hover {
color: #b9babb;
}

#footer ul.menu {
margin: 0;
}

#footer ul.menu li {
border-left-color: rgba(185, 186, 187, 0.2);
font-size: 0.9em;
}

@media screen and (max-width: 1000px) {

#footer {
-moz-flex-direction: column;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-moz-justify-content: center;
-webkit-justify-content: center;
-ms-justify-content: center;
justify-content: center;
line-height: 1.5em;
text-align: center;
padding: 2em 1em 2em 1em;
}

#footer > * {
margin: 0 0 1em 0;
}

}

@media screen and (max-width: 736px) {

#footer ul.menu li {
border-left: none;
display: block;
line-height: inherit;
margin: 0.25em 0 0 0;
padding: 0.25em 0 0 0;
}

#footer ul.menu li:first-child {
margin-top: 0;
padding-top: 0;
}

}

div.description {
width: 90vw;
margin: 0 auto;
padding : 1vw;
text-align: center;
}
div.description h2 {
font-family: 'Libre Baskerville', sans-serif;
}

div.container-portfolio {position: relative;width: 100%; max-width: 100%; margin : 0 auto; margin-bottom: 500px;}
#portfolio { position : relative; width: 100vw; max-width:100vw; margin:0 auto; margin-bottom: 500px; }
div.nav-filters {
width : auto; max-width: 550px; margin: 0 auto;
display: flex;
       flex-direction: row;
        justify-content: center; }
.tile { float:left; min-height:340px; max-height:340px; width: 25%;}
.tile:hover {opacity: 1;}

.tile.web, .tile.graph, .tile.digitart, .tile.motion  {border: 0 solid black; border-radius: 0px; filter: grayscale(80%); transition: all 0.7s ease-in-out;}

.tile.web:hover { border: 25px solid #0033cc; border-radius: 80px; filter: grayscale(0%);}
.tile.graph:hover { border: 25px solid #ff0066; border-radius: 80px; filter: grayscale(0%);}
.tile.digitart:hover { border: 25px solid #ddd817; border-radius: 80px; filter: grayscale(0%);}
.tile.motion:hover { border: 25px solid #cc33cc; border-radius: 80px; filter: grayscale(0%);}

p.filters-gallery{ padding:10px;border-bottom: 1px white solid;text-decoration: none;font-family: 'Montserrat', sans-serif; font-weight: 400;
text-transform:uppercase;font-size: 12px; color : #dcd4d4;display:block;float:left; transition: all 0.5s ease-in-out;}
p.filters-gallery:hover, p.filters-gallery.actif { cursor:pointer; color: white;}
p.filters-gallery.btn-graph:hover, p.filters-gallery.btn-graph.actif { cursor:pointer; color: #ff0066; font-weight: 600;letter-spacing: 1px;}
p.filters-gallery.btn-web:hover, p.filters-gallery.btn-web.actif { cursor:pointer; color: #0033cc; font-weight: 600;letter-spacing: 1px;}
p.filters-gallery.btn-motion:hover, p.filters-gallery.btn-motion.actif { cursor:pointer; color: #cc33cc; font-weight: 600;letter-spacing: 1px;}
p.filters-gallery.btn-digitart:hover, p.filters-gallery.btn-digitart.actif { cursor:pointer; color: #ddd817; font-weight: 600;letter-spacing: 1px;}

div.graph p {display: none;}
div.graph p:hover {display: block;color: white; font-size: 125px;}

#portfolio div#txt-works {
text-align: justify; text-align-last: center; margin-bottom: 3vh;
font-weight: 300;
transform: scale(0.85);

}

#portfolio div#txt-works-all {
text-align: justify; text-align-last: center;margin-top: 5vh;
font-weight: 300;
padding: 1vw 1vh;
transform: scale(0.85);

}




@media screen and (min-width: 1200px) {
div.container-portfolio {position: relative;width: 80vw;max-width: 80vw;margin : 0 auto;margin-bottom: 500px;}
#portfolio {position : relative;width: 80vw;max-width: 80vw;margin:0 auto;margin-bottom: 500px;}
.tile { float:left; min-height:20vw; max-height:20vw; width: 20%; border:0px; }


}


@media screen and (min-width: 1600px) {

.tile {float:left;min-height:21vw;max-height:21vw;width: 33%;}
}



@media screen and (max-width: 1200px) {
.tile { float:left; min-height:25vw; max-height: 25vw; width: 25%;  }

}


@media screen and (max-width: 900px) {
.tile { float:left; min-height:50vw; max-height:50vw; width: 50%; }

}


@media screen and (max-width: 720px) {
.tile { float:left; min-height:100vw; max-height:100vw; width: 100%; }

}



#header {
    position: relative;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.15);
    background-image: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.05));
    height: 100%;
    line-height: 3em;
    box-shadow: 0 0 0.15em 0 rgba(0, 0, 0, 0.1);

  }

  #header h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    margin: 0;
    font-size: 20px;
    color: inherit;
    letter-spacing: -0.0325em;
    color: white;
    display: inline-block;
    cursor: default;
  }


  header img.main-logo {
    display: inline-block;
    width: 100px;
    vertical-align: middle;
    margin: 0 auto;
    margin-left: 1.5em;
  }



      #header h1 a {
        font-size: 0.8em;
      }

    #header nav {
      position: absolute;
      right: 0.5em;
      top: 0;
      height: 3em;
      line-height: 3em;
      margin-right: 1.5em;
      color : #e2e2e2;
    }

      #header nav ul {
        margin: 0;
      }

        #header nav ul li {
          display: inline-block;
          margin-left: 0.5em;
          font-size: 0.9em;
        }

          #header nav ul li a {
            display: block;
            color: white;
            text-decoration: none;
            height: 3em;
            line-height: 3em;
            padding: 0 0.5em 0 0.5em;
            outline: 0;
          }

#header nav ul li.hov-graph a,
#header nav ul li.hov-web a,
#header nav ul li.hov-motion a,
#header nav ul li.hov-digitart a,
#header nav ul li.hov-global a,
#header h1#mak-hov
{color: #e2e2e2;font-family: 'Montserrat', sans-serif;font-weight: 400;transition: all 1s ease-in-out;line-height: 100%;}
#header h1#mak-hov:hover {cursor:pointer; color: white ;letter-spacing: 0.1px;transition: all 1s ease-in-out;}
#header nav ul li.hov-global a:hover { cursor:pointer; color: white ; letter-spacing: 0.2px;}
#header nav ul li.hov-graph a:hover { cursor:pointer; color: #ff0066; letter-spacing: 0.2px; }
#header nav ul li.hov-web a:hover { cursor:pointer; color: #0033cc;letter-spacing: 0.2px;}
#header nav ul li.hov-motion a:hover { cursor:pointer; color: #cc33cc;letter-spacing: 0.2px;}
#header nav ul li.hov-digitart a:hover { cursor:pointer; color: #ffff00;letter-spacing: 0.2px;}


    @media screen and (max-width: 1024px) {

      #header {
        height: 2.5em;
        line-height: 2.5em;
      }

        #header h1 {
          text-align: center;
          position: relative;
          left: 0;
          top: 0;
          height: 2.5em;
          line-height: 2.5em;
        }

          #header h1 a {
            font-size: 1em;
          }

        #header nav {
          display: none;
        }

        header img.main-logo {
   
    margin: 0 auto;
   
  }

    }

    @media screen and (max-width: 1024px) {

      #header {
        height: 100%;
        line-height: 2.5em;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-top : 1em;
        margin-bottom: 1em;
      }

        #header h1 {
          text-align: center;
          position: relative;
          left: 0;
          top: 0;
          height: 2.5em;
          line-height: 2.5em;
        }

          #header h1 a {
            font-size: 1em;
          }

        #header nav {
          display: none;
        }

    }

 @media screen and (max-width: 700px) {


div.nav-filters {
width : auto; max-width: 550px; margin: 0 auto;
display: grid;
       grid-template-columns: auto auto auto;
       text-align: center;

       }
