/**
 * Copyright 2015 Google Inc. All Rights Reserved.
 *
 * Licensed 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 CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

html, body {
  font-family: 'Roboto', 'Helvetica', sans-serif;
}
.demo-avatar {
  width: 48px;
  height: 48px;
  border-radius: 24px;
}
.demo-layout .mdl-layout__header .mdl-layout__drawer-button {
  color: rgba(0, 0, 0, 0.54);
}
.mdl-layout__drawer .avatar {
  margin-bottom: 16px;
}
.demo-drawer {
  border: none;
  overflow-x: hidden;
}

/* iOS Safari specific workaround */
.demo-drawer .mdl-menu__container {
  z-index: -1;
}
.demo-drawer .demo-navigation {
  z-index: -2;
}
/* END iOS Safari specific workaround */

.demo-drawer .mdl-menu .mdl-menu__item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
       -ms-flex-align: center;
          align-items: center;
}
.demo-drawer-header {
  box-sizing: border-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 16px;
  min-height: 151px;
}
.demo-avatar-dropdown {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-align-items: center;
       -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.demo-navigation {
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.demo-layout .demo-navigation .mdl-navigation__link {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-align-items: center;
       -ms-flex-align: center;
          align-items: center;
  color: rgba(255, 255, 255, 0.56);
  font-weight: 500;
}
.demo-layout .demo-navigation .mdl-navigation__link:hover {
  background-color: #00BCD4;
  color: #37474F;
}
.demo-navigation .mdl-navigation__link .material-icons {
  font-size: 24px;
  color: rgba(255, 255, 255, 0.56);
  margin-right: 32px;
}

.mdl-navigation__link .material-icons img {
  width: 24px;
}

.demo-blog .demo-blog__posts {
  max-width: 900px;
  padding: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 0 auto;
  -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
          flex-shrink: 0;
}

.demo-blog .mdl-card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: stretch;
       -ms-flex-align: stretch;
          align-items: stretch;
}
.demo-blog .mdl-card__title {
  padding: 16px;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
          flex-grow: 1;
}
.demo-blog .mdl-card__media {
  box-sizing: border-box;
  background-size: cover;
  padding: 24px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-align-items: flex-end;
       -ms-flex-align: end;
          align-items: flex-end;
}
.demo-blog .mdl-card__media a,
.demo-blog .mdl-card__title a {
  color: inherit;
}
.demo-blog .mdl-card__supporting-text {
  width: 100%;
  padding: 16px;
  min-height: 64px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
       -ms-flex-align: center;
          align-items: center;
}
.demo-blog .mdl-card__supporting-text strong {
  font-weight: 400;
}
.demo-blog .mdl-card__media ~ .mdl-card__supporting-text {
  min-height: 64px;
}
.demo-blog .mdl-card__supporting-text:not(:last-child) {
  box-sizing: border-box;
  min-height: 76px;
}
.demo-blog:not(.demo-blog--blogpost) .mdl-card__supporting-text ~ .mdl-card__supporting-text {
  border-top: 1px solid rgba(0,0,0,0.1);
}

.demo-blog .mdl-card__actions:first-child {
  margin-left: 0;
}
.demo-blog .meta {
  box-sizing: border-box;
  padding: 16px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-align-items: center;
       -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
          justify-content: flex-start;
  height: auto;
}
.demo-blog .meta > .meta__favorites {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  margin: 0 8px;
  font-size: 13px;
  font-weight: 500;
}
.demo-blog .meta > .meta__favorites .material-icons {
  font-size: 2em;
  cursor: pointer;
  margin-left: 12px;
}
.demo-blog .mdl-card .meta.meta--fill {
  -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
          justify-content: space-between;
}
.demo-blog .meta > *:first-child {
  margin-right: 16px;
}
.demo-blog .meta > * {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

.demo-nav {
  margin: 12px 15px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
       -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
}
.demo-nav > .demo-nav__button {
  color: inherit;
  text-decoration: none;
}
.demo-nav > .demo-nav__button:first-child .mdl-button {
  margin-right: 16px;
}
.demo-nav > .demo-nav__button:last-child .mdl-button {
  margin-left: 16px;
}
.demo-blog .mdl-card > a {
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
}
.demo-blog .mdl-card h3 {
  margin: 0;
}
.demo-blog .mdl-card h3 a {
  text-decoration: none;
}
.demo-blog .mdl-card h3.quote:before, .demo-blog .mdl-card h3.quote:after {
  display: block;
  font-size: 3em;
  margin-top: 0.5em;
}
.demo-blog .mdl-card h3.quote:before {
  content: 'â€œ';
}
.demo-blog .mdl-card h3.quote:after {
  content: 'â€';
}
.demo-blog--blogpost .custom-header {
  background-color: transparent;
}
.demo-blog--blogpost .demo-blog__posts > .mdl-card .mdl-card__media {
  background-position: center;
  background-blend-mode: soft-light;
  min-height: 280px;
}
.demo-blog--blogpost .comments {
  background-color: #EEE;
}
.demo-blog--blogpost .meta > * {
  -webkit-align-items: center;
       -ms-flex-align: center;
          align-items: center;
}
.demo-blog--blogpost .meta + .mdl-card__supporting-text {
  border: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  box-sizing: border-box;
}
.demo-blog--blogpost .meta + .mdl-card__supporting-text p {
  max-width: 512px;
  margin: 16px auto;
  font-size: 16px;
  line-height: 28px;
}

.demo-blog--blogpost .comments {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: stretch;
       -ms-flex-align: stretch;
          align-items: stretch;
  padding: 32px;
  box-sizing: border-box;
}
.demo-blog--blogpost .comments > form {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-bottom: 16px;
}
.demo-blog--blogpost .comments > form .mdl-textfield {
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
          flex-grow: 1;
  margin-right: 16px;
  color: rgb(97, 97, 97);
}
/* Workaround for Firefox.
 * User agent stylesheet kept overwriting the font in FF only.
 */
.demo-blog--blogpost .comments > form .mdl-textfield .mdl-textfield__input {
  font-family: 'Roboto', 'Helvetica', sans-serif;
}
.demo-blog--blogpost .comments > form .mdl-textfield input,
.demo-blog--blogpost .comments > form .mdl-textfield textarea {
  resize: none;
}
.demo-blog--blogpost .comments > form button {
  margin-top: 20px;
  background-color: rgba(0, 0, 0, 0.24);
  color: white;
}
.demo-blog--blogpost .comments .comment {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: stretch;
       -ms-flex-align: stretch;
          align-items: stretch;
}
.demo-blog--blogpost .comments .comment > .comment__header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-align-items: center;
       -ms-flex-align: center;
          align-items: center;
  margin-bottom: 16px;
}
.demo-blog--blogpost .comments .comment > .comment__header > .comment__avatar {
  width: 48px;
  height: 48px;
  border-radius: 24px;
  margin-right: 16px;
}
.demo-blog--blogpost .comments .comment > .comment__header > .comment__author {
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.demo-blog--blogpost .comments .comment > .comment__text {
  line-height: 1.5em;
}
.demo-blog--blogpost .comments .comment > .comment__actions {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
       -ms-flex-align: center;
          align-items: center;
  font-size: 0.8em;
  margin-top: 16px;
}
.demo-blog--blogpost .comments .comment > .comment__actions button {
  margin-right: 16px;
  color: rgba(0, 0, 0, 0.24);
}
.demo-blog--blogpost .comments .comment > .comment__answers {
  padding-top: 32px;
  padding-left: 48px;
}

.demo-blog--blogpost .demo-back {
  position: absolute;
  top: 16px;
  left: 16px;
  color: white;
  z-index: 9999;
}
.demo-blog .section-spacer {
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
          flex-grow: 1;
}
.demo-blog .amazing .mdl-card__title {
  background-color: #263238;
}
.demo-blog .minilogo {
  width: 44px;
  height: 44px;
  background-image: url('images/avatar.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: 50%;
  border-radius: 22px;
  background-color: #F5F5F5;
}

/* Fixes for IE 10 */
.mdl-grid {
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.social-btn {
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: transparent;
  margin: 0 16px;
  width: 24px;
  height: 24px;
  cursor: pointer;
  opacity: 0.46;
  border-radius: 2px;
}
.social-btn__twitter {
  background-image: url('https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png');
}
.social-btn__blogger {
  background-image: url('https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png');
}
.social-btn__share {
  color: rgba(0, 0, 0, 0.54);
  background: transparent;
}

.demo-blog .mdl-mini-footer {
  margin-top: 80px;
  height: 120px;
  padding: 40px;
  -webkit-align-items: center;
       -ms-flex-align: center;
          align-items: center;
  background-color: white;
  box-sizing: border-box;
}

.mdl-layout__drawer .mdl-navigation .mdl-navigation__link {
  padding: 16px;
}

.top-actions {
  display: flex;
  padding: 16px 16px 8px 16px;
}

.layout-toggle {
  display: flex;
  justify-content: flex-end;
}

.rss-card,
.rss-list-item {
  text-decoration: none;
  color: inherit;
  transition: background-color 0.2s;
}

#grid-layout .rss-card-image {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  background-color: #f5f5f5;
  position: relative;
  overflow: hidden;
}

#grid-layout .rss-card-image > * {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-size: cover;
  background-position: center;
}

#flow-layout .rss-card-image {
  text-align: center;
}

#flow-layout .rss-card-image > * {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 60vh;
}

