/*
 * 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.
 */
@import url('../icons/style.css');

:root {
    /* colors */
    --background-color: white;
    --light-color: #f8f8f8;
    --dark-color: #505050;
    --text-color: #131313;
    --link-color: #3b63fb;
    --link-hover-color: #1d3ecf;
    --overlay-background-color: lightgrey;

    /* fonts */
    --body-font-family: var(--font-family-primary);
    --heading-font-family:
        roboto-condensed, roboto-condensed-fallback, sans-serif;

    /* body sizes */
    --body-font-size-m: 22px;
    --body-font-size-s: 19px;
    --body-font-size-xs: 17px;

    /* heading sizes */
    --heading-font-size-xxl: 55px;
    --heading-font-size-xl: 44px;
    --heading-font-size-l: 34px;
    --heading-font-size-m: 27px;
    --heading-font-size-s: 24px;
    --heading-font-size-xs: 22px;

    /* nav heights */
    --nav-height: 6.5rem;
    --breadcrumbs-height: 48px;
    --header-height: var(--nav-height);
    --blog-sub-nav-height: 3.0625rem;
}

/* fallback fonts */
@font-face {
    font-family: roboto-condensed-fallback;
    size-adjust: 88.82%;
    src: local('Arial');
}

@font-face {
    font-family: roboto-fallback;
    size-adjust: 99.529%;
    src: local('Arial');
}

@media (width >= 900px) {
    :root {
        /* body sizes */
        --body-font-size-m: 18px;
        --body-font-size-s: 16px;
        --body-font-size-xs: 14px;

        /* heading sizes */
        --heading-font-size-xxl: 45px;
        --heading-font-size-xl: 36px;
        --heading-font-size-l: 28px;
        --heading-font-size-m: 22px;
        --heading-font-size-s: 20px;
        --heading-font-size-xs: 18px;
    }
}

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

body.appear {
    display: block;
}

body > a.skip-link {
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 1000;
    box-sizing: border-box;
    max-width: calc(100% - 2rem);
    padding: 0.75rem 1rem;
    background: #fff;
    color: #131313;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: underline;
    transform: translateY(calc(-100% - 2rem));
}

body > a.skip-link:focus {
    transform: translateY(0);
    outline: 3px solid #131313;
    outline-offset: 3px;
}

body > main {
    scroll-margin-top: calc(var(--nav-height) + 1rem);
}

header {
    height: var(--header-height);
}

/* Blog pages carry a category bar below the fixed nav. Its height is reserved
   here, in the eager stylesheet, because the bar itself is appended by the
   lazily-loaded header block once the category index has been fetched. */
body.blog header {
    height: auto;
    min-height: var(--blog-sub-nav-height);
    padding-top: var(--nav-height);
}

header .header,
footer .footer {
    visibility: hidden;
}

header .header[data-block-status='loaded'],
footer .footer[data-block-status='loaded'] {
    visibility: visible;
}

