/*
Theme Name: Josos - 2020
Theme URI:http://www.goodlookinkids.com
Description:
Version:1.0
Author:Good Lookin Kids Inc.
Author URI:http://www.goodlookinkids.com
Tags:

*/

/* ========================================================================== *\
   RESET
\* ========================================================================== */

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, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}

/* Make HTML 5 elements display block-level for consistent styling */
main, article, section, aside, hgroup, nav, header, footer, figure, figcaption {
  display: block;
}

/* ========================================================================== *\
   GENERAL TAGS
\* ========================================================================== */

* {
	box-sizing: border-box;
}

html, body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	font-size: 20px;
	line-height: 28px;
	font-family: 'Suranna', serif;
	color: #333333;
	background: url('images/general-bg.jpg');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-color: #2C0000;
}

p {
	padding-bottom: 25px;
}

h1,
.title-level-1 {
	font-size: 60px;
	line-height: 65px;
	padding-bottom: 25px;
}

h2,
.title-level-2 {
	font-size: 40px;
	line-height: 45px;
	padding-bottom: 25px;
}

h2.sectionTitle,
.title-level-2-alt {
	text-align: center;
	padding-bottom: 75px;
}

h3,
.title-level-3 {
	font-size: 28px;
	line-height: 45px;
	padding-bottom: 10px;
}

h4,
.title-level-4 {
	font-size: 30px;
	line-height: 30px;
	padding-bottom: 10px;
}

.title-level-1,
.title-level-2,
.title-level-3,
.title-level-4 {
	display: block;
}

a {
	color: #B41912;
	text-decoration: none;
    transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
}

a:hover {
	color: #cccccc;
}

hr {

}

blockquote {
	font-size: 30px;
	line-height: 35px;
	text-align: center;
	margin: 0 auto 25px auto;
	max-width: 550px;
	position: relative;
}

blockquote:before {
	content: "";
	display: block;
	width: 35px;
	height: 30px;
	background: url('images/quote-open.svg');
	background-position: center center;
	background-size: 35px 30px;
	background-repeat: no-repeat;
	position: absolute;
	top: -30px;
	left: -40px;
}

blockquote:after {
	content: "";
	display: block;
	width: 35px;
	height: 30px;
	background: url('images/quote-close.svg');
	background-position: center center;
	background-size: 35px 30px;
	background-repeat: no-repeat;
	position: absolute;
	bottom: 30px;
	right: -40px;
}

blockquote cite {
	display: block;
	margin: 25px auto 0 auto;
	font-size: 20px;
	line-height: 25px;
}

blockquote cite span {
	font-size: 16px;	
}

::selection {
	background: #2C0000;
	color: #ffffff;
}

::-moz-selection {
	background: #2C0000;
	color: #ffffff;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ========================================================================== *\
   STRUCTURE
\* ========================================================================== */

#wrapper {
	overflow-x: hidden;
}

#header {
	display: block;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 100;
	width: 100%;
	padding: 25px 0;
	background-image: linear-gradient(180deg, #000000 25%, rgba(0,0,0,0.00) 100%);
    transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
}

#header.nav-up {
	top: -150px;
}

#header.solid {
	background: #2C0000;
	padding: 15px 0;
}

#header.solid #logo {
	height: 80px !important;
	top: -20px;
}

#header .content {
	position: relative;		
}

#logo {
	display: block;
	position: absolute;
	left: 0px;
	top: -25px;
	height: 100px !important;
    transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;	
}

/* ================ *\
	MENU BUTTON
\* ================*/

.menuBtn {
	display: none;
	position: absolute;
	top: 40px;
	right: 40px;
	z-index: 9999999;
	place-items: center;
	height: 50px;
	width: 50px;
	cursor: pointer;
	background: #000;
	padding: 10px;
	border-radius: 100%;
}

.menuBtn > span {
	width: 30px;
	height: 4px;
	border-radius: 1px;
	background: #ffffff;
	display: block;
	transition: all 0.3s ease-in-out;
	box-shadow: 0px 1px 2px rgba(0,0,0,0.5);
}