#flow-layout .rss-card-image > iframe {
  width: 100%;
  height: 60vh;
  background-size: cover;
  background-position: center;
}

.rss-card-content {
  flex: 1;
  padding: 16px;
}

.rss-card-title {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 8px;
  line-height: 1.3;
}

.rss-card-preview {
  color: rgba(0,0,0,0.54);
  line-height: 1.4;
  line-clamp: 10;
  -webkit-line-clamp: 10;
}

.rss-card-meta {
  display: flex;
  justify-content: space-between;
  padding: 8px 16px;
  border-top: 1px solid rgba(0,0,0,0.1);
  font-size: 12px;
  color: rgba(0,0,0,0.54);
}

/* List Layout */
.rss-list {
  display: flex;
  flex-direction: column;
  padding-top: 16px;
}

.rss-list-item {
  display: flex;
  padding: 16px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
}

.rss-card:hover,
.rss-list-item:hover {
  background-color: rgba(0,0,0,0.04);
}

.rss-list-image {
  width: 120px;
  height: 90px; /* 4:3 aspect ratio */
  flex-shrink: 0;
  background-color: #f5f5f5;
  margin-right: 16px;
  overflow: hidden;
}

.rss-list-image img,
.rss-list-image video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rss-card-image video:fullscreen,
.rss-list-image video:fullscreen {
  object-fit: revert;
}

