/*
Theme Name: Café Gaya (Flint)
Theme URI: https://poppmedia.dk
Version: 1.0
Description: Classic bare-bones theme. Developing for Wordpress. Designing for Cavemen. Powered by Flint.
Author: poppmedia
Author URI: https://www.poppmedia.dk
*/


/*
	VARS
*/

	:root {
		
		--font_family: 'brandon-grotesque';
		
		--accent_color: #819550;
		
		--font_color: #282828;
		--link_color: #848484;
		--link_color_hover: #282828;
		--nav_color: #282828;
		--nav_color_hover: #282828;
		
		--canvas_bg_color: #F5F4F0;
		--container_bg_color: transparent;
		
		--header_bg_color: transparent;
		--nav_bg_color: #275BAA; /* Nav popup bg */
		
		--footer_color: #282828;
		--footer_bg_color: transparent;
		--bottom_color: #282828;
		--bottom_bg_color: transparent;
		
		--nav_height: 180px;
		--nav_margin: 20px;
		
		--logo_ratio: 1;
		--logo_height: calc(var(--nav_height) - 2 * var(--nav_margin));
		--logo_width: calc(var(--logo_height) * var(--logo_ratio));
		
		--section_margin_top: 0px;
		--section_padding: 100px;
		
		--container_width: 1300px;
		--container_padding_vertical: 60px;
		--container_padding_horisontal: 20px;
		--container_padding_horisontal_body: calc( var(--logo_width) / 2 + var(--container_padding_horisontal));
		
		--xtop_spacer: var(--nav_height);
		--top_spacer: calc( var(--logo_height) / 2 + var(--nav_margin) );
		
		--grid_cols: 2;
		--grid_gap: 60px;
				
	}



@media only screen and (max-width: 767px) {
	:root {
		--grid_cols: 1;
	}
}

@media only screen and (min-width: 768px) {
	:root {
		--grid_cols: 2;
	}
}

@media only screen and (min-width: 992px) {
	:root {
		--grid_cols: 2;
	}
}


/*
	UNIVERSAL
*/
	
	* {
		box-sizing: border-box;
	}
	
	html {
		scroll-behavior: smooth;
		height: 100%;
		font-size: 18px;
	}
	
	body {
		font-family: var(--font_family), 'arial', sans-serif;
		1font-size: 1em;
		line-height: 1.4em;

		margin: 0;
		padding: 0;
		
		color: var(--font_color);
		background-color: var(--canvas_bg_color);
		
	}

	h1 {
		font-size: 2.5em;
		line-height: 1em;
	}
	
	a {
		color: var(--link_color);
		text-decoration: none;
	}
	a:hover {
		color: var(--link_color_hover);
		text-decoration: none;
	}
	a.btn {
		padding: 5px 10px;
		border: solid 2px var(--nav_color);
		color: var(--nav_color);
	}
	
	input[type='text'],
	input[type='date'],
	input[type='time'],
	input[type='email'],
	input[type='number'] {
		border: none;
		border-bottom: solid 1px #aaa;
		padding: 10px;
		font-size: 14px;
		width: 100%;
	}
	
	input[type='submit'] {
		font-size: 14px;
		font-weight: bold;
		background-color: var(--accent_color);
		border: none;
		color: #fff;
		padding: 10px 20px;
		cursor: pointer;
	}
	input[type='button'] {
		font-size: 14px;
		background-color: transparent;
		border: solid 1px #aaa;
		color: #333;
		padding: 10px 20px;
		cursor: pointer;
	}
	


/*
	LAYOUT
*/
	
	.flint_section {
		width: 100%;
		1margin: 0;
		margin: var(--section_margin_top) 0;
		1padding: 0 var(--nav_padding);
		padding-bottom: var(--section_padding);
	}
	
	.flint_container {
		1width: 960px;
		max-width: var(--container_width);
		1padding: 0 var(--container_padding_horisontal);
		1margin: var(--container_margin_vertical) auto;
		padding: var(--container_padding_vertical) var(--container_padding_horisontal_body);
		margin: 0 auto;
		background-color: var(--container_bg_color);
	}
	.flint_container.full_width,
	.full_width .flint_container {
		1width: calc(100% - 2 * var(--nav_margin));
		width: 100%;
		max-width: 100%;
	}
	.flint_content {
		display: inline-block;
	}
	.flint_content::after {
		content: "";
		clear: both;
		display: block;
	}
	
	#top_spacer {
		height: var(--top_spacer);
	}
	
	/* Grid Layout */
	
	.grid_container {
		display: grid;
		gap: var(--grid_gap);
		grid-template-columns: repeat(var(--grid_cols), minmax(0, 1fr));
		/* grid-template-rows: masonry; */
		margin-bottom: var(--grid_gap);
	}
	.grid_container::after {
		content: "";
		clear: both;
		display: block;
	}
	
	.grid_item_span_2 {
		grid-column: span 2;
	}
	.grid_item_span_3 {
		grid-column: span 3;
	}
	
	
	
	/* Masonry Layout */
	
	.masonry_container {
		
	}
	.masonry_grid_sizer,
	.masonry_container .grid_item {
		width: calc( (100% - (var(--grid_gap) * (var(--grid_cols) - 1))) / var(--grid_cols) );
	}
	.masonry_gutter_sizer {
		width: var(--grid_gap);
	}
	.masonry_container .grid_item {
		margin-bottom: var(--grid_gap);
	}
	
	


