/*
Theme Name: bancha
Theme URI: http://underscores.me/
Author: Jesse Randall
Author URI: github.io/jesserandall
Description: Description
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: bancha
Tags:

This theme, like WordPress, is licensed under the GPL.

bancha is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> UNDERSCORES TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Accessibility
# Alignments
# Clearings
# Widgets
# Infinite scroll
# Media
	## Captions
	## Galleries
* Navigation
* Content
  ** Posts and pages
  ** Comments
* WooCommerce
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main-content,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

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

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

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

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

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

button[disabled],
html input[disabled] {
  	cursor: default;
}

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

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

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

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

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

td,
th {
	padding: 0;
}


/*--------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
	font-family: sans-serif;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul {
	list-style: none;
  list-style-position: outside;
  -webkit-margin-before: 0px;
  -webkit-margin-after: 0px;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  -webkit-padding-start: 0px;
}

ol {
	list-style: decimal;
}
li > ul,
li > ol {
	margin-bottom: 0;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

figure {
	margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/


/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-content:before,
.site-content:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}

/*===========================================
Site Specific Styles
===========================================*/

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/


.site-header {
	width: 100vw;
	height: 50px;
	position: relative;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
	background:#292929;
	box-shadow: 0 0 0 #000;
  overflow:hidden;
	backface-visibility: hidden;
	transition: all 0.3s cubic-bezier(0.7, 0.01, 0.3, 1);
  transition-delay: 400ms;
}

.site-header.shownav{
  width: 100vw;
	height: 100vh;
}

nav {
	background: #292929;
}

.dc-menu-open {
  width: 100vw;
  height: 100vh;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 250px 1fr;
  grid-row-gap: 50px;
  justify-items: center;
}

.dc-menu-trigger {
	position: absolute;
	top: 0px;
	left: 11px;
	display: block;
	width: 28px;
	height: 50px;
	cursor: pointer;
	z-index: 99999;
	transition: all 0.5s cubic-bezier(0.7, 0, 0.36, 0.63);
  transition-delay: 600ms;
}

.dc-menu-trigger span {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 100%;
	height: 3px;
	margin-top: -2px;
	background-color: #fff;
	font-size: 0px;
	user-select: none;
	transition: background-color 0.5s;
}

.dc-menu-open .dc-menu-trigger span {
	background-color: transparent;
}

.dc-menu-open .dc-menu-trigger {
	left:90%;
	transition: all 0.4s cubic-bezier(0.7, 0, 0.36, 0.63);
}

.dc-menu-trigger span:before,
.dc-menu-trigger span:after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	content: '';
  transition: all 0.5s cubic-bezier(0.7, 0, 0.36, 0.63);
}

.dc-menu-trigger span:before {
	transform: translateY(-250%);
}

.dc-menu-trigger span:after {
	transform: translateY(250%);
}

/*Just bust a move*/
.dc-menu-open .dc-menu-trigger span:before {
	transform: translateY(0) rotate(45deg);
}

.dc-menu-open .dc-menu-trigger span:after {
	transform: translateY(0) rotate(-45deg);
}


.dc-menu-close .dc-menu-trigger:before {
	animation: plusVertical 0.3s ease forwards;
}

.dc-menu-close .dc-menu-trigger:after {
	animation: plusHorizontal 0.3s ease forwards;
}

.menu-overlay > ul {
	visibility: hidden;
  list-style-type: none;
	padding: 0;
	opacity: 0;
  transition: all 0.0s cubic-bezier(0.7, 0, 0.36, 0.63);
	transform: perspective(600px) rotateX(20deg) rotateY(-20deg);
}

.menu-overlay ul li a,
.woocommerce-nav-overlay ul li a {
  color: #fff;
}

.menu-overlay ul li:hover {
  color:#eee;
  cursor:pointer;
}

.menu-overlay.open ul {
	visibility: visible;
	opacity: 1;
	margin-top: 0;
	transform: perspective(600px) rotateX(0deg) rotateY(0deg);
	transition: all 0.6s cubic-bezier(0.7, 0, 0.36, 0.63);
	transition-delay: 400ms;
}

.menu-overlay.open > ul > li {
  text-align: center;
  font-size: 1em;
  font-weight: 100;
  letter-spacing: 2px;
  text-decoration: none;
}

.dc-menu > img {
  display: none;
}

