/*
Theme Name: DG2026
Theme URI: http://designgoblin.com/
Author: DesignGoblin
Author URI: http://www.designgoblin.com/
Description: This is an adaptive theme created for WordPress 5+
Version: 1.0
Tags: responsive-layout, custom-menus, fixed nav
Text Domain: designgoblin

DG2026 Theme ©2024 DesignGoblin
*/



* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
  -webkit-text-size-adjust: 100%;
}
.ease {
    -webkit-transition: all .2s ease;
    -moz-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease;
}
html {overflow-y: scroll;position:static!important;top:0!important;}
html, body {
  height: 100%;
  margin:0;
}

.small {font-size: 80%;line-height:normal;}
.large {font-size: 150%!important;line-height:normal;}
.center {text-align: center;}
.nopad {padding:0!important;}
.left {float:left;}
.right {float:right;text-align:right;}
.half {max-width:45%;}


/* responsive images //////////////////////////////////////////////////////////////////// */
img {
  max-width: 100%;
  max-width: auto;
  height: auto;
  display:block;
}


/* RESET /////////////////////////////////////////////////////////////////////////////// */

hr {margin:3em 0 1.5em 0; border-width: 0;border-top: 1px solid #E1E1E1; clear:both;}




/* Typography /////////////////////////////////////////////////////////////////////////// */
body {
  font-family: "Montserrat", Arial, sans-serif;
  font-weight:400;
  font-size: 16px;
  line-height: 26px;
  color: #444;
}

a:link, a:visited, a:active {
  text-decoration: none;
  color: #000;
  font-weight:600;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -ms-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
}
a:hover {color: #999;}



h1, h2, h3, h4, h5, h6 {margin:1.5em 0 .55em 0;font-weight:700;color:#666;line-height:1.1em;}
h1 {font-size:1.8em;letter-spacing: -.01em;text-align:center;margin-top:0;}
h2 {font-size:1.5em;text-transform: uppercase;color:#a8a7a3;margin-top:2em;}
h3 {font-size:1.5em;}
h4 {font-size:1.4em;}
h5 {font-size:1.1em;}
h6 {font-size:1.1em;text-transform: uppercase;margin:2em 0 .5em 0;font-weight:600;color: #9e9b94;}


ul {list-style-type: disc;padding: 0 0 0 20px;}
li {margin-bottom: 5px;}

ol {
  margin: 0 0 1.5em;
  padding: 0;
  counter-reset: item;
}

ol > li {
  margin: 0;
  padding: 0 0 5px 2em;
  text-indent: -2em;
  list-style-type: none;
  counter-increment: item;
}

ol > li:before {
  display: inline-block;
  width: 1em;
  padding-right: 0.5em;
  font-weight: bold;
  text-align: right;
  content: counter(item) ".";
}

blockquote {
    padding:1.2em 10% 0 10%;
    border-top:1px solid #e5e5e5;
    margin:2em 0 0 0;
    font-size: 1.5em;
    font-style: italic;
    font-weight:300;
    line-height:1.4em;
    color:#999;color: #9E9B94;
  clear:both;
}
blockquote p {margin:0!important;}
cite {
  width:100%;
  display:block;
  font-style:italic;
  font-size:.85em;
  text-align:center;
  padding:0 10% 1.5em 10%; 
  margin:0 0 2em 0;
  border-bottom:1px solid #e5e5e5;
}











/*SECTIONS //////////////////////////////////////////////////////////////////////// */
div.pagewrap {border:25px solid #fff;}

.container {
  position: relative;
  display:block;
  height:100%;
  /*max-width:1440px;*/
  margin:0 auto;
  padding:0;
}

header {
  padding:0 30px;
}

main {}


.content {
  max-width:80%;
  margin:0 auto;
}


.logo a {
  font-size:1.8em;
  font-weight:300;
  color:#222;
  padding:15px 0;
  display:inline-block;
}
.logo span  {color:#999;}





/* NAVIGATION //////////////////////////////////////////////////////////////////////////////// */

.mainnav {margin:0;}

#nav-trigger {
  display: none;
  position:absolute;
  right:20px;top:0;
}
/* hidden menu button */
#nav-trigger span  {
    display: inline-block;
    padding: 5px 10px;
    color: #555;
    cursor: pointer;
    font-size: 30px;
    background:transparent;
    z-index: 9999;
}




nav {z-index: 100;height:100%;}

/*main nav */
nav#nav-main {
  margin:0;
  position:relative;
  float:right;

}
nav#nav-main ul {
  list-style:none;
  position:relative;
  margin:0;
  padding:0;
}
nav#nav-main ul a {
  display:block;
  color:#777;
  text-decoration:none;
  font-weight:500;
  font-size:.8em;
  padding:30px 15px;
  text-transform:uppercase;
  letter-spacing: 1px;
}
nav#nav-main ul li {
  position:relative;
  float:left;
  margin:0;
  padding:0;
}
nav#nav-main ul li:hover a {
  color:#222;
  cursor: pointer;
  /*background:#FFF;*/
}


