/*
Theme Name: Thank You Oda
Theme URI: https://thankyouoda.com
Author: Daniel Sáenz
Author URI: https://danielsaenz.dev
Description: A minimalist and clean WordPress theme based on Twenty Twenty-One.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: thankyouoda
Tags: minimal, clean, custom-fonts, translation-ready, block-support
*/

:root {
  /* Typography */
  --font-body: 'DM Sans', sans-serif;
  --font-headings: "Anton", sans-serif;;
  --line-height-base: 1.6;

  /* Colors */
  --color-bg: #ffffff;
  --color-text: #222222;
  --color-primary: #0077ff;
  --color-accent: #c21927;

  /* Spacing */
  --spacing-s: 0.5em;
  --spacing-m: 1em;
  --spacing-l: 2em;
  --spacing-xl: 4em;

  /* Border radius */
  --radius: 6px;
}
:lang(ja) {
   --font-body: "Noto Sans JP", sans-serif;
   --font-headings: "Zen Kaku Gothic Antique", sans-serif;;
}


body {
  font-family: var(--font-body);
  font-size: 18px; /* base for desktop */
  line-height: var(--line-height-base);
  background-color: var(--color-bg);
  color: var(--color-text);
  padding: 0;
  margin: 0;
font-optical-sizing: auto;
	box-sizing: border-box;
}




h1 {
  font-family: var(--font-headings);
  margin-bottom: var(--spacing-s);
  line-height: 1.2;
}
h2, h3, h4, h5, h6 {
  font-family: var(--font-body);
  margin-bottom: var(--spacing-s);
  line-height: 1.1;
}


h1 { font-size: 3em; font-weight: normal; line-height: 1em}
:lang(ja) h1 { font-weight: 900}

h2 { font-size: 1.75em; font-weight: 900}
h3 { font-size: 1.5em; font-weight: 700}
h4 { font-size: 1.25em; font-weight: 700}
h5 { font-size: 1.125em; font-weight: 700}
h6 { font-size: 1em; font-weight: 700}

h1.entry-title{
	margin-top: 0.25em;
}

p {
  margin-bottom: var(--spacing-m);
  font-size: 1em;
}

a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

button,
input[type="submit"] {
  color: var(--color-bg);
  border: none;
  padding: var(--spacing-s) var(--spacing-m);
  border-radius: 0;
  cursor: pointer;
  font-size: 1.5em;
font-family: var(--font-headings);
	display: block;
	text-align: center;
	margin: 0 auto;
	background-color: var(--color-text);
	transition: all ease 0.3s;
	background-color: var(--color-text);
}
button:hover,
input[type="submit"]:hover {
	padding: var(--spacing-s) calc(var(--spacing-m) * 2);
}

input,
textarea,
select {
  font-family: inherit;
  font-size: 1em;
  padding: var(--spacing-s);
  border: 1px solid #ccc;
  border-radius: var(--radius);
  margin-bottom: var(--spacing-m);
  width: 100%;
  box-sizing: border-box;
}

ul,
ol {
  margin-left: var(--spacing-m);
  margin-bottom: var(--spacing-m);
}

li {
  margin-bottom: 0.5em;
  font-size: 1em;
}

hr {
  border: none;
  border-top: 1px solid #ccc;
  margin: var(--spacing-m) 0;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--spacing-m);
}

th,
td {
  border: 1px solid #ccc;
  padding: var(--spacing-s);
  text-align: left;
  font-size: 1em;
}

#page{
	box-sizing: border-box;
}

#content{
	display: block;
	margin: 0 auto;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
}
#site_logo{
	width: 75%;
	max-width: 20em;
	height: auto;
	margin: 0 auto;
	display: block;
	padding: 1em 0 1em 0;
}
#site-navigation{
	width: 100%;
	height: auto;
}
#lang_bar, #site-navigation ul{
	background-color: var(--color-text);
	width: 100%;
	padding: 1em;
	height: auto;
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
	box-sizing: border-box;
	margin: 0;
}
#lang_bar{
	padding: 0 0 1em 0;
	
}
#lang_bar li, #site-navigation li{
	    list-style: none;
    padding: 0 1.5em;
    margin: 0;
}
#lang_bar li{
	 border-left: solid 0.08em var(--color-bg);
	 padding: 0 0.8em;
	line-height: 1em;
	opacity: 0.75;
}
#lang_bar li:first-child{
	border-left: none;
}

#lang_bar li a{
	color: var(--color-bg);
	font-family: var(--font-body);
	font-size: 0.75em;
}
#site-navigation li a{
	color: var(--color-bg);
	font-family: var(--font-headings);
	font-size: 1.4em;
}
#lang_bar li.current-lang a, #site-navigation li.current_page_item a{
	pointer-events: none;
	opacity: 0.5;
}
#site-navigation li.current_page_item a{
	color: var(--color-accent);
	opacity: 1;
}
article{
	display: block;
	margin: 0 auto;
	padding: 2em;
	width: 100%;
	max-width: 35em;
	box-sizing: border-box;
}
.red_section{
	background-color: var(--color-accent);
	background-image: url("assets/images/map_back.png");
	background-size: 100% auto;
}
.wpcf7-form{
	background-color: var(--color-accent);
	background-image: url("assets/images/map_back.png");
	background-size: 100% auto;
	padding: 1em;
}