.dc-menu-open > img {
  display: block;
  grid-column: 1;
  margin-top: 50px;
  width: 200px;
}

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

  .menu-overlay.open > ul.menu {
    display: grid;
    grid-auto-rows: 2em;
    justify-self: center;
  }
  .dc-menu-open {
    grid-row-gap: 30px;
  }
}

@media only screen and (min-width: 501px) and (max-width: 800px) {

  .menu-overlay.open > ul.menu {
    display: grid;
    grid-auto-rows: 3em;
    justify-self: center;
  }

}

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

  .menu-overlay.open > ul.menu {
    display: grid;
    grid-auto-rows: 3em;
    justify-self: center;
  }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.site-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 25px;
  border-top: 4px solid #292929;
  margin-top: 5em;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 99998;
  background-color: #292929;
}

.social-links {
  display: flex;
  justify-content: space-around;
}

.woocommerce-links {
  display: flex;
  justify-content: space-around;
}

.svg {
  width: 15px;
  height: 15px;
  -webkit-filter: invert(100%);
  filter: invert(100%);
}


/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/

body {
  background-color: #fff;
  color: #0D0C0C;
  font-family: "Nanum Gothic", sans-serif;
  letter-spacing: .1rem;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  color: #0D0C0C;
}

p > a {
  text-decoration: underline;
  color: #0F47A6;
  font-weight: bold;
}

a:hover,
a:focus,
a:active {
  text-decoration: underline;
}

a:focus {
	outline: thin dotted;
}

a:hover {
  cursor: pointer;
}

a:hover,
a:active {
	outline: 0;
  text-decoration: underline;
}

.site-main {
  margin: 2em 5vw 5em 5vw;
}

.title {
  text-align: center;
}

/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
/*Front Page Template*/

.hero {
  margin: 2em 5vw 6em 5vw;
  text-align: justify;
  text-align: center;
  display: grid;
}

.hero-right {
  background-color: #e8ffed;
  display: grid;
  align-items: center;
  padding: 0 5px 0 5px;
}

.hero-text {
  font-family: "Nanum Gothic Bold";
  color: #292929;
  align-items: center;
}

.hero_image {
  width: 40vw;
  height: 40vw;
}

@media only screen and (max-width: 940px) {
  .hero {
    display: grid;
    grid-template-rows: 90vw 90vw;
  }

  .hero-left {
    border: 2px solid #292929;
  }

  .hero-right {
    border-left: 2px solid #292929;
    border-right: 2px solid #292929;
    border-bottom: 2px solid #292929;
  }
}

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

  .hero {
    display: grid;
    grid-template-columns: 45vw 45vw;
    grid-template-rows: 45vw;
  }

  .hero-left {
    grid-column: 1/2;
    border: 2px solid #292929;
  }

  .hero-right {
    grid-column: 2;
    grid-row: 1/3;
    border-top: 2px solid #292929;
    border-right: 2px solid #292929;
    border-bottom: 2px solid #292929;
  }

  .hero-text {
    margin-left: 40px;
    margin-right: 40px;
  }
}

.press-grid {
  display: grid;
  margin-left: 5vw;
  margin-right: 5vw;
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  margin-bottom: 4em;
}

.press-link-heading {
  text-align: center;
}

.press-link {
  border-top: 2px solid #afafaf;
  padding: 0 40px 0 40px;
}

@media only screen and (max-width: 500px) {
  .press-grid {
    grid-template-columns: 1fr;
  }
}