.menuBtn .line-1 {
	width: 30px;
	justify-self: end;
}

.menuBtn .line-2 {
	width: 30px;
	justify-self: end;
}

.menuBtn:hover span:nth-child(1) {
	width: 20px;
}

.menuBtn:hover span:nth-child(2) {    
	width: 25px;
}

.menuBtn.active span:nth-child(1) {
	transform-origin: center center;
	transform: rotate(-45deg) translate(-7px, 7px);
	width: 30px;
}

.menuBtn.active span:nth-child(2) {
	transform: translateX(10px);
	opacity: 0;
}

.menuBtn.active span:nth-child(3) {
	transform-origin: center center;
	transform: rotate(45deg) translate(-7px, -7px);
	width: 30px;
}

/* ================ *\
	MENU
\* ================*/

#menu {
	display: block;
	text-align: center;
	margin: 25px auto;
    transition: all .5s ease-in-out;
	-webkit-transition: all .5s ease-in-out;
	-ms-transition: all .5s ease-in-out;	
}

#menu ul {
	display: block;
}

#menu ul li {
	display: inline-block;
	margin: 0 25px;
}

#menu ul li a {
	color: #ffffff;
	display: block;
	font-size: 20px;
	line-height: 24px;
	min-height:44px;
	min-width: 44px;
	padding: 10px 0 5px 0;
	border-bottom: 2px solid transparent;
}

#menu ul li a:hover,
#menu ul li.current_page_item a {
	border-bottom: 2px solid #B41912;
}

#menu ul li:last-child {
	position: absolute;
	right: 0px;	
}

#menu ul li:last-child a {
	font-size: 16px;
	padding: 10px 30px;
	border-radius: 20px;
	color: #B41912;
	background: #ffffff;
	text-shadow: none;
}

#menu ul li:last-child a:hover {
	background: #B41912;
	color: #ffffff;
}

#footer {
	font-size: 18px;
	line-height: 24px;
	color: #ffffff;
	padding: 0 0 25px 0;
}

.col1 { grid-area: col1; }
.col2 { grid-area: col2; }
.col3 { grid-area: col3; }

#footer .columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 1;
	grid-template-areas: 
	"col1 col2 col3";
}
.col1 { 
	padding: 100px 0 0 0;
}

.col2 { 
	text-align: center;
}

.col3 { 
	padding: 85px 0 0 0;
	text-align: right !important;
}

#footer .columns column {
	display: block;
}

#footerLogo {
	display: block;
	width: 100px;
	margin: 0 auto 25px auto;
}

ul.footerMenu {
	display: block;
	width: 100%;
	text-align: center;
	margin-bottom: 15px;
}

ul.footerMenu li {
	display: inline-block;
	margin: 0 10px;
}

ul.footerMenu li a {
	display: block;
	font-size: 18px;
	line-height: 18px;
	min-width:44px;
	min-height: 44px;
	color: #ffffff;
}

ul.footerMenu li a:hover {
	opacity: 0.6;
}

ul.social {
	display: block;
	width: 100%;
	margin-bottom: 15px;
}

ul.social li {
	display: inline-block;
	text-align: right;
	margin-left: 15px;
}

ul.social li a {
	color: #ffffff;
	display: block;
	font-size: 40px;
	line-height: 40px;
}

ul.social li a img {
	display: block;
	width: 35px;
}

ul.social li a:hover img {
	transform: scale(1.1,1.1);
}

.legal {
	display: block;
}

/* ========================================================================== *\
   HOME PAGE STYLES
\* ========================================================================== */

body.home {
	color: #ffffff;
	background-image: none;
	text-shadow: 0px 2px 2px rgba(0,0,0,0.5);
}

body.home #hero {
	min-height: 800px;
	padding: 275px 0 150px 0;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	position: relative;
	z-index: 0;
}

body.home #hero:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	z-index: 25;
	width: 100%;
	height: 150px;
	transform: rotate(180deg);
	background-image: linear-gradient(-180deg, #2C0000 0%, rgba(44,0,0,0.00) 100%);
}

