/*! HTML5 Boilerplate v7.3.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 2.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html { font: 1em/1.4em 'Spartan', Helvetica, sans-serif; color: #28221E; font-weight: 300; }
a { color: #14AE8F; text-decoration: none; }  
a:visited { color: #14AE8F; text-decoration: none; }  

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection { background: #b3d4fc; text-shadow: none; }

::selection { background: #b3d4fc; text-shadow: none; }

/** A better looking default horizontal rule **/
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio, canvas, iframe, img, svg, video { vertical-align: middle; }

/** Remove default fieldset styles. **/
fieldset { border: 0; margin: 0; padding: 0; }

/** Allow only vertical resizing of textareas. **/
textarea { resize: vertical; }

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade { margin: 0.2em 0; background: #ccc; color: #000; padding: 0.2em 0; }

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

.wrapper { width: 90%; margin: 0 5%; }

/* ===================
    Base Styles
   =================== */

.header-container { }

.footer-container, .main aside { }

.header-container, .footer-container, .main aside { }

.title { color: white; }

.header-container h1.title { font: 2em Montserrat; color: #14AE8F; text-transform: uppercase; font-weight: 800; margin-bottom: 0; letter-spacing: 0.25em;}

nav { display: none; }

.main h1, .main h2, .main h3 { font-family:  Amiri, serif; font-weight: normal; }

.main { padding: 30px 0; }

.main header h1 { font-size: 2.5em; line-height: 1em; text-transform: lowercase; }
.main header p { font-size: 1em; line-height: 1.45em; }

.main section { padding-top: 2em;  }
.main section h2 { text-align: center; margin-top: 0; }
.main section ul { line-height: 1.5em; padding-left: 0; }
.main section ul li { list-style-type: none; }

.main section h2 { font-size: 2.2em; line-height: 0.9em; text-transform: lowercase; }

/**.main section#work .grid { column-count: 1; }**/
.grid {
    display: grid;
    gap: 1rem;
    grid-auto-flow: dense; /* [2] */
    grid-template-columns: repeat(auto-fit, 320px); /* [1] */
    justify-content: center;
}

.grid > * {
    align-items: flex-start;
    background: #eee;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.grid .screenshot { width: 100%; }

.grid .expand { background: #eee; display: flex; flex-direction: row; flex-wrap: wrap; width: 100%; }
.grid .expand .column { display: flex; flex-direction: column; flex-basis: 100%; flex: 1; }
.grid .expand .column > div { margin: 25px; }
.grid .expand .column.left > div { margin-bottom: 0; }
.grid .expand .column.right > div { margin-top: 0; }

.grid .expand .column p { margin-top: 0; }
.grid .expand .column p strong { font-weight: bold; display: block; }

.grid .expand .left h3 { font-size: 2rem; margin: 0 0 1.5rem; }

.grid .expand .right { position: relative; }
.grid .expand .right img.close-btn { position: absolute; top: 15px; right: 15px; cursor: pointer; }

.grid .expand .right h4, 
.grid .expand .right ul.press li, 
.grid .expand .right ul.examples li { font-size: 0.8rem; }

.grid .expand .right h4, 
.grid .expand .right ul.examples li { font-weight: bold; text-transform: uppercase; color: #14AE8F; margin-bottom: 5px; }

.grid .expand .right ul.examples li { display: inline; margin-right: 15px; }

.grid .expand .right ul.press li a { color: #333; text-decoration: underline; }
.grid .expand .right ul.press li a:hover { color: #14AE8F; }

.grid .expand .right a.close { font-size: 0.75rem; color: #333; text-decoration: underline; font-weight: bold; ext-transform: uppercase; color: #14AE8F; margin-bottom: 0; cursor: pointer; }

.grid .fullwidth { grid-column: 1 / -1; }
.grid .is-hidden { display: none; }

#work .case { position: relative; }
#work .case img { display: block; width: 100%; height: auto; }
#work .case .overlay { position: absolute; width: 100%; height: auto; text-align: center; top: 0px; left: 0;
font-size: 1rem; justify-content: center; align-items: center; transition: .5s ease; opacity:0; background-color: rgba(0, 0, 0, 0.5); color: #ffffff; line-height: 1.6rem; display: block; padding: 20% 0; } 
#work .case .overlay:hover { opacity: 1; cursor: pointer; }
#work .case .overlay strong { font-weight: bold; font-size: 1.2em;
}

.main section#speciality ul { column-count: 1; }
.main section#speciality ul li { column-count: 1; margin-bottom: 15px; text-align: center; }

.main section#clients ul { column-count: 3; column-gap: 40px; }
.main section#clients ul li { text-align: center; }
.main section#clients ul li img { height: 45px; margin-bottom: 15px; }

.footer-container footer { text-align: center; padding-bottom: 20px; }
footer ul { margin: 0; padding: 0; text-align: center; margin-bottom: 15px; }
footer ul li { list-style-type: none; font-size: 11px; display: inline; margin-right: 15px; }
footer ul li.hide { display: block; }
footer ul.left { font-weight: 600; color: #14AE8F; letter-spacing: -1px; }
footer ul.left a:hover { text-decoration: underline; }

/* ==========================================================================
   Media Queries
   ========================================================================== */

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

/* ====================
    INTERMEDIATE
   ==================== */
  nav { display: block; }  
  nav ul {
      margin: 0;
      padding: 0;
      list-style-type: none;
  }
  
  nav a {
      display: block;
      margin-bottom: 15px;
      padding: 5px 0;
  
      text-align: center;
      text-transform: uppercase;
      text-decoration: none;
      font-size: .9em; 
      font-weight: normal;
      color: #14AE8F;
  }
  
  nav a:hover { font-weight: 800; }

    nav a {
        float: left;
        width: 29%;
        margin: 0;
        padding: 25px 2%;
        margin-bottom: 0;
    }

    nav li:first-child a {
        margin-left: 0;
    }

    nav li:last-child a {
        margin-right: 0;
    }
	
	.main section h2 { margin-top: 1.75rem; }
		
	.grid .expand .column > div { margin: 25px; }
	
	.main section#speciality ul { column-count: 2; }
	
	.main section#clients ul { column-count: 5; }
	.main section#clients ul img { width: auto; }
}

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

/* ============
    WIDE
   ============ */

    .title { float: left; }
    nav { float: right; width: 38%; }

    .main header h1, .main header p {width: 80%; }
    .main header h1 { font-size: 3em; line-height: 1em; }
    
    .main header:after, .main section:after { width: 100%; }

    .main article { }
    
    .main section h2 { text-align: left; 	}
	
	.grid .expand .column { display: }
	.grid .expand .column.left { flex: 25%; }
	.grid .expand .column.right {flex: 50%; }


    .main section#speciality ul { padding-left: 0px; column-count: 3; }
    .main section#speciality ul li { text-align: left; font-size: 1.15em; }
	.main section#clients ul { column-count: 7; }
	.main section#clients ul img { width: auto; }

    
    
/*    .main section#clients ul li { list-style-type: none; float: left; margin: 0px 35px 40px; }
    .main section#clients ul li img { height: 70px; } */
	
	footer ul.left { float: left;}
	footer ul li.hide { display: inline-block; }
	footer ul.right { float: right; }

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

/* ===============
    Maximal Width
   =============== */

    .wrapper {
        width: 1026px; /* 1140px - 10% for margins */
        margin: 0 auto;
    }
}


/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
  display: none !important;
}

/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
*    causes content to wrap 1 word per line:
*    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
* Extends the .sr-only class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
* Hide visually and from screen readers, but maintain layout
*/

.invisible {
  visibility: hidden;
}

/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
*    `contenteditable` attribute is included anywhere else in the document.
*    Otherwise it causes space to appear at the top and bottom of elements
*    that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
*    `:before` to contain the top-margins of child elements.
*/

.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
     * Printing Tables:
     * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