/*
	TOP
	https://ishadeed.com/article/website-headers-flexbox/
*/
	
	#flint_top {
		position: fixed;
		width: 100vw;
		top: 0;
		background-color: var(--header_bg_color);
		padding: 0;
		z-index: 9999990;
	}
	
	#flint_top .flint_container {
		margin: var(--nav_margin) auto;
		padding: 0 var(--container_padding_horisontal);
		1padding: 0 20px;
		display: flex;
		justify-content: space-between;
		1align-items: center;
		background-color: var(--header_bg_color);
	}
	.flint_container_first {
		padding-top: 0;
	}
	
	#flint_logo {
		3float: left;
		2width: var(--logo_width);
		height: var(--logo_height);
	}
	#flint_logo img {
		height: 100%;
	}
	
	/* Main Navigation */
	
	.flint_navigation {
		1float: right;
		1width: calc(100% - var(--logo_width));
		height: var(--logo_height);
		display: flex;
		2justify-content: flex-end;
		align-items: center;
		
		/* Gaya */
		align-items: flex-start;
	}
	
	.flint_navigation ul {
		list-style-type: none;
		font-size: 1.0em;
		margin: 0;
		padding: 0;
		padding-top: calc( var(--nav_margin) / 2 );
	}
	.flint_navigation li {
		display: inline;
		1padding: 15px 20px;
		padding: 15px 10px;
	}
	.flint_navigation li a {
		padding: 5px 0px;
		color: var(--nav_color);
		text-decoration: none;
	}
	.flint_navigation li a:hover {
		color: var(--nav_color_hover);
		border-bottom: solid 2px var(--nav_color_hover);
	}
	.flint_navigation li.current-menu-item a {
		border-bottom: solid 2px var(--nav_color);
	}
	.flint_navigation li > ul {
		display: none;
	}
	
	.flint_navigation .nav_btn a {
		border: solid 2px var(--nav_color);
		padding: 5px 10px;
	}
	
	
	/* Burger Menu */
	
	#flint_top svg.burger_menu_btn {
		1border: solid 1px #ccc;
		height: calc(var(--logo_height) / 2);
		width: calc(var(--logo_height) / 2);
		cursor: pointer;
	}
	#flint_top svg.burger_menu_btn rect {
		fill: none;
	}
	#flint_top svg.burger_menu_btn line {
		stroke: var(--nav_color);
		stroke-width: 2;
	}
	
	#flint_top #burger_menu_container.full_screen {
		display: none;
		position: fixed;
		left: 0px;
		top: 0px;
		width: 100vw;
		height: 100vh;
		background-color: var(--canvas_bg_color);
	}
	#flint_top #burger_menu_container.visible {
		display: block;
	}
	
	#flint_top #burger_menu_container .flint_section {
		position: fixed;
		top: 0px;
		right: 0px;
	}
	#flint_top #burger_menu_container .flint_container {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		height: var(--logo_height);
		
	}
	
	#burger_menu_btn_close {
		position: fixed;
		right: 20px;
		top: 20px;
		height: calc(var(--logo_height) / 2);
		width: calc(var(--logo_height) / 2);
		cursor: pointer;
	}
	#burger_menu {
		display: flex;
		height: 100%;
		justify-content: center;
		align-items: center;
	}
	#burger_menu ul {
		list-style-type: none;
		margin: 0 auto;
		padding: 0;
		font-size: 1.4em;
		line-height: 1.4em;
		text-align: center;
	}
	#burger_menu li {
		display: block;
	}
	#burger_menu li a {
		color: var(--nav_color);
	}
	
	
	
