/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin:  0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}
/*https://www.joshwcomeau.com/css/custom-css-reset/*/
/*
  1. Use a more-intuitive box-sizing model.
*/
*, *::before, *::after {
  box-sizing: border-box;
}
/*
  2. Remove default margin
*/
* {
  margin: 0;
}
/*
  3. Allow percentage-based heights in the application
*/
html, body {
  height: 100%;
}
/*
  Typographic tweaks!
  4. Add accessible line-height
  5. Improve text rendering
*/
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
/*
  6. Improve media defaults
*/
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}
/*
  7. Remove built-in form typography styles
*/
input, button, textarea, select {
  font: inherit;
}
/*
  8. Avoid text overflows
*/
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
  font-size:1em;
}
/*
  9. Create a root stacking context
*/
#root, #__next {
  isolation: isolate;
}
/* END RESET
   ========================================================================== */
.resize-animation-stopper * {
  animation: none !important;
  transition: none !important;
}   
   
body {
    min-height: 100vh;
    min-height: fill-available;
    min-height: -webkit-fill-available;
	min-height: -moz-available;
	overflow-x: hidden;
    transition: background 1s ease-in-out;
}

html {
    height: fill-available;
    height: -webkit-fill-available;
	height: -moz-available;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
/*FONTS*/
body, h1, h2, h3, h4, h5, h6 {
font-family: 'Mulish', Helvetica, sans-serif;
font-weight: normal;
color: inherit;
		-webkit-font-smoothing: antialiased;
		font-smoothing: antialiased;
		letter-spacing: 0.03em;
        font-size: 1em;
		color: #000;
}
h1 { letter-spacing:0em; }
/*grey*/
.categories article div p, .inner-cat-item aside h3 { color:#767676; }

/*bold*/
/*.categories article h3, */.inner-cat-index h1{ font-weight:700}

/*bit smaller*/
/*.categories article div p*/ { font-size:0.95em; }

/*spacing*/
.categories article div p { padding:0.5em 0}
.categories article h3 { display:inline; }
/*.inner-cat-item main h3 { margin-top:4px; }*/

em { font-style:normal; }
a, a:visited  {color:#000; }

a, .nav-switcher button, .non-nav-switcher button { color:#000; text-decoration:none; background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') repeat-x 100% 76%;  }
.inner-cat-item .pre-footer span:last-child, .inner-cat-item footer span:last-child, .single-page figcaption a, footer a, footer a:visited, div.no-figure a, div.no-figure a:visited, .contact-page.thankyou a, .contact-page form small a   { text-decoration:none; background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') repeat-x 100% 100%;  }
.inner-cat-item header a { text-decoration:none; background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') repeat-x 100% 62%;  }
.inner-cat-item .pre-footer a, #grid-container a, .nav-switcher ul li:first-child a, .nav-non-switcher ul li:first-child a, .nav ul li button { background:none;}
.nav-switcher a, .nav-non-switcher button, .nav button, .grid-page > div:first-child a { border:none; background-color:rgba(255,255,255,0); background:none; }
.nav-switcher button, .nav-non-switcher ul li button { border:none; padding:0; background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') repeat-x 100% 63%; }
.nav-non-switcher li button {}

.categories article a:hover h3, .inner-cat-item main a, .contact-page a:hover, .contact-page .error-page a { border:none; padding:0; background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') repeat-x 100% 100%; }
.inner-cat-item main a { display:inline-block; }
.inner-cat-item main h4 { margin:30px 0 10px 0; font-weight:800; font-size:1.1em;}
.info-page main ul li { display:inline;  } 
.info-page main ul li:after{ content: ", "; }
.info-page main ul { padding-left:0; }
.inner-cat-item p { margin:0 0 20px 0 }
/*no underline link*/
h5 a:hover, .nav-switcher button:hover, .nav-non-switcher button:hover, .nav #nav-text a:hover, #nav-text button:hover, #nav-list li a, footer a:hover, footer li:nth-of-type(3) a, .inner-cat-item main a:hover, .inner-cat-item main h2 a, .inner-cat-item .pre-footer a:hover span:last-child, div.no-figure a:hover, .contact-page a, .contact-page a:visited, .contact-page form small a:hover { background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') repeat-x -100% -100%; }  
.nav a:hover, .single-page figcaption a:hover { text-decoration:none; background: url('data:image/gif;base64,R0lGODlhAQABAIAAAP7//wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==') repeat-x -100% -100%; }

/*white links*/
.nav, .nav a, .nav h1, .nav h2, .nav h4 { color:#fff; }
.nav #nav-text a, .nav #nav-text a:visited, #nav-text button, #nav-list li a:hover { text-decoration:none; background: url('data:image/gif;base64,R0lGODlhAQABAIAAAP7//wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==') repeat-x 100% 95%;padding: 4px 0;  }
#nav-text button { height:auto; }

.inner-cat-item h1 { font-size:2.4em; line-height:1.2em; font-weight:700; padding:0 0 1.2em 0 }
.inner-cat-item aside h2, .inner-cat-item aside h3 {} 
.inner-cat-item  div h1+aside { display:none; }
.inner-cat-item figure { padding:1em 0; }

/**/
/*html {
 
  scroll-behavior: smooth;
}*/
/* SLIDE UP MENU */
.nav-switcher, .nav-non-switcher{
  z-index:2;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  display: -webkit-flex;
  display:flex;
  /*Define a height for NavSwitcher*/
  height:80px;
  transition: 1.5s ease-in-out;
  /*and a transition time for a smooth appearence*/
}

.nav-switcher ul{
  z-index:2;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  /*Define a height for NavSwitcher*/
  height:80px;
  transition: 1.2s ease-in-out;
  /*and a transition time for a smooth appearence*/
}
.nav-switcher ul, .nav-non-switcher ul, .inner-cat-item header {width:100%; margin:0 auto; line-height:80px;
  list-style-type: none;
   padding: 0 5%;
  overflow: hidden;
  position:relative;
  background-color:rgba(255,255,255,0);
  top:0;
  z-index:4;
}
.nav-non-switcher ul {background-color:rgba(255,255,255,1);}
.nav-switcher li, .nav-non-switcher li {display: block;
  float: left;
}
.nav-switcher li:last-child, .nav-non-switcher li:last-child {display: block;
  float: right;
}

.nav-switcher li a, .nav-non-switcher li a {
  text-decoration: none;
}
#cancelgrid {transition: 0.5s;}

/* ENABLES SCROLL ON SLIDE OUT MENU IF TOO LONG FOR SCREEN  https://css-tricks.com/forums/topic/slide-out-menu-bar-wont-scroll/ */
/*slide out*/
.nav-open .nav-switcher, .nav-open .nav-switcher ul {   } 

.nav {
  max-height: calc(100%);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.nav-open { overflow-y:hidden; }

.nav-open .nav {
  -webkit-transform: translateX(0vw);
    -moz-transform: translateX(0vw);
    -ms-transform: translateX(0vw);
    -o-transform: translateX(0vw);
  transform: translateX(0vw);
}
.nav-open .main {
	  -webkit-transform: translateX(100vw);
    -moz-transform: translateX(100vw);
    -ms-transform: translateX(100vw);
    -o-transform: translateX(100vw);
  transform: translateX(100vw);
}
.nav {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background: #000027;
    -webkit-transform: translateX(-100vw);
    -moz-transform: translateX(-100vw);
    -ms-transform: translateX(-100vw);
    -o-transform: translateX(-100vw);
   transform: translateX(-100vw);
  transition: transform 0.8s ease-in-out;/*time for nav panel to move across viewport*/
  overflow-y: auto;
  padding-bottom:40px;
}

.nav-wrap { width:70%; margin:0 15%; padding:0; }
#nav-list, #nav-text { padding-top:100px; width:50%; float:left; clear:right; }
#nav-list ul, footer ul { list-style-type:none;  }
#nav-list li:last-child, /*#nav-list li.last-item*/ #nav-list li#top + li{ padding-bottom:20px; }
#nav-list  { font-size:2em;  }
#nav-list ul {padding:0; }
.main {
  transition: transform 0.8s ease-in-out;/*time for main panel to move across viewport*/
}
#nav-list h2 + ul li, #nav-list li.final { font-size:0.6em; } 
#nav-list h2 { font-size:0.45em; text-transform:uppercase; padding:1.2em 0; letter-spacing:0.16em }
 #nav-list li.final { font-size:0.45em; text-transform:uppercase; letter-spacing:0.16em }
.nav-open .nav-switcher, .nav-open .nav-non-switcher {
  -webkit-transform: translateX(100vw);
    -moz-transform: translateX(100vw);
    -ms-transform: translateX(100vw);
    -o-transform: translateX(100vw);
  transform: translateX(100vw);
  transition: transform 0.8s ease-in-out; /*seems to make the nav stay visible horizontally as it slides out of viewport */
}
.nav-switcher, .nav-non-switcher {
  -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
  transform: translateX(0);
  transition: transform 0.8s ease-in-out; /*seems to make the nav stay visible horizontally as it slides into viewport */
}
/*contact/error page*/
.error-page h1 { font-size:1.3em; }
.contact-page main div {
    box-sizing: border-box;
    padding: 80px 0;
    text-align: center;
    height: 100vh;
    white-space: nowrap;
}
.contact-details {
	padding:0;
    font-size: 30px;
    line-height: 40px;
    text-align: center;
}
.contact-page ul { list-style:none; white-space:initial; padding:14px; }
.contact-page div:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.25em;
}
.contact-details, .error-page {
    
    display: inline-block;
    vertical-align: middle;
}

/*headers*/
.inner-cat-index header { width: 90%; margin:0 auto; padding:100px 0 0 0; font-size:4.5em }
/*Services/Project Index page*/
body.projects, body.projects .nav-non-switcher ul  { background-color:#dfd0b9; }
/*
#fffbf1 - creame
#000027 - dark blue
#fce4d4 - peach
#dfd0b9 - light brown/stone
#c8c9c3*/
body.services, body.services .nav-non-switcher ul { background-color:#fffbf1;}
.categories article div { padding:20px 0 100px 0; }

.categories {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-top: 40px;
  width:90%;
  margin-left:5%;
  column-gap:5%;
}
.categories figure {
    overflow: hidden;
    position: relative;
	width:100%;
	display: -webkit-flex;
	display:flex;
}
.categories figure img { grid-area: image1; overflow:hidden; object-fit: contain; height:100% }

/*Services/Project header styles*/
.inner-cat-item header a { float:right;}
.inner-cat-item header h2 {overflow: hidden; white-space: nowrap;-o-text-overflow: ellipsis; text-overflow: ellipsis; float:left; max-width:66.6%}
.inner-cat-item header em {}
.inner-cat-item header { position:fixed; }
.inner-cat-item main figure:first-of-type { padding-top:5em; }
/*Services/Project Main content*/
#post-hero {width: 100%;
    margin: 0 auto;
    height: 50vh;
    clear: both;
    position: relative;
    display: block;
    padding-top: 80px;}
#post-hero figure { height:100%; }
#post-hero figure img {
    object-fit: cover;
    font-family: "object-fit: cover";
    max-width: 100%;
    width: 100%;
    max-height: 100%;
    height: 100%;
}
.inner-cat-item main {  margin:0 5%; padding-bottom:5em; }
.inner-cat-item.info-page main {  padding-top:10em }

/*Services/Projects &amp; news footer style*/
.inner-cat-item .pre-footer, footer { border-top:1px solid #000; margin-top:4em; }
.inner-cat-item .pre-footer { padding:0 5%; margin:0; width:100% }
.inner-cat-item .pre-footer a{ display:block; padding-top:6em; padding-bottom:7em; padding-left:33.33333%; position:relative; margin:0 auto; width:100%; }
footer { display:block;  margin:0 auto; width:100%; padding:40px 5%; }
footer ul { padding:0;  padding-left:33.3%;}
 
footer ul li:first-child { float:left; width:50%; margin-left:-50% }
.inner-cat-index footer ul {  padding-left:26.25%;}
.inner-cat-index footer ul li:first-child { float:left; width:25%; margin-left:-35% }
footer ul li{ width:33.3%; }
 
.inner-cat-item .pre-footer span { display:block; } 
.inner-cat-item .pre-footer span:last-child { font-size:2.5em; padding-right:0; display:inline; font-weight:700; }

/*single page styles*/
body.single-page div.no-figure{ 
	position:relative;
	display: -webkit-flex;
	display: flex;
    width: 100%;
    min-height: 100vh;
    align-items: center;
    justify-content: center;
	/*margin-top: -12vh;*/ }
	div.no-figure { font-size:1.7em; text-align:center}
	.no-figure div { width:50%; }
body.single-page figure{ 
	position:relative;
	display: -webkit-flex;
	display: flex;
    width: 100%;
    height: 100vh;
    align-items: center;
    justify-content: center;
	/*margin-top: -12vh;*/ }
	body.single-page figure img { height:72%; object-fit: contain; width:90% }
	body.single-page figcaption {position:fixed; bottom:40px; width:90%; margin:0 auto; z-index:4; }
	body.single-page figcaption h4 { position:absolute; left:0px } 
	body.single-page figcaption h5 {position:absolute; right:0px }
	/*.single-page figcaption { display:none; z-index:2; }
	.nav-open.single-page img.is-active + figcaption, .single-page img.is-active + figcaption { display:block; }*/

	
	
	.single-page figcaption { display:none;  }
	.nav-open.single-page img.is-active + figcaption, .single-page img.is-active + figcaption { display:block  }
	

/*grid page styles*/
.grid-page > div:first-child a, button { cursor:pointer; }
.grid-page > div:first-child a { display:block; padding:40px; }
.grid-page > div:first-child {
	position: fixed;    
	top: 0px;
    /*left: 4px;*/
	right:75px;
	top:4px;
    height: 20px;
    width: 15px;
    z-index: 2; 
	}
	.grid-page.contact-page > div:first-child { right:75px; left:auto; top:4px; }
.grid-page > div:first-child a span,  .nav button span, .nav-close{
	position: absolute;
    display: block;
    background: #000;
    width: 1px;
    height: 36px;
    right: -25px;
	top:30px;
	}
	.nav-close.close-alt {  font-size:1em; color:#fff; position:relative; padding:0; margin:0; display:inline; width:auto; }
	.nav-close { /*position:sticky;*/ top:4px; /*float:right;*/ padding:40px; font-size:0; right:0 }
	.nav button span { background: #fff; right: 50px; }
.inner-cat-item header span { top:30px; right:66px; }

/*close cross*/
.grid-page > div:first-child a span:nth-of-type(1), .nav button span:nth-of-type(1) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
	}
.grid-page > div:first-child a span:nth-of-type(2), .nav button span:nth-of-type(2) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}	
body.grid-page { 
    width: 100%;
    height: 100vh;
    overflow: auto;
    z-index: 4;
    top: 0;
    left: 0;
    text-align: center;
}
body.grid-page {overflow-x: hidden;}
.grid-page #grid-container
{
    display: grid;
    column-gap: 35px;
    row-gap: 0px; /*was 35px big screen*/
    grid-template-columns: 1fr 1fr;
    padding: 70px 35px; }
.grid-page #grid-container div { display: inline-block; vertical-align: middle; position:relative; margin:0 auto }
.grid-page #grid-container div a { display:block; width:auto; margin: 0; line-height: 0; }
.grid-page #grid-container div a img { width: 240px; height: 200px; object-fit: contain; }


/*.portrait img { max-width:80%; margin:0 auto; }*/
/* animated arrow*/
.down-arrow {
  position: absolute;
  bottom: 26px;
  margin-left:0px;
  left: 50%;
  width: 0;
  height: 30px;
  border: 0;
  border-radius: 2px;
  
}

.down-arrow:after {
  content: " ";
  position: absolute;
  top: 12px;
  left: -14px;
  width: 28px;
  height: 28px;
  border-bottom: 2px solid rgba(0, 0, 0, 0.7);
  border-right: 2px solid rgba(0, 0, 0, 0.7);
  border-radius: 2px;
  -webkit-transform: rotateZ(45deg);
  -moz-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
  -webkit-animation: jumpInfinite 3s ease-in-out infinite;
  -moz-animation: jumpInfinite 3s ease-in-out infinite;
  animation: jumpInfinite 3s ease-in-out infinite;
  
}

@-webkit-keyframes jumpInfinite {
  0% { margin-top: 0; }
  50% { margin-top: 20px; }
  100% { margin-top: 0; }
}
@-moz-keyframes jumpInfinite {
  0% { margin-top: 0; }
  50% { margin-top: 20px; }
  100% { margin-top: 0; }
}
@keyframes jumpInfinite {
  0% { margin-top: 0; }
  50% { margin-top: 20px; }
  100% { margin-top: 0; }
}

.fade {
  opacity:0;
  transition: 1s all ease-out;
}
.main{  position:relative; }
#arr { width:20px; height:20px; position:fixed; bottom:0px; left:50%; margin-left:-10px; z-index:1000 }

/* MEDIA QUERIES START */
@media (max-width: 1200px) 
{

#nav-list, #nav-text { width:100%; float:none; }
#nav-text { padding-top:100px; }
.categories {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.inner-cat-index footer ul {  padding-left:35%;}
.inner-cat-index footer ul li:first-child { float:left; width:50%; margin-left:-54% }
.no-figure div { width:80%; }
}


 /*wider than 768 appliy these styles*/
@media screen and (min-width: 768px) 
  {
	 .main figure:first-child { margin-top:0; } 
	.grid-page #grid-container
	{ display: block;
    padding: 0;
	row-gap: 35px; 
	} 
	.grid-page #grid-container div a { display:block; width:auto; margin: 37px 30px; line-height: unset; }
	
	/*close cross*/
	.grid-page > div:first-child {
	position: fixed;    
	/*top: 0;
    left: 16px;*/
    height: 20px;
    width: 15px;
    z-index: 2; 
	}
	footer, .pre-footer { clear:both; }
	}
	@media screen and (min-width: 769px) 
  {
	.inner-cat-item main div  { width:66.6%; float:right; }
	.inner-cat-item main { float:right; padding-top:3em;  }
	
	.inner-cat-item aside { width: 28%; float:left; margin-right:5.3%; padding-top:18px; }
	/**/ 
	}
	
/*narrower than 768 apply these styles*/
@media (max-width: 768px) 
{
	div.no-figure div { width:90%; }
	.inner-cat-item .pre-footer a { padding-left:0; }
.inner-cat-item main aside:first-child { display:none; }  
.inner-cat-item div h1+aside { display:block; padding:0 0 2em; }
footer ul, .inner-cat-index footer ul { padding:0;}
footer ul li:first-child, .inner-cat-index footer ul li:first-child{ float:none; margin-left:0; width:auto }
footer ul li, .inner-cat-index footer ul li{ width:inherit; }
#nav-list > ul { padding-left: 0; }
.portrait img { max-width:80%; margin:0 auto; }
	.grid-page #grid-container
	{ 
	row-gap: 35px;
	 
	} 
	.inner-cat-index header { width: 90%; margin:0 auto; padding:160px 0 0 0; font-size:3em }
body.single-page figure img { height:70%; object-fit: contain; width:90% }
.inner-cat-item .pre-footer a { display:block; padding-top:4em; padding-bottom:4em; }
.inner-cat-item .pre-footer span:last-child { font-size:1.5em}
.main figure:first-child { margin-top:-30px; }
.categories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding-top: 80px;
  width:90%;
  margin-left:5%;
  column-gap:40px;
}	 	
	/*main  { background-color:red; }*/
.inner-cat-item .pre-footer a { display:block; padding-top:4em; padding-bottom:4em; }
.inner-cat-item .pre-footer span:last-child { font-size:1.5em}
	}

	
@media (max-width: 600px) 
{
	 .contact-details { line-height:30px; }
	 .contact-details li { font-size:18px; }
	
	.grid-page #grid-container
	{ 
	row-gap: 20px;
	 
	}
  .nav-wrap { width:90%; margin:0 5%; padding:0; }
  #nav-list, div.no-figure { font-size:1.75em;  }
  #nav-text { padding-top:60px; }
/*#nav-list, #nav-text { padding-top:180px; width:50%; float:left; clear:right; }*/
  .categories {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-top: 80px;
  width:90%;
  margin-left:5%;
  column-gap:40px;
}
body.single-page figure img { height:60%; object-fit: contain; width:90% }
.inner-cat-item header em span { display:none; }
.inner-cat-item header span { top:30px; right:66px; }
.inner-cat-item header span { display:inline; float:left }
#nav-list { padding-top:26px; }
.inner-cat-item h1 { font-size:2em;}
	}
/* CONTACT FORM STYLES */
.contact-details{text-align:left}
form { padding-bottom: 2em;}
input { width: 100%; }
form, form p, p.err { text-align: left; }
textarea {height: 4em; }
form img { padding-top: 1em; padding-bottom:0.5em;}
.err { color: red; padding-bottom: 0.5em }
form label { line-height: 1.9em;}
input, .user-details input, .user-details textarea { border:0; border-bottom: 2px solid #bbb; margin-bottom:0.7em;}
.user-details.last input, .contact-page small {margin-bottom:0; font-size: 0.8em}
.user-details input, .user-details textarea {-webkit-appearance: none;border-radius: 0;padding-left: 0 }
input[type=submit] {background: #42a942 /* dark blue #000027*/; color: #fff; border:0 none; margin-top:1em; padding:0.3em; -webkit-border-radius: 5px;
    border-radius: 5px}
::-webkit-input-placeholder { /* Chrome */
  color: #bbb;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #bbb;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #bbb;
  opacity: 1;
}
:-moz-placeholder { /* Firefox 4 - 18 */
  color: #bbb;
  opacity: 1;
}
.contact-page li h3 { padding-top:2em; }