/* Dropmenu */
nav#nav-main ul ul {
  display:none;
  position:absolute;
  top:100%;
  left:0;
  padding:0;
  text-align:left;
  z-index:9999;
  box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.1);
}
nav#nav-main ul ul li { 
	float:none; 
	width:200px;
	/*
	border:1px solid #EEE;
	border-top:none;
	*/
}
nav#nav-main ul ul a{
  line-height:120%;
  padding:7px 10px;
  margin:0;
  font-weight:400;
  font-size:.75em;
  letter-spacing:normal;
  text-transform:none;
  color:#555!important;
  background:#FFF;
}
nav#nav-main ul li:hover > ul { display:block;}
nav#nav-main ul ul li:hover a { background:#f3f3f3!important;color:#222!important;}



/* Nav Button ////////////////////////////////////// */

#nav-main ul li.navbutton a {border:2px solid #0CC; border-radius: 3px; margin:5px 0 0 15px; padding:10px 20px;}
#nav-main ul li.navbutton a:hover,
#nav-main ul li.navbutton a:active {background:#0CC;color:#FFF;border-color:#0CC;}





/* MOBILE nav  ///////////////////////////////////////////////////////////////////// */

nav#nav-mobile {
    position: relative;
    display: none;
    clear:both;
  width:100%;
}
nav#nav-mobile ul {
    display: none;
    list-style-type: none;
    position: absolute;
    left: 0;
    right: 0;
    margin:0;
    padding:0;
    text-align: center;
    width:100%;
    -webkit-box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.15);
    -moz-box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.15);
    box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.15); 
}
nav#nav-mobile li {
    display: block;
    padding: 0;
    margin: 0;
    background:#FFF;
    border-top:1px solid #EEE;
}
nav#nav-mobile li a {
    display: block;
    padding: 10px 20px;
    color:#555;
    text-transform:uppercase;
    font-size:1em;
    font-weight:500;
}

nav#nav-mobile ul ul {
  display:none!important;
  margin:0;
  position: relative;
  border-bottom:none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
nav#nav-mobile ul ul li a {
  font-weight:normal; 
  color:#333;
  letter-spacing:0;
  text-transform:none;
  background:#f5f5f5;
}

nav#nav-mobile ul li:hover > ul { display:block!important;}

/* drop menu hover */
nav#nav-mobile a:hover, nav#nav-mobile a:active {background:#666;color:#FFF;}





/* CONTENT ////////////////////////////////////////////////////////////// */

.image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16.666667%, 1fr));
  gap: 0;
}

.image-wrapper {
  aspect-ratio: 1 / 1; 
  overflow: hidden;
  background:#282828;
}

.image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
  object-position: center;
  transition: transform 0.5s ease; 
}
.image-wrapper:hover img {transform: scale(1.2); /* Zoom level */}




.title {
  font-size:3vw;
  line-height:normal;
  font-weight:300;
  padding:2%;
  color:#666;
}
.title span {font-weight:700;}