.rss-list-content {
  flex: 1;
  min-width: 0; /* Prevent flex item from overflowing */
}

.rss-list-title {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
  line-height: 1.3;
}

.rss-list-preview {
  color: rgba(0,0,0,0.54);
  font-size: 14px;
  line-height: 1.4;
  line-clamp: 2;
  -webkit-line-clamp: 2;
}

#grid-layout .rss-card-preview,
.rss-list-preview,
.clamped-text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.rss-list-meta {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 12px;
  color: rgba(0,0,0,0.54);
}

.header-extra {
  margin: 16px;
}

.header-extra > .mdl-spinner {
  margin-top: 8px;
}

.material-icons {
  user-select: none;
}

body.list-layout #grid-layout, body.list-layout #flow-layout,
body.grid-layout #list-layout, body.grid-layout #flow-layout,
body.flow-layout #grid-layout, body.flow-layout #list-layout {
  display: none !important;
}

body.grid-layout #grid-layout,
body.list-layout #list-layout,
body.flow-layout #flow-layout {
  display: flex !important;
}

.entry-content img,
.entry-content video,
.entry-content > * {
  max-width: 100%;
  height: auto;
}

.entry-content iframe {
  max-width: 100%;
  height: 80vh;
}

.entry-content figure {
  width: 100%;
}

.entry-content pre {
  overflow-x: auto;
  overflow-y: clip;
}

.link-iconed {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-decoration: none;
}

.link-unstyled {
  font-weight: inherit;
  color: inherit;
  text-decoration: none;
}

.mdl-menu .mdl-menu__item {
  width: 100%;
}

.rss-card-meta .time,
.rss-list-meta .time {
  text-align: right;
}

.rss-card-meta .icon,
.rss-list-meta .icon {
  float: left;
  margin-right: 8px;
}

.rss-card-meta .icon .material-icons,
.rss-list-meta .icon .material-icons {
  font-size: 20px;
  vertical-align: middle;
}

.rss-card-meta .icon img,
.rss-list-meta .icon img {
  height: 20px;
  vertical-align: middle;
}

#flow-layout .rss-card {
  margin-left: auto;
  margin-right: auto;
  min-height: 125px;
}

details > summary {
  cursor: pointer;
}

.mdl-layout__tab-bar-container > * {
  background-color: #F5F5F5;
}