/*--------------------------------------------------------------
CSS Reset
--------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,400;0,500;0,700;1,500&family=Work+Sans:ital,wght@0,400;0,500;0,700;1,500;1,600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shadows+Into+Light&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Nunito+Sans:ital,wght@0,200;0,300;0,400;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,600;1,700;1,800;1,900&display=swap");
html {
  font-family: sans-serif; }

body {
  margin: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
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;
  width: 100%;
  height: auto; }

svg:not(:root) {
  overflow: hidden; }

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"] {
  cursor: pointer; }

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

input {
  line-height: normal; }

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

input[type="search"] {
  box-sizing: content-box; }

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; }

.cards {
  display: grid;
  width: 130%;
  margin-top: 1.250em; }

.cards img,
.caption {
  grid-column: 1;
  grid-row: 1; }

.caption {
  display: flex;
  align-items: flex-end;
  opacity: 0; }

a:focus .caption,
a:hover .caption {
  background: rgba(52, 46, 107, 0.6);
  opacity: 1; }

.contact {
  border: 1px solid #ccc;
  box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.3);
  background-color: #F1F1F1;
  width: 50em;
  padding: 0.938em;
  margin: 1.25em auto; }
  .contact .owner {
    padding-bottom: 0.625em; }
    .contact .owner img {
      width: 9.375em;
      height: 9.375em;
      margin-bottom: 0.625em; }
  .contact .horizontal_line {
    border-top: 1px solid #ccc; }
  .contact label {
    font-size: 0.8em;
    color: #2E2E2E; }
  .contact input[type=text], .contact input[type=tel], .contact input[type=email], .contact input[type="password"], .contact select, .contact textarea {
    width: 100%;
    padding: 0.750em;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    margin-top: 0.375em;
    margin-bottom: 1em;
    resize: vertical; }
  .contact .emailLabel .emailError {
    display: none; }
  .contact .text_username .error {
    display: none; }
  .contact textarea {
    resize: none;
    height: 12.50em;
    font-family: 'Work Sans', sans-serif;
    font-size: 1.0em; }
  .contact #recaptcha {
    padding: 1.250em 0; }
  .contact #message {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-evenly;
    background-color: #cccccc;
    box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.5);
    padding: 1.250em;
    margin: 1.250em; }
    .contact #message .notice {
      width: 4em;
      height: 4em; }
    .contact #message .pen {
      width: 4em;
      height: 4em; }
  .contact input[type=submit] {
    background-color: #4CAF50;
    color: white;
    text-transform: capitalize;
    border: none;
    border-radius: 0.250em;
    cursor: pointer;
    padding: 0.750em 1.250em;
    margin-top: 0.625em; }
  .contact input[type=submit]:hover {
    background-color: #45a049; }
  .contact button, .contact a {
    display: flex;
    justify-content: center;
    align-items: center;
    outline: none;
    color: #2E2E2E;
    border: none;
    background-color: #ccc;
    box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.5);
    width: 100%;
    font-family: 'Rubik', sans-serif;
    font-size: 1.2em;
    text-transform: capitalize;
    text-decoration: none;
    padding: 0.313em;
    margin: 0 auto;
    transition: background-color .5s; }
    .contact button:hover, .contact button:active, .contact a:hover, .contact a:active {
      background-color: #a6a6a6; }

/* Approximately the size of an iPad 768px */
@supports (grid-area: auto) {
  @media screen and (min-width: 48em) {
    .contact {
      display: grid;
      grid-template-columns: 2fr;
      grid-template-areas: "owner owner" "horizontal_line horizontal_line" "contact_name  contact_email" "contact_phone contact_website" "contact_comment contact_comment" "recaptcha message" "submit_comment submit_comment";
      grid-column-gap: 1.250em; }
      .contact .owner {
        grid-area: owner;
        display: flex;
        flex-flow: column nowrap;
        justify-self: center;
        text-align: center; }
      .contact .horizontal_line {
        grid-area: horizontal_line; }
      .contact .contact_name {
        grid-area: contact_name; }
      .contact .contact_email {
        grid-area: contact_email; }
      .contact .contact_phone {
        grid-area: contact_phone; }
      .contact .contact_website {
        grid-area: contact_website; }
      .contact .contact_reason {
        grid-area: contact_reason; }
      .contact .contact_comment {
        grid-area: contact_comment; }
      .contact #recaptcha {
        grid-area: recaptcha; }
      .contact #message {
        grid-area: message; }
      .contact .submit_comment {
        grid-area: submit_comment; } } }
body {
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif; }

header {
  background-color: #333;
  color: #fff;
  padding: 20px;
  text-align: center; }

nav {
  background-color: #f2f2f2;
  padding: 20px;
  text-align: center; }

nav a {
  color: #333;
  text-decoration: none;
  padding: 10px; }

main {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(37.5em, 1fr));
  grid-gap: 20px;
  padding: 20px; }

article {
  background-color: #f2f2f2;
  padding: 20px; }

footer {
  background-color: #333;
  color: #fff;
  padding: 20px;
  text-align: center; }

/*# sourceMappingURL=stuff.css.map */