.artwork_image {padding:3% 0;background:#282828;}
.artwork_title {
	font-size:1.5em;
	font-weight:200;
	padding:50px 0 10px 0;
}
.artwork_button_container {padding:0 0 2% 0;background:#282828;}
.artwork_button_container .button a {color:#FFF;}
.artwork_button_container .button a:hover {background:rgba(255,255,255,0.15);}



.artwork_client {}
.artwork_date {font-weight:600;}
.artwork_notes {
	padding:20px 0 2% 0;
}








.button a {
  border-radius: 3px;
  border:2px solid #DDD;
  background:transparent;
  margin:25px 0; 
  padding:7px 20px;
  display:inline-block;
  text-transform:uppercase;
  font-size:.75em;
  font-weight:600!important;
  letter-spacing:0.1em;
  color:#333;
}
.button a:hover,.button a:active {
	background:rgba(0,0,0,0.05); 
}

.intro {font-size:1.6em;line-height:1.3em;font-weight:300;padding:2% 5%;text-align:center;color:#999;}


.news-and-events hr {margin-bottom:0;}
.meta {
	text-align:center;
	background:#f3f3f3;
	text-transform:uppercase;
	display:block;
	margin:0 auto;
	width:200px;
	padding:5px;
	font-size:0.65em;
	font-weight:600;
	letter-spacing:0.1em;
}



.entry p {
	text-align:center;
	margin:0;
	font-size:80%;
}


.news-and-events img {padding:30px 0;}
.wp-caption {max-width:99%;}
.wp-caption-text {font-size:.8em;line-height:1.4em;color:#777;text-align:center;font-style:italic;margin:-10px 0 30px 0;padding:0;}








/* FOOTER /////////////////////////////////////////////////////////////// */

footer {
    background:#282828;
    color:#999;
    padding:50px 30px;
	text-align:center;
}

.footerlogo a {
  font-size:1.6em;
  font-weight:300;
  color:#fff;
  padding:15px 0;
  display:inline-block;
}
.footerlogo span  {color:#999;}

.copyright {padding:20px 50px 0 50px;text-align:center;font-size:.9em;clear:both;line-height:normal;}


a.back-to-top {
    font-size:2em;
    line-height: 40px;
    display: none;
    width:50px;
    height:50px;
    position: fixed;
    z-index: 9999;
    right: 25px;
    bottom: 25px;
    background: #333;
    color:#fff;
    text-align:center;
	padding:0;
}
a.back-to-top:hover { background: #EEE;color:#333;}







/* 404 Error //////////////////////////////////////////////////////////////////// */
.error-404 {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    line-height:normal;
    background:#fff;
}
.error-404 p {margin-bottom:20px;}

.outer {
  display: table;
  width: 100%;
  height: 100%;
    padding:5% 5% 15% 5%;
}
.inner {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
.centered {
  position: relative;
  display: inline-block;
}
.error404 {font-size:8em; font-weight:700;padding:20px 20px 0 20px;display:block;line-height:.85em;}
.errortitle {font-size:2.2em;text-transform:uppercase;color:#999;font-weight:600;}
.errormessage {font-size:1.2em;}



















/* WordPress /////////////////////////////////////////////////////////////////////////// */

.widgetTitle {display:none;}

/* numerical pagination ------------------------------------------------------ */
.pagination {text-align:center;clear:both;padding-top:20px;/*border-top:1px solid #ddd;*/}
.pagination ul {padding:0;font-weight:600;font-size:.8em;}
.pagination li {display: inline;}
.pagination li a,
.pagination li a:hover,
.pagination li.active a,
.pagination li.disabled {
  border-radius: 3px;
  cursor: pointer;
  padding: 7px 12px;
  color: #555;
  text-decoration:none;
  border:1px solid #DDD;
  font-weight:500;
	margin-right:5px;
}
.pagination li a:hover {background-color: #000;color:#FFF;}
.pagination li.active a {background-color: #999;color:#FFF;}


.nextprev {font-size:.9em;line-height:1.5em;padding:0;color:#999;}
.nextprev div {margin:10px 0 15px 0;}



/* WP image alignment fix */
img.alignright {float:right;}
img.alignleft {float:left;}
img.aligncenter {display: block;margin:0 auto;}

.alignright {float:right;}
.alignleft {float:left;}
.aligncenter {display: block;margin:0 auto;}
.alignnone {}




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


@media all and (max-width: 1200px) {

  
    #nav-trigger,
    nav#nav-mobile {display: block; }
    nav#nav-main  {display: none; }

    body {font-size:1.0em;line-height:20px;}
	header {padding:0;}
	.logo a {padding:10px 0;}
	
	.title {
	  font-size:2.5rem;
	  line-height:3rem;
	  padding:0;
	}
	
  
  .intro {font-size:1.2em;line-height:1.2em;margin:0;padding:30px 0;}
  
}

 @media only screen and (max-width: 768px) {
	 
	p.intro {font-size:1.2em;line-height:1.2em;padding:30px 0;}

	 .image-grid {
		 grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
		}

}



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

.image-grid {
		 grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
		}

 }