/*
	BOTTOM
*/

	#flint_footer {
		display: flex;
		1height: calc(100vh - var(--nav_height));
		height: 100vh;
		justify-content: center;
		align-items: center;
	}
	#flint_footer .flint_container {
		2padding-top: 240px;
		2padding-bottom: 160px;
		1margin: 0 auto;
		1color: var(--footer_color);
		1background-color: var(--canvas_bg_color);
	}
	
	#flint_widgetarea_footer {
		/* https://css-tricks.com/equal-columns-with-flexbox-its-more-complicated-than-you-might-think/ */
		display: grid;
		gap: var(--grid_gap);
		1grid-template-columns: repeat(var(--grid_cols), 1fr);
		2grid-template-columns: repeat(var(--grid_cols), minmax(0, 1fr));
		grid-auto-flow: column;
		grid-auto-columns: 1fr;
		/*
		display: flex;
		1justify-content: space-between;
		*/
	}
	.flint_widgetarea_footer > * {
		/* flex: 1; */
	}
	
	.flint_widget {
		/* Custom */
		text-align: center;
		padding: 100px 0;
		font-size: 1.5em;
		line-height: 1.6em;
	}
	
	
	
	footer {
		width: 100vw;
		
		/* Gaya */
		position: fixed;
		bottom: 0;
		1background-color: var(--canvas_bg_color);
	}
	
	#flint_bottom {
		padding: 0;
	}
	#flint_bottom .flint_container {
		display: flex;
		justify-content: space-between;
		color: var(--bottom_color);
		background-color: var(--bottom_bg_color);
		1max-width: var(--container_width) + var(--logo_width) );
		margin: 0 auto;
		padding: var(--container_padding_horisontal);
		1padding: 20px;
	}
	#flint_bottom .bottom_flex_item {
		font-weight: bold;
		font-size: 1.2em;
	}
	#flint_bottom #copyright_note {
		display: none;
		font-size: 0.8em;
		text-align: center;
	}
	
	#flint_bottom a {
		color: var(--nav_color);
	}
	
	

/*
	STICKY FOOTER
	https://css-tricks.com/couple-takes-sticky-footer/
	
	body.sticky_footer_flexbox {
		display: flex;
		flex-direction: column;
		height: 100%;
	}
	
	#flint_body.sticky_footer_flexbox {
		flex: 1 0 auto;
	}
	
	footer.sticky_footer_flexbox {
		flex-shrink: 0;
	}

*/

	

/*
	CONTENT
*/




/*
	WIDGET AREAS
*/
	
	#flint_sidebar_primary {
		float: right;
		width: calc(30% - var(--grid_gap));
		border-left: solid 1px #ccc;
		padding: 0 30px;
		margin-left: var(--grid_gap);
	}




/*
	CUSTOM
*/

	
	
	/* Events + Inspiration */
	
	#flint_posts_archive .flint_container {
		1display: grid;
		1grid-gap: var(--grid_gap);
		1grid-template-columns: repeat(var(--grid_cols), minmax(0, 1fr));
	}
	#flint_posts_archive .flint_event {
		3border: solid 1px green;
	}
	#flint_posts_archive .flint_event .event_post_text {
		margin: 0 100px 0 50px;
	}
	#flint_posts_archive .flint_event .btn_signup {
		padding-top: 30px;
	}
	#flint_posts_archive .flint_event .btn_signup a {
		border: solid 1px var(--nav_color);
		color: var(--nav_color);
		padding: 5px 10px;
		text-decoration: none;
	}
	
	#flint_masonry {
		
	}
	#flint_masonry .masonry_item,
	.masonry_grid_sizer {
		width: calc( (100% - (var(--grid_gap) * (var(--grid_cols) - 1))) / var(--grid_cols) );
	}
	.masonry_gutter_sizer {
		width: var(--grid_gap);
	}
	#flint_masonry .masonry_item {
		margin-bottom: var(--grid_gap);
	}
	
	
	
	/* Gaya Home Page */
	
	img.gaya_featured_img {
		width: 70%;
		height: auto;
	}
	.gaya_align_full img {
		width: 100%;
	}
	.gaya_grid_rightcol {
		margin-top: 100px;
		padding-right: 100px;
	}
	.gaya_grid_leftcol {
		padding-left: 100px;
	}
	.gaya_align_right {
		1float: right;
		text-align: right;
	}
	
	.gaya_content {
		display: flex;
		flex-direction: row;
		gap: 60px;
		min-height: 400px;
		1margin: 120px 0;
		3border: solid 1px red;
	}
	
	.gaya_content .flex_item {
		flex: 1;
		margin: 0;
		order: 1;
		3border: solid 1px green;
	}
	
	.gaya_content .flex_item.flex_order_left {
		order: 0;
	}
	.gaya_content .flex_item.flex_order_right {
		order: 2;
	}
	
	.gaya_content .flex_item.flex_order_left img {
		float: right;
	}
	
	
	.gaya_content .flex_item.img_portrait img {
		margin-top: 0;
		width: 80%;
	}
	.gaya_content .flex_item.img_square.flex_order_right .imgbox {
		padding-right: 100px;
	}
	.gaya_content .flex_item.img_square.flex_order_left .imgbox {
		padding-left: 100px;
	}
	.gaya_content .flex_item.img_square img {
		margin-top: 120px;
		width: 100%;
	}
	.gaya_content .flex_item.img_landscape img {
		margin-top: 120px;
		width: 100%;
	}
	
	.gaya_content .flex_item.img_portrait .textbox {
		padding-top: 80px;
	}
	.gaya_content .flex_item.img_square .textbox {
		padding-top: 0px;
	}
	.gaya_content .flex_item.img_landscape .textbox {
		padding-top: 0px;
	}
	
	.btn_subpage {
		padding-top: 25px;
	}
	.btn_subpage a {
		color: var(--nav_color);
		padding: 5px 0;
		border-bottom: solid 2px var(--nav_color);
	}
	
	
	.gaya_article {
		margin: 0 50px;
	}
	
	
	/*
		BOOK BORD
	*/
	
	#gaya_booking {
		display: none;
		1position: fixed;
		position: absolute;
		top: 0px;
		right: 0px;
		width: 100vw;
		z-index: 9999999;
	}
	#gaya_booking.visible {
		display: block;
	}
	#gaya_booking .flint_container {
		padding: 80px var(--container_padding_horisontal);
	}
	#gaya_booking #gaya_booking_box {
		float: right;
		width: 480px;
		background-color: #fff;
		padding: 30px;
		margin-right: 20px;
		box-shadow: 0 0 10px rgba(0,0,0,0.2);
	}
	#gaya_booking #gaya_booking_box form {
		margin-top: 30px;
	}
	#gaya_form_btns {
		margin: 50px 0 30px;
	}
	
	#gaya_booking .small {
		font-size: 0.8em;
		color: #888;
	}


/*
	CATERING
*/
	
	table.catering {
		
	}
	table.catering th {
		padding: 10px;
		padding-top: 60px;
	}
	table.catering td {
		padding: 10px;
	}
	input.catering_sum {
		background: transparent;
		border: none;
		text-align: right;
		font-size: 1em;
		color: #000;
		padding: 0;
	}
	input#total_amount {
		background: transparent;
		border: none;
		text-align: right;
		font-size: 1.2em;
		color: #000;
		padding: 0;
		font-weight: bold;
	}
	
	.gaya_infobox {
		width: 480px;
		margin: 60px auto;
		background-color: #fff;
		padding: 30px;
		box-shadow: 0 0 10px rgba(0,0,0,0.2);
	}
	


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

	.visible_on_mobile {
		display: block;
	}
	.visible_on_desktop {
		display: none;
	}
	
	.flint_container {
		padding: 0 20px 20px;
	}
	
	#flint_widgetarea_footer {
		grid-auto-flow: row;
	}
	
	footer {
		background-color: var(--canvas_bg_color);
	}
	
	/* Custom */
	.gaya_content {
		flex-direction: column;
		justify-content: center;
	}
	.gaya_content .flex_item > * {
		margin: 0px auto !important;
		1width: 90% !important;
		float: none !important;
	}
	
	.gaya_content .flex_item.flex_order_right {
		order: 0;
	}
	.gaya_content .flex_item. .imgbox {
		text-align: center;
	}
	.gaya_content .flex_item.img_square img,
	.gaya_content .flex_item.img_landscape img {
		margin-top: 0px;
		width: 100%;
	}
	.gaya_content .flex_item.img_square.flex_order_right .imgbox {
		padding-right: 0px;
		margin: 0;
	}
	.gaya_content .flex_item.img_square.flex_order_left .imgbox {
		padding-left: 0px;
		margin: 0;
	}
	
	.gaya_grid_rightcol {
		margin-top: 0px;
		padding-right: 0px;
	}
	.gaya_grid_leftcol {
		padding-left: 0px;
	}
	
	#flint_masonry .masonry_item, .masonry_grid_sizer {
		width: 100%;
	}
	
	
	#gaya_booking {
		height: 100vh;
		padding-bottom: 0;
	}
	#gaya_booking .flint_container {
		padding: 0;
		height: 100%;
	}
	#gaya_booking #gaya_booking_box {
		float: none;
		width: 100%;
		1height: 100%;
		margin-right: 0px;
		box-shadow: none;
	}
	
	.gaya_article {
		margin: 0;
	}
	
}


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

	.visible_on_mobile {
		display: block;
	}
	.visible_on_desktop {
		display: none;
	}
	
	
	
	
	
	/* Custom */

	.gaya_content .flex_item.flex_order_right .textbox {
		margin: 0 10%;
	}
	.gaya_content .flex_item.flex_order_left .textbox {
		margin: 0 10%;
	}
	

}



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

	.visible_on_mobile {
		display: none;
	}
	.visible_on_desktop {
		display: block;
	}
	
	/* Custom */
	
	.gaya_content .flex_item.flex_order_left .textbox {
		margin: 0 10% 0 30%;
	}
	.gaya_content .flex_item.flex_order_right .textbox {
		margin: 0 30% 0 10%;
	}
	

}





 /* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
} 