body.home #hero .content {
		
}

body.home #hero .content p {
	padding-bottom: 50px;
}

.inner-dark {
	display: block;
	padding: 20px;
	background: rgba(0,0,0,0.7);
	max-width: 530px;
}

.inner-dark.wide {
	max-width: 100%;
}

.inner-dark.auto {
	margin: 0 auto;
}

.inner-dark p:last-child {
	padding-bottom: 0;
}

body.home #page {
	display: block;
	width: 100%;
	background: url('images/home-page.jpg');
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	padding: 200px 0 200px 0;
	position: relative;
	z-index: 0;
}

body.home #page:before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 25;
	width: 100%;
	height: 250px;
	background-image: linear-gradient(-180deg, #2C0000 10%, rgba(44,0,0,0.00) 100%);
}

body.home #page:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	z-index: 25;
	width: 100%;
	height: 150px;
	transform: rotate(180deg);
	background-image: linear-gradient(-180deg, #2C0000 0%, rgba(44,0,0,0.00) 100%);
}

body.home #page .column {
	display: block;
	max-width: 550px;
	float: right;	
	margin-bottom: 200px;
}

/* ========================================================================== *\
   PAGE AND SINGLE POST STYLES
\* ========================================================================== */

#hero {
	width: 100%;
	padding: 225px 0 50px 0;
	color: #ffffff;
}

#page {
	display: block;
	margin-bottom: 50px;
	color: #ffffff;
}

.container {
	padding: 60px 100px;
	background: rgba(255,255,255,0.9);
	color: #333333;
	margin-bottom: 100px;
	z-index: 25;
}

#page.about .content {
	position: relative;
}

#page.about .content:before {
	content: "";
	display: block;
	width: 350px;
	height: 350px;
	background: url('images/josos-statue.png');
	background-position: center center;
	background-size: 350px 350px;
	background-repeat: no-repeat;
	position: absolute;
	top: 400px;
	left: -280px;
	z-index: 75;
}

.container.about {
	position: relative;
}

.container.about:before {
	content: "";
	display: block;
	width: 560px;
	height: 560px;
	background: url('images/net.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 560px 560px;
	position: absolute;
	right: -400px;
	top: 0px;
	z-index: 0;
}

.container.history {
	position: relative;
	margin-bottom: 200px;
	z-index: 25;
}

.container.history:before {
	content: "";
	display: block;
	width: 300px;
	height: 170px;
	background: url('images/waves.svg');
	background-position: center center;
	background-size: 300px 170px;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -100px;
	left: -150px;
	z-index: 0;	
}

.container.history:after {
	content: "";
	display: block;
	width: 350px;
	height: 325px;
	background: url('images/plate.png');
	background-position: center center;
	background-size: 350px 325px;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -175px;
	right: -200px;
	z-index: 50;	
}

#hero.contact iframe {
	height: 320px;
}

.container.contact {
	
}

.parkingHours {
	display: block;
	max-width: 370px;
}

#openTable {
	display: block;
	width: 100%;
	margin-bottom:50px;
}

#openTable iframe {
	height: auto;
}

/*

#openTable ul {
	margin: 0;
	width: 100% !important;
}

#OT_form {
	width: 100% !important;
}

.OT_ExtLink {
	display: none !important;
}

.OT_wrapper {
    width: 100% !important;
}

a.OT_Find_a_Table:link {
	transition: none;
	-webkit-transition: none;
	-ms-transition: none;
}

.OT_searchTimeField, 
.OT_searchDateField, 
.OT_searchPartyField {
	width: 100% !important;
}

.OT_day, 
.OT_time, 
.OT_party {
	width: 100% !important;	
}

.OT_time, 
.OT_party {
	border-top: 2px solid #474037;
}

#openTable ul li {
	display: block;
	height: auto;
	margin: 0 0 0 0;
	padding: 15px 20px 10px 40px;
	list-style-type: none !important;
	line-height: 0px;
}

#openTable .OT_list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

#openTable .OT_list li {
	display: block;
	width: 33.333333% !important;
}

#openTable .OT_list li ul li {
	width: 100% !important;	
}

#openTable .OT_list li.OT_submit {
	width: 100% !important;
}

#openTable .OT_list li.OT_submit .OTButton, #OTButton {
	margin: 0px !important;
}

#openTable ul.OT_navList li {
	padding: 0px;
	width: 100%;
}

#openTable ul.OT_navList li a {
	padding: 1px 10px;	
}
*/