@media only screen and (min-width: 501px) and (max-width: 800px) {
  .press-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media only screen and (min-width: 801px) and (max-width: 1200px) {
  .press-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media only screen and (min-width: 1201px) {
  .press-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

/*About Page Template*/

.about-grid {
  display: grid;
  justify-items: center;
}

.about-1 {
  text-align: center;
}

@media only screen and (min-width: 1000px) {
  .about-grid {
    display: grid;
    grid-template-columns: 50% 50%;
    grid-template-rows: 1fr;
    grid-column-gap: 2em;
    grid-row-gap: 4em;
  }
  .about-1 {
    grid-column: 1;
    grid-row: 1;
    text-align: left;
  }

  .about-image-1 {
    grid-column: 2;
    grid-row: 1;
    margin-top: 1em;
  }
}

/*Blog Template*/

.blog-grid {
  text-align: center;
}

.blog-grid-item {
  margin-bottom: 5em;
}

/*Blog Post Pages*/

.entry-header {
  text-align: center;
}

/*Location Page*/

.location_image_1,
.location_image_2 {
  justify-self: center;
}

@media only screen and (max-width: 800px) {
  .locations-grid {
    display: grid;
    grid-template-columns: 90vw;
    grid-template-rows: auto;
  }
  .location-1,
  .location-2 {
    display: grid;
    grid-template-rows: 80vw 12em;
    grid-row-gap: 10vw;
  }

  .location-info-1,
  .location-info-2 {
    text-align: center;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 3em 6em 2em;
  }
  .location_title_1,
  .location_title_2 {
    grid-column: 1/3;
    grid-row: 1;
  }
  .location_address_1,
  .location_address_2 {
    grid-column: 1;
    grid-row: 2;
  }

  .location-link-1,
  .location-link-2 {
    grid-column: 1/3;
    grid-row: 3;
    color: #0F47A6;
    font-weight: bold;
  }
}

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

  .locations-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 20px;
  }
  .location-1,
  .location-2 {
    display: grid;
    grid-template-rows: 45vw 15em;
    margin-top: 2em;
  }

  .location_image_1,
  .location_image_2 {
    grid-row: 1;
  }

  .location-info-1,
  .location-info-2 {
    text-align: center;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 5em 6em 3em;
  }

  .location_title_1,
  .location_title_2 {
    grid-column: 2/4;
    grid-row: 1;
  }

  .location_hours_1,
  .location_hours_2 {
    grid-column: 3/5;
    grid-row: 2;
  }

  .location_address_1,
  .location_address_2 {
    grid-column: 1/3;
    grid-row: 2;
  }

  .location-link-1,
  .location-link-2 {
    grid-column: 2/4;
    grid-row: 3;
    color: #0F47A6;
    font-weight: bold;
  }
}

/*Location Pages*/

.location-grid {
  justify-content: center;
  width: 90vw;
}

.location-image {
  max-width: 100%;
}

.location-text {
  width: 400px;
  height: 400px;
  letter-spacing: 2px;
  align-items: center;
}

.location-text-2 {
  display: grid;
  padding: 0 45px 0 45px;
}

.location-text-3 {
  display: grid;
  align-items: center;
  padding: 0 45px 0 45px;
}

@media only screen and (max-width: 819px) {
  .location-grid {
    display: grid;
    grid-template-columns: 400px;
    grid-template-rows: auto;
    grid-row-gap: 20px;
  }
}

@media only screen and (min-width: 820px) and (max-width: 1249px) {

  .location-grid {
    display: grid;
    grid-template-columns: 400px 400px;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }
}

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

  .location-grid {
    display: grid;
    grid-template-columns: 400px 400px 400px;
    grid-template-rows: 1fr 1fr 1fr 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }
}
/*Contact Form*/

.contact-text {
  text-align: center;
}

.wpcf7-text {
  border-style: solid;
  border-width: 0 0 2px 0;
  border-color: #000;
  line-height: 26px;
}

.wpcf7-textarea {
  margin-top: 1em;
  border-style: solid;
  border-width: 2px 2px 2px 2px;
  border-color: #000;
  padding: 2px 2px 2px 2px;
}

.wpcf7-submit {
  justify-content: center;
  display: inline-block;
  width: 25%;
  height: 3em;
  background-color: #131414;
  color: #e0eeee;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 16px;
  line-height: 24px;
  padding: 8px 16px;
  border: none;
  cursor: pointer;
}

.wpcf7-form > p {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 4em 4em 4em 1fr 2em;
  grid-row-gap: 1em;
}
.name {
  grid-row: 1;
  justify-self: center;
}
.email {
  grid-row: 2;
  justify-self: center;
}
.subject {
  grid-row: 3;
  justify-self: center;
}
.message {
  grid-row: 4;
  justify-self: center;
}
.wpcf7-submit {
  grid-row: 5;
  justify-self: center;
  width: 100px;
}

.contact-wrapper {
  display: grid;
  justify-items: center;
}

.contact-photo {
  vertical-align: middle;
}

@media only screen and (min-width: 801px) {
  .contact-wrapper {
    display: grid;
    grid-template-columns: 40vw 50vw;
    grid-column-gap: 5vw;
    grid-template-rows: 10em 1fr;
  }

  .contact-form-picture {
    grid-column: 1;
    grid-row: 2;
    margin-top: 15px;
  }

  .contact-text {
    grid-column: 1/3;
    grid-row: 1;
    margin: 0 10vw 0 0;
  }

  .contact-form {
    grid-column: 2;
    grid-row: 2;
  }
}