@media (width <= 1199px) {
    :root {
        --nav-height: 4rem;
        --blog-sub-nav-height: 5.0625rem;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0.8em;
    margin-bottom: 0.25em;
    font-family: var(--heading-font-family);
    font-weight: 600;
    line-height: 1.25;
    scroll-margin: 40px;
}

h1 {
    font-size: var(--heading-font-size-xxl);
}

h2 {
    font-size: var(--heading-font-size-xl);
}

h3 {
    font-size: var(--heading-font-size-l);
}

h4 {
    font-size: var(--heading-font-size-m);
}

h5 {
    font-size: var(--heading-font-size-s);
}

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

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

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

pre {
    padding: 16px;
    border-radius: 8px;
    background-color: var(--light-color);
    overflow-x: auto;
    white-space: pre;
}

/* blog detail pages only (identified by the blog-header block) */
body.blog main:has(.blog-header) pre {
    white-space: pre-wrap;
    overflow-x: auto;
    height: auto;
}

main > div {
    margin: 40px 16px;
}

input,
textarea,
select,
button {
    font: inherit;
}

/* links */
a:any-link {
    color: var(--link-color);
    text-decoration: none;
    overflow-wrap: break-word;
}

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

/* buttons */
a.button:any-link,
button {
    box-sizing: border-box;
    display: inline-block;
    max-width: 100%;
    margin: 12px 0;
    border: 2px solid transparent;
    border-radius: 2.4em;
    padding: 0.5em 1.2em;
    font-family: var(--body-font-family);
    font-style: normal;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    background-color: var(--link-color);
    color: var(--background-color);
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

a.button:hover,
a.button:focus,
button:hover,
button:focus {
    background-color: var(--link-hover-color);
    cursor: pointer;
}

button:disabled,
button:disabled:hover {
    cursor: unset;
}

a.button.secondary,
button.secondary {
    background-color: unset;
    border: 2px solid currentcolor;
    color: var(--text-color);
}

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

.icon {
    display: inline-block;
    height: 24px;
    width: 24px;
}

.icon img {
    height: 100%;
    width: 100%;
}

/* sections */
main > .section {
    margin: 40px 0;
}

main > .section > div {
    max-width: 1180px;
    margin: auto;
    padding: 0 24px;
}

main > .section:first-of-type {
    margin-top: 0;
}

@media (width >= 900px) {
    main > .section > div {
        padding: 0 32px;
    }
}

/* section metadata */
main .section.light,
main .section.highlight {
    background-color: var(--light-color);
    margin: 0;
    padding: 40px 0;
}

body.press-release main > .section:not(.content-cards-container) > div {
    max-width: 48.75rem;
    margin-inline: auto;
}

body.press-release main > .section:not(.content-cards-container) > .blog-header-wrapper .blog-header{
    padding-left: 0;
    padding-right: 0;
}

/* Page themes (set via the `template` column in the metadata sheet)
   ────────────────────────────────────────────────────────────────────────── */

/* Offset by the header height because the fixed nav is opaque and would
   otherwise cover the top of the pattern. */
body.hero-pattern {
    background-image: url('/images/diamond-pattern.jpg');
    background-repeat: no-repeat;
    background-position: right var(--header-height);
    background-size: auto 420px;
}

@media (width >= 768px) {
    body.hero-pattern {
        background-size: auto 900px;
    }
}

/* ── Breadcrumb Bar ─────────────────────────────────────────────────────── */

.nav-breadcrumb {
    position: static;
    display: block;
    width: 100%;
    height: var(--breadcrumbs-height);
    background: transparent;
    box-sizing: border-box;
}

.nav-breadcrumb ol {
    max-width: var(--layout-max-width);
    margin: 0 auto;
    padding: 0 24px;
    list-style: none;
    display: flex;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
}

/* 16px gutter keeps the 1212px bar aligned to the 1180px content column */
@media (width >= 1200px) {
    .nav-breadcrumb ol {
        padding: 0 16px;
    }
}

.nav-breadcrumb-item {
    display: flex;
    align-items: center;
    font-family: var(--font-family-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-md);
    letter-spacing: 0.0156rem;
    color: var(--content-tertiary);
    white-space: nowrap;
}

.nav-breadcrumb-item + .nav-breadcrumb-item::before {
    content: '/';
    margin-inline: var(--space-2);
    color: var(--content-tertiary);
}

.nav-breadcrumb .nav-breadcrumb-item a {
    color: var(--content-primary);
    text-decoration: underline;
    font-weight: var(--font-weight-medium);
    transition: color 0.2s ease;
}

.nav-breadcrumb-item span[aria-current='page'] {
    color: #101820;
    font-weight: var(--font-weight-regular);
    overflow: hidden;
    text-overflow: ellipsis;
}

/* the current-page crumb absorbs the shrink so long titles can't scroll the page */
.nav-breadcrumb-item:last-child {
    min-width: 0;
}

/* Back to top button */
#scroll-to-top {
  position: fixed;
  bottom: 125px;
  right: 5px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgb(120 120 120 / 75%);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 9999;
}

#scroll-to-top.visible {
  opacity: 1;
  visibility: visible;
}

#scroll-to-top:hover {
  background: rgb(90 90 90 / 85%);
}

#scroll-to-top .stt-caret {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-left: 2.5px solid #fff;
  border-top: 2.5px solid #fff;
  transform: rotate(45deg) translate(-1px, 1px);
  margin-top: 6px;
  color: transparent;
  margin-left: 3px;
}

.press-release .blog-header-authors{
    opacity: 0;
}