#openTable h1 {
	line-height: normal !important;
}

#openTable h2 {
	padding-bottom: 20px;
	line-height: normal !important;
}

/* ================================== *\
   CONDITIONAL BGS
\* ================================== */

body.page-template-about {
	background-image: url('images/about-bg.jpg');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

body.page-template-menu {
	background-image: url('images/menu-bg.jpg');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

body.page-template-contact {
	background-image: url('images/contact-bg.jpg');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	text-shadow: 0px 2px 2px rgba(0,0,0,0.5);
}

body.page-template-contact .container {
	text-shadow: none !important;
}

body.page-template-general {
	text-shadow: 0px 2px 2px rgba(0,0,0,0.5);
}

/* ========================================================================== *\
   MENU STYLES
\* ========================================================================== */

.container.menu {
	background: url('images/watermark.svg');
	background-size: 356px 586px;
	background-position: top 40px right 85px;
	background-repeat: no-repeat;
	background-color: rgba(255,255,255,0.9);
}

ul.menu {
	display: grid; 
	grid-template-columns: repeat(2, 1fr);
	margin: 0 0 75px -20px;
}

ul.menu li {
	display: block;
	list-style-type: none;
	margin-bottom: 20px;
	padding: 0 20px;
}

ul.menu li h3 {
	padding-bottom: 0px;
}

ul.menu li em {
	font-style: normal;
}

.note {
	display: block;
	color: #B41912;
	margin: -25px 0 25px 0;
}

/* ========================================================================== *\
   HISTORY STYLES
\* ========================================================================== */

ul.timeline {
	display: block;
}

ul.timeline li {
	display: flex;
	flex-direction: row;
}

ul.timeline li .year {
	display: block;
	position: relative;
	text-align: right;
	width: 15%;
	padding-right: 50px;
}

ul.timeline li .year:before {
	content: "";
	display: block;
	position: absolute;
	right: -18px;
	top: 0px;
	border: 4px solid #B41912;
	background: #ffffff;
	width: 25px;
	height: 25px;
	border-radius: 100%;
}

ul.timeline li .year .title-level-3 {
	color: #B41912;
	line-height: 30px;
}

ul.timeline li .body {
	display: block;
	width: 85%;
	padding: 0 0 25px 75px;
	border-left: 4px solid #B41912;
}

ul.timeline li:last-child .body {
	border-left: none;
}


/* ========================================================================== *\
   GENERAL CLASSES
\* ========================================================================== */

.ezcol {
	word-wrap: normal !important;
	hyphens: none !important;
}

.noscroll {
	overflow: hidden;
}

.clear {
    clear:both;
}

.center {
	text-align: center;
}

.red {
	color: #B41912;
}

.middle{
	width:75%;
	transition:.5s ease;
	position: absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	-ms-transform:translate(-50%,-50%)
}

.content {
	width: 1140px;
	margin: 0px auto;
}

.content.narrow {
	width: 750px;
}

.btn {
	display: inline-block;
	color: #ffffff;
	background: #B41912;
	font-size: 16px;
	line-height: 16px;
	padding: 12px 30px;
	margin-bottom: 25px;
	border-radius: 20px;
	text-shadow: none;
}

.btn.alt {
	background: #ffffff;
	color: #B41912;
}

.btn.alt:hover {
	background: #333333;
	color: #ffffff;
}

.btn:hover {
	background: #333333;
	color: #ffffff;
}

/* ========================================================================== *\
   FORM STYLES
\* ========================================================================== */

input {
    -webkit-appearance: none;
    border-radius: 0;
}

/* ========================================================================== *\
   ALIGNMENT
\* ========================================================================== */

.alignleft,
.alignright {
	max-width: 636px !important;	/* Let's work to make this !important unnecessary */
}

.alignleft img,
.alignright img,
.alignleft figcaption,
.alignright figcaption {
	max-width: 50%;
	width: 50%;
}

.alignleft figcaption {
	clear: left;
}

.alignright figcaption {
	clear: right;
}

.alignleft,
.alignleft img,
.alignleft figcaption {
  float: left;
  margin-right: 1.5em;
}

.alignright,
.alignright img,
.alignright figcaption {
  float: right;
  margin-left: 1.5em;
}

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


/* ========================================================================== *\
   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;
}

/* ========================================================================== *\
   GUTENBERG
\* ========================================================================== */

.entry-content > * {
  margin: 0px auto;
  max-width: 750px;
  padding-left: 14px;
  padding-right: 14px;
}

.noMarginBottom {
	margin: 36px auto 0px auto !important;
}

.noMarginTop {
	margin: 0px auto 36px auto !important;
}

.noMargin {
	margin: 0 auto;
}

.entry-content > .alignwide {
	margin: 2em auto;
	max-width: 1200px;
}

.entry-content > .alignfull {
  margin: 2em 0;
  max-width: 100%;
}

.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.3333333333%;
}

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

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

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

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

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

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

.gallery-caption {
  display: block;
}

.wp-block-button .wp-block-button__link {
	color: #ffffff;
	background: #B41912;
	font-size: 16px;
	line-height: 16px;
	padding: 12px 30px;
	border-radius: 20px;
	text-shadow: none !important;
}

.wp-block-button.alt .wp-block-button__link {
	background: #ffffff;
	color: #B41912;
}

.wp-block-button.alt .wp-block-button__link:hover {
	background: #333333;
	color: #ffffff;
}

.wp-block-button .wp-block-button__link:hover {
	background: #333333;
	color: #ffffff;
}

#page .entry-content ul,
#page .entry-content ol {
	max-width: 750px;
	margin: 0 auto 40px auto;
}

#page ul li {
	list-style-type: disc;	
}

#page ol li {
	list-style-type: decimal;
}

.wp-block-column .wp-block-image {
	margin: 0px 0px 20px 0px;
}


.is-cropped .blocks-gallery-item img {
	width: auto !important;
	height: 400px !important;
	max-width: 1000% !important;
	position: relative;
	top: 50%;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

.is-cropped .blocks-gallery-item figure {
	overflow: hidden;
}

@supports ((-o-object-fit: cover) or (object-fit: cover)) {
	.is-cropped .blocks-gallery-item img {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		-o-object-fit: cover;
		object-fit: cover;
		height: 400px !important;
		width: 100% !important;
		max-width: 100% !important;
		position: unset !important;
		top: unset !important;
		left: unset !important;
		-webkit-transform: unset !important;
		transform: unset !important;
	}
	
	.is-cropped .blocks-gallery-item figure {
		overflow: unset !important;
	}
}

/* ========================================================================== *\
   COLUMNS
\* ========================================================================== */

.one_half { 
	width:48%; 
}

.one_third { 
	width:30.66%; 
}

.two_third { 
	width:65.33%; 
}

.one_fourth { 
	width:22%; 
}

.three_fourth{ 
	width:74%; 
}

.one_fifth { 
	width:16.8%; 
}

.two_fifth{ 
	width:37.6%; 
}

.three_fifth { 
	width:58.4%; 
}

.four_fifth { 
	width:79.2%; 
}

.one_sixth { 
	width:13.33%; 
}

.five_sixth { 
	width:82.67%; 
}

.one_half,.one_third,.two_third,.three_fourth,.one_fourth,.one_fifth,.two_fifth,.three_fifth,.four_fifth,.one_sixth,.five_sixth{ 
	margin-right:4%; 
	float:left; 
	position:relative;
}

.last{ 
	margin-right:0 !important; 
	clear:right; 
}

.clearboth {
	clear:both;
	display:block;
	font-size:0;
	height:0;
	line-height:0;
	width:100%;
}