/*
 * Copyright 2020 Adobe. All rights reserved.
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

 :root {
  /* colors */
  --link-color: #017F7C;
  --link-hover-color: #024E49;
  --background-color: #fff;
  --heading-color: #000;
  --overlay-background-color: #00000020;
  --text-color: #333;

  /* fonts */
  --body-font-family: "Noto Sans", "Roboto", "Trebuchet MS", arial, sans-serif;
  --heading-font-family: var(var(--body-font-family));
  --fixed-font-family: 'Roboto Mono', menlo, consolas, 'Liberation Mono', monospace;

  /* body sizes */
  --body-font-size-m: 18px;
  --body-font-size-s: 16px;

  /* body line heights */
  --body-line-height-m: 1.2;
  --body-line-height-s: 1.2;

  /* body weights */
  --body-font-weight-m: 400;
  --body-font-weight-s: 300;

  /* heading sizes */
  --heading-font-size-xxl: 60px;
  --heading-font-size-xl: 40px;
  --heading-font-size-l: 28px;
  --heading-font-size-m: 22px;
  --heading-font-size-s: 18px;
  --heading-font-size-xs: 18px;
  
  /* heading line heights */
  --heading-line-height-xxl: 72px;
  --heading-line-height-xl: 48px;
  --heading-line-height-l: 34px;
  --heading-line-height-m: 28px;
  --heading-line-height-s: 24px;
  --heading-line-height-xs: 24px;

  /* heading weights */
  --heading-font-weight-xxl: 200;
  --heading-font-weight-xl: 200;
  --heading-font-weight-l: 300;
  --heading-font-weight-m: 300;
  --heading-font-weight-s: 300;
  --heading-font-weight-xs: 300;
  --heading-letter-spacing: normal;
}

html {
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
}

body {
  font-size: var(--body-font-size-m);
  font-weight: var(--body-font-weight-m);
  margin: 0;
  font-family: var(--body-font-family);
  line-height: var(--body-line-height-m);
  color: var(--text-color);
  background-color: var(--background-color);
  display: none;
}

body.appear {
  display: unset;
}

main {
  min-height: calc(100vh - 156px);
}

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

body > header {
  height: 64px;
}

body > header .nav-brand img {
  height: 40px;
}

@media (min-width: 1200px) {
  body > header {
    height: 140px;
  }

  body > header .nav-brand img {
    height: 49px;
  }
}

h1, h2, h3,
h4, h5, h6 {
  font-weight: 600;
  line-height: 1.25;
  margin-top: 1em;
  margin-bottom: .5em;
  color: var(--heading-color);
  letter-spacing: var(--heading-letter-spacing);
}

h1 {
  font-size: var(--heading-font-size-xl);
  font-weight: var(--heading-font-weight-xl);
  line-height: var(--heading-line-height-xl);
}

h2 {
  font-size: var(--heading-font-size-l);
  font-weight: var(--heading-font-weight-l);
  line-height: var(--heading-line-height-l);
}

h3 {
  font-size: var(--heading-font-size-m);
  font-weight: var(--heading-font-weight-m);
  line-height: var(--heading-line-height-m);
}

h4 {
  font-size: var(--heading-font-size-s);
  font-weight: var(--heading-font-weight-s);
  line-height: var(--heading-line-height-s);
}

h5 {
  font-size: var(--heading-font-size-xs);
  font-weight: var(--heading-font-weight-xs);
  line-height: var(--heading-line-height-xs);
}

h6 {
  font-size: var(--heading-font-size-xs);
  font-weight: var(--heading-font-weight-xs);
  line-height: var(--heading-line-height-xs);
}

p, dl, ol, ul, pre, blockquote {
  margin-top: 1em;
  margin-bottom: 1em;
}

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

a:hover {
  text-decoration: underline;
  color: var(--link-hover-color);
}

code, pre, samp {
  font-family: var(--fixed-font-family);
  font-size: var(--body-font-size-s);
}

code, samp {
  padding: .125em;
}

pre {
  overflow: scroll;
}

main input, main button, main a.button:any-link {
  font-size: 1.25rem;
  width: 100%;
  max-width: 50rem;
  display: block;
  margin-bottom: 1rem;
  padding: 0.75rem 0.6rem;    
  border-radius: 0.25rem;
  box-sizing: border-box;
}

main button, main a.button:any-link {
  color: var(--background-color);
  border: none;
  background-color: var(--link-color);
}

main button:hover {
  background-color: var(--link-hover-color);
  cursor: pointer;
}

main input {
  border: 1px solid var(--text-color);
  color: var(--text-color);
  background-color: var(--background-color);
}

main input:hover {
  border: 1px solid var(--text-color);
}

main .section {
  padding: 0 2rem; 
}

.book-trip main .section {
  padding: 0; 
}

.book-trip main .default-content-wrapper {
  padding: 0 2rem; 
}

main pre {
  background-color: var(--overlay-background-color);
  padding: 1em;
  border-radius: .25em;
  overflow-x: auto;
  white-space: pre;
}

main blockquote {
  font-style: italic;
  margin: 3rem;
  text-indent: -1rem;
  hanging-punctuation: first;
}

main blockquote p::before {
  content: "“";
  line-height: 0;
}

main blockquote p::after {
  content: "”";
  line-height: 0;
}

hr {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  border: 0;
  border-bottom: 1px solid var(--overlay-background-color);
}

@media (min-width: 600px) {
  main {
    min-height: calc(100vh - 190px);
  }
}

@media (min-width: 900px) {
  :root {
    --body-font-size-m: 16px;
    --body-font-size-s: 14px;
  }
  
  main {
    min-height: calc(100vh - 212px);
  }

  .section > div {
    max-width: 800px;
    margin: auto;
  }
}

/* progressive section appearance */
main .section[data-section-status='loading'],
main .section[data-section-status='initialized'] {
  display: none;
}