#geo-message-form p,#geo-message-form h2,#geo-message-form small,#geo-message-form label, form p, form h2, form small, form label{
	color: var(--color-bg);
}
#geo-message-form label, form label{
	display: block;
	font-family: var(--font-headings);
	font-size: 1.5em;
	padding-top: 1em;
	line-height: 1.2em;
}
#geo-message-form p, form p{
	padding: 0 0 0.5em 0;
	opacity: 0.9;
	margin: 0;
}
.wpcf7-form p{
	padding: 0;
	opacity: 1;
	margin:0;
}
.wpcf7-form label{
	padding-bottom: 0.25em;
}
.wpcf7 form .wpcf7-response-output{
	background-color: rgba(255,255,255,0.5);
	border: none !important;
	text-align: center;
	padding: 0.5em 1em !important;
}
#geo-message-form input, #geo-message-form textarea, #geo-message-form select, form input, form textarea, form select{
	border: none;
    border-radius: 0;
}
.alert{
	text-align: center;
	padding: 1em;
	margin: 1em auto 0 auto;
	width: 90%;
	/*background-color: var(--color-text);*/
	background-color: rgba(34,34,34,0.25);
}
.g-recaptcha, .cf-turnstile{
	    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding: 2em 0;

}
footer{
	background-color: var(--color-text);
	width: 100%;
	padding: 1em;
	height: auto;
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
	box-sizing: border-box;
}
footer p{
	color: var(--color-bg);
	opacity: 0.25;
	text-align: center;
}
#site_logo_footer{
	width: 10em;
	opacity: 0.25;
	display: block;
	height: auto;
	margin: 1em auto;
}
.full_world_map{
	position: relative;
	height: 40em;
}
#geo-message-map{
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
	z-index: 1;
}
.full_world_map article{
	width: 30em;
	position: absolute;
	top: 1em;
	height: auto;
	left: 1em;
	z-index: 100;
	padding: 1.5em;
	background-color: rgba(255,255,255,0.75);
}
.full_world_map article h1{
	font-size: 2.5em;
	padding-top:0;
	margin-bottom: 0.25em;
}
.full_world_map article p{
	margin-bottom: 0;
}
.geo-message-modal-back{
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:rgba(0,0,0,0.7);
	z-index:9999;
	display:flex;
	align-items:center;
	justify-content:center;
}
.geo-message-modal-message-container{
	max-width:90%;
	max-height:80vh;
	max-width: 40em;
	position: relative;
}
.geo-message-modal-message{
	background:var(--color-bg);
	max-width:100%;
	max-height:80vh;
	width: 100%;
	    min-width: 35em;
    min-height: 20em;
	overflow:auto;
	padding:1.5em;
	border-radius:0;
	position:relative;
	/*background-image: url("assets/images/map_back.png");
	background-size: 100vw auto;
	background-position: center;*/
	box-sizing: border-box;
	position: relative;
	z-index: 10;
}
.geo-message-modal-message-close{
	position: absolute;
    top: 0.5em;
    right: 0.75em;
    z-index: 100;
    padding: 0;
    font-size: 1.5em;
    line-height: 1em;
    width: 2em;
    height: 2em;
}
.geo-message-modal-message-close:hover{
	padding: 0;
	background-color: var(--color-accent);
}
.geo-message-modal-message h2{
	width: calc(100% - 3em);
}
.geo-message-modal-message h4{
	text-align: right;
}
.geo-message-modal-message ul{
	padding: 0;
	margin: 0 0 0 1em;
}
.geo-message-modal-message ul li{
	padding: 0.05em 0
}
.geo-message-modal-message ul li a{
	color: var(--color-accent);
	font-weight: 700;
}
.entry-content pre{
	padding: 1em;
	background-color: rgba(34,34,34,0.15);
	text-align: center;
	margin-top: 2em;
	font-family: var(--font-body);
	font-size: 0.8em;
	
}
h5#geo-message-modal-date{
	    font-size: 0.9em;
    margin: 0 0 2em 0;
    padding: 0;
    opacity: 0.5;
    line-height: 1em;
}
#geo-message-report-btn {
    /*display: none !important;*/
    font-family: var(--font-body);
    font-size: 0.75em;
    background-color: var(--color-accent);
    margin: 1.5em auto 0 auto;
	opacity: 0.25;
}
#geo-message-report-btn:hover{
	opacity: 1;
}
#geo-message-report-panel{
	position: absolute;
    z-index: 500;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-accent);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding: 3em;
    box-sizing: border-box;
}
#geo-message-report-panel h4, #geo-message-report-panel p{
	text-align: center;
	color: var(--color-bg);
}
#report-buttons-panel{
	display: flex;
	margin: 2em;
}
#confirm-report-btn{
	background-color: var(--color-bg);
	color: var(--color-accent);
}
.geo-message-modal-back-close{
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 10;
}
.geo-message-modal-message-container{
	position: relative;
	z-index: 100;
}
@media (max-width: 768px) {
  body {
    font-size: 4vw; /* base for mobile */
  }
	#site-navigation li{
		padding: 0 0.75em;
	}
	#site-navigation li a{
		font-size: 1.1em;
	}
	#lang_bar li a{
		font-size: 0.65em;
	}
	.full_world_map article {
    width: calc(100% - 2em);
    top: 1em;
    left: 1em;
    padding: 1em;
    background-color: rgba(255, 255, 255, 0.75);
	}
	.full_world_map article h1{
		font-size: 1.5em;
	}
	.full_world_map article p{
		margin-top: 0.5em;
	}
	.full_world_map{
		height: 50em;
	}
	#site_logo_footer{
		width: 7em;
	}
	footer p{
		font-size: 0.7em;
	}
	.geo-message-modal-message{
		width: 90vw;
    	max-width: 90vw;
		        min-width: auto;
        min-height: 28em;
	}
	#report-buttons-panel button{
		margin: 0.4em;
	}
}