/* Home page template - hero promo full bleed */
.dgc-hero-promo-full-bleed,
.dgc-hero-promo-full-bleed-black-text {
  padding: 0;
}

.dgc-hero-promo-full-bleed-black-text
.devsite-landing-row-item-description-content {
  color: black;
}

.dgc-hero-promo-full-bleed .devsite-landing-row-inner,
.dgc-hero-promo-full-bleed-black-text .devsite-landing-row-inner{
  padding: 0 2.5rem;
}

.dgc-hero-promo-full-bleed-black-text a {
  color: black !important;
}

.dgc-build-smarter h1 {
  --devsite-h1-font: 700 82px / 84px 'Google Sans';
  --devsite-h1-margin: 0 0 16px 0;
}

.dgc-hero-promo-full-bleed img,
.dgc-hero-promo-full-bleed-black-text img {
  border-radius: .6rem;
}

.dgc-hero-promo-full-bleed .dgc-hero-promo-full-bleed-button {
  background-color: transparent !important;
  border: 1px solid var(--tenant-inverted-text-color, white) !important;
  color: var(--tenant-inverted-text-color, white) !important;
}

.dgc-hero-promo-full-bleed-black-text .dgc-hero-promo-full-bleed-button {
  background-color: transparent !important;
  border: 1px solid var(--tenant-primary-text-color, black) !important;
  color: var(--tenant-primary-text-color, black) !important;
}

.dgc-hero-promo-full-bleed-button:hover,
.dgc-hero-promo-full-bleed-button:focus {
  background-color: rgb(0,0,0,.15) !important;
}

@media screen and (max-width: 870px) {
  .dgc-hero-promo-full-bleed,
  .dgc-hero-promo-full-bleed-black-text {
    padding: 24px 0;
  }
}

@media screen and (max-width: 600px) {
  .dgc-hero-promo-full-bleed,
  .dgc-hero-promo-full-bleed-black-text {
    padding: 1px 0 36px;
  }
}

/* Home page template - hero promo full bleed with animation */
.dgc-hero-promo-animated figure {
  background-image: url(/homepage-assets/images/build-anything-with-google.png) !important;
  background-size: contain !important;
  border-radius: .6rem;
}

.dgc-hero-promo-animated img {
  animation: heroPromo 4s;
}

@keyframes heroPromo {
  0%, 50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Home page template - hero promo stories offset */
.dgc-hero-offset-inner > div:first-child {
  margin-inline-start: -10vw;
  min-width: 50vw;
  width: 880px;
}

/* [1] Ensure the row item description slightly overlaps its media. */
.dgc-hero-offset-inner > div:last-child {
  background-color: var(--tenant-background-1);
  border-radius: 8px;
  box-shadow: 0 0 30px -10px grey;
  padding: 32px;
  z-index: 1 /* [1] */;
}

.dgc-hero-offset > div {
  padding: 0 48px;
}

.dgc-hero-offset img {
  border-radius: 8px;
  height: 400px;
  object-fit: cover;
}

@media screen and (max-width: 1310px) {
  .dgc-hero-offset-inner > div:first-child {
    margin-inline-start: -14vw;
    width: 78vw;
  }

  .dgc-hero-offset-inner > div:last-child {
    width: 40vw;
  }

  .dgc-hero-offset-inner h3 a {
    display: inline-block;
    font-size: 24px;
    line-height: 28px;
  }
}

@media screen and (max-width: 840px) {
  .dgc-hero-offset > div {
    padding: 0;
  }

  /* [1] Forces hero to display in a column with flex centering rather than a
   * row at 840px width */
  .dgc-hero-offset-inner {
    display: flex !important; /* [1] */
  }

  /* [1] Forces image container width to full screen width when resized to 840px
   * rather than having small amounts of whitespace on each side. */
  .dgc-hero-offset-inner > div:first-child {
    margin-inline-start: 0;
    width: 100% !important /* [1] */;
  }

  .dgc-hero-offset img {
    border-radius: 0;
    height: 50vh;
  }

  /* [1] Pull the description up in order to to overlap the image. */
  /* [2] Adds padding to header/description card at lower resolution width
   * because mobile breakpoints remove all padding. */
  .dgc-hero-offset-inner > div:last-child {
    margin-top: -144px !important; /* [1] */
    padding: 32px !important; /* [2] */
    width: calc(100% - 64px);
  }
}

/* Home page template - I/O Fullscreen takeover */
.dgc-hero-fullscreen {
  --dgc-hero-grid:
    '. . .'
    '. heading .'
    '. item .'
    '. . .' 0.7fr / 10vw auto 10vw;
  --dgc-hero-heading-font-size: 72px;
  --dgc-hero-heading-line-height: 82px;
  --dgc-hero-margin: 0 calc(-50vw + 50%);
}

.dgc-hero-fullscreen-item {
  --dgc-hero-fullscreen-item-padding: 24px;
}

.dgc-hero-fullscreen-row::after {
  --dgc-hero-background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%),
    url(/homepage-assets/images/io-promo-background.jpg)
    no-repeat center center / cover;
}

@media screen and (min-width: 2000px) {
  .dgc-hero-fullscreen-row h1 {
    --dgc-hero-heading-font-size: 3vw;
    --dgc-hero-heading-line-height: 3vw;
  }

  .dgc-hero-fullscreen-item {
    --dgc-hero-fullscreen-item-padding: 1.5vw;
  }
}

#gc-wrapper {
  margin-right: 0 !important;
}

@media screen and (max-width: 1025px) {
  .dgc-hero-fullscreen {
    --dgc-hero-grid:
      '. . .' 1fr
      '. item .'
      '. . .'
      '. . .' 7fr / 1fr 12fr 1fr;
  }

  .dgc-hero-fullscreen-row::after {
    --dgc-hero-background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%),
      url(/homepage-assets/images/io-promo-background.jpg)
      no-repeat center center / cover;
  }
}

@media screen and (max-width: 750px) {
  .dgc-hero-fullscreen {
    --dgc-hero-grid:
      '.' 12px
      'item'
      '.'
      '.' 7fr / 1fr;
    --dgc-hero-margin: 0;
  }

  .dgc-hero-fullscreen-row::after {
    --dgc-hero-background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%),
      url(/homepage-assets/images/io-promo-background.jpg)
      no-repeat center center / cover;
  }

  .dgc-hero-fullscreen-item {
    text-align: center;
  }

  .dgc-hero-fullscreen-item p {
    font-size: 24px;
  }

  .dgc-hero-fullscreen-row h1 {
    --dgc-hero-heading-font-size: 64px;
    --dgc-hero-heading-line-height: 74px;
  }
}

@media screen and (max-width: 600px) {
  .dgc-hero-fullscreen {
    --dgc-hero-grid:
      '.' .2fr
      'item'
      '.'
      '.' 7fr / 1fr;
    --dgc-hero-heading-font-size: 40px;
    --dgc-hero-heading-line-height: 42px;
  }

  .dgc-hero-fullscreen-item {
    --dgc-hero-fullscreen-item-padding: 16px;
  }

  .dgc-hero-fullscreen-row h1 {
    --dgc-hero-heading-font-size: 48px;
    --dgc-hero-heading-line-height: 54px;
  }

  .dgc-hero-fullscreen-row a {
    margin-top: 8px;
  }

  .dgc-hero-fullscreen-row::after {
    --dgc-hero-background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%),
      url(/homepage-assets/images/io-promo-background-mobile.jpg)
      no-repeat bottom center / cover
  }
}

@media screen and (max-width: 1025px) and (max-height: 750px) {
  .dgc-hero-fullscreen-item p {
    display: none;
  }

  .dgc-hero-fullscreen-row a {
    margin-top: 8px;
  }
}

@media screen and (max-width: 600px) and (max-height: 410px) {
  .dgc-hero-fullscreen {
    --dgc-hero-heading-font-size: 32px;
    --dgc-hero-heading-line-height: 34px;
  }

  .dgc-hero-fullscreen-item {
    --dgc-hero-fullscreen-item-padding: 12px;
  }
}

/* [1] Override default overflow hidden property to allow sticky properties,
 * which allows fullscreen takeover to slide over the below content. */
.dgc-hero-fullscreen .devsite-wrapper {
  overflow: unset !important; /* [1] */
}

/* [1] Override primary color background so that the row has a transparent
 * background that doesn't cover up the background image. */
.dgc-hero-fullscreen-row {
  background: transparent !important; /* [1]  */
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: 1;
}

.dgc-hero-fullscreen-row::after,
.dgc-hero-fullscreen-row .devsite-landing-row-html {
  height: calc(100vh - 112px);
}

.dgc-hero-fullscreen-row::after {
  background: var(--dgc-hero-background);
  content: '';
  position: absolute;
  top: 0;
  width: 100vw;
}

.dgc-hero-fullscreen-row .devsite-landing-row-html {
  display: grid;
  grid: var(--dgc-hero-grid);
  margin: var(--dgc-hero-margin);
}

.dgc-hero-fullscreen-row h1,
.dgc-hero-fullscreen-item {
  z-index: 1;
}

.dgc-hero-fullscreen-row h1 {
  color: white;
  font-size: var(--dgc-hero-heading-font-size);
  font-weight: 500;
  grid-area: heading;
  line-height: var(--dgc-hero-heading-line-height);
  margin-block: unset;
}

.dgc-hero-fullscreen-item {
  color: white;
  font: 500 36px 'Google Sans';
  grid-area: item;
  padding: var(--dgc-hero-fullscreen-item-padding);
  text-align: center;
}

.dgc-hero-fullscreen-item p {
  margin-block: var(--dgc-hero-fullscreen-item-padding);
}

.dgc-hero-fullscreen-row a {
  align-items: center;
  background: #1a73e8;
  border-radius: 100px;
  border: none;
  color: white;
  display: inline-flex;
  font: 500 20px 'Google Sans';
  padding: 22px 24px;
  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(255, 255, 255) 0px 4px 80px 0px;
}

.dgc-hero-fullscreen-row a.button:hover {
  background: rgb(27, 102, 201);
  border: none;
  color: white;
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}

.dgc-hero-fullscreen-row a.button:focus,
.dgc-hero-fullscreen-row a.button:active {
  background: rgb(27, 102, 201);
  border: none;
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
  color: white;
}

/* Home page - logo garden following fullscreen hero */
.dgc-hero-fullscreen-row + .dgc-logo-garden {
  bottom: -30vh;
  position: sticky;
}

.dgc-hero-fullscreen-row + .dgc-build-smarter-hero {
  bottom: 0vh;
  position: sticky;
}

.dgc-build-smarter-hero video {
  aspect-ratio: 16 / 9;
  width: 960px;
}

.dgc-hero-fullscreen-row + .dgc-recs-carousel {
  bottom: -10vh;
  position: sticky;
}

/* Home page - hero */
/* Add a border between the hero and any following row other than .dgc-recs */
.dgc-hero + .devsite-landing-row:not(.dgc-recs) {
  border-top: 2px solid #f1f3f4;
}

.dgc-hero img {
  aspect-ratio: 720 / 416;
}

.dgc-hero .devsite-landing-row-item .devsite-landing-row-item-body h3 {
  font-size: 32px;
  line-height: 40px;
}

.dgc-hero .devsite-landing-row-item-image {
  margin: 40px auto;
}

.dgc-hero .devsite-landing-row-item-buttons {
  padding-top: 38px;
}

.dgc-recs-fallback {
  padding-top: 46px;
}

/* Reduce bottom padding for row to compensate for the extra space taken up by
 * carousel markers. */
.dgc-recs-carousel {
  padding-bottom: 16px;
}

/* Markers are only visible above 600px, so normalize the row padding for
 * mobile. */
@media screen and (max-width: 600px) {
  .dgc-recs-carousel {
    padding: 16px 26px;
  }
}

/* Home page - recommended content fallback */
.dgc-recs-fallback h2 {
  display: flex;
  font-size: 16px;
  line-height: 24px;
  margin-block: 0 24px;
}

.dgc-recs-fallback[header-position='top']
  .devsite-landing-row-header +
  .devsite-landing-row-group {
  margin: 0;
}

.dgc-recs-fallback .devsite-landing-row-item-no-media h3 {
  font-size: 20px;
  line-height: 28px;
}

.dgc-recs-fallback .devsite-landing-row-item-icon-container[size],
.dgc-recs-fallback [size] .devsite-landing-row-item-icon {
  height: 32px;
  width: 32px;
}

/* Home page - logo garden */
.dgc-logo-garden .devsite-landing-row-item-custom-image-icon {
  max-height: 64px;
  width: 64px;
}

.dgc-logo-garden-cta {
  padding-bottom: 0;
}

.dgc-logo-garden-cta > div > div {
  margin-bottom: 48px;
}

@media screen and (max-width: 600px) {
  .dgc-hero-fullscreen-row + .dgc-logo-garden {
    bottom: -70vh;
  }

  .dgc-logo-garden-cta {
    margin-top: 40px;
  }
}

@media screen and (max-width: 900px) {
  .hidden-mobile {
    display: none;
  }

  .dgc-logo-garden .dgc-logo-garden-card {
    width: 100%;
    display: inline-block;
  }
}

/* Home page - programs */
.dgc-programs.devsite-landing-row-item {
  overflow: visible;
}

.dgc-programs .devsite-landing-row-item-image {
  position: relative;
}

.dgc-programs .devsite-landing-row-item-image::before {
  background: center / contain no-repeat;
  content: '';
  display: block;
  height: 160px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 160px;
}

.dgc-programs--events .devsite-landing-row-item-image::before {
  background-image: url(/site-assets/images/home/events-graphic.png);
}

.dgc-programs--community .devsite-landing-row-item-image::before {
  background-image: url(/site-assets/images/home/community-graphic.png);
}

@media screen and (max-width: 840px) {
  .dgc-programs .devsite-landing-row-item-media {
    overflow: visible !important;
  }
}

/* Home page - experts */
.devsite-directory__wrapper {
  padding: 0 12px 0;
}

.devsite-directory__content {
  display: grid;
  grid-gap: 24px;
  grid-template-columns: repeat(var(--directory-columns, 4), 1fr);
}

.devsite-directory__content__item {
  background-color: #fff;
  margin: 0;
  padding: 0;
}

.experts-row {
  overflow: hidden;
}

.experts-directory__item__profile {
  padding: 20px 20px 0;
  text-align: center;
}

.experts-directory__item__profile-pic-holder {
  background-size: cover;
  border-radius: 50%;
  display: block;
  height: 100px;
  margin: 0 auto 20px;
  overflow: hidden;
  position: relative;
  width: 100px;
}

.experts-directory__item__name {
  margin: 0;
}

.experts-directory__item__name h3 {
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  padding-top: 15px;
  text-align: center;
}

.experts-directory__item__location,
.experts-directory__item__experience {
  font: 400 14px/20px;
  margin-top: 0;
}

.experts-directory__item__expertise {
  color: gray;
}

.experts-directory__item__view-profile {
  margin: auto auto 16px;
}

@media screen and (max-width: 1000px) {
  .devsite-directory__content {
    --directory-columns: 2;
  }
}

@media screen and (max-width: 500px) {
  .devsite-directory__content {
    --directory-columns: 1;
  }
}

/* Google for Developers rebranding */
.dgc-build-smarter {
  align-items: center;
}

.dgc-hero-news-card {
  border: 1px solid #dadce0;
  border-radius: 8px;
}

.dgc-hero-news-card img {
  border-radius: 8px 8px 0 0;
}

.dgc-hero-news-card-description {
  margin: 12px !important;
}

.dgc-build-smarter h3 {
  font: var(--dgc-build-smarter-font) !important;
  letter-spacing: unset;
}

.dgc-gdpp {
  --devsite-description-content-font: 400 20px/32px 'Google Sans';
  --devsite-text-color: #3c4043;
  display: flex;
  gap: 16px;
  flex-direction: column;
}

.dgc-gdpp a {
  color: var(--devsite-heading-color, var(--devsite-secondary-text-color));
}

.dgc-gdpp-hero {
  --devsite-1-up-grid-template-columns: repeat(2, 1fr);
}

@media screen and (max-width: 840px) {
  .dgc-gdpp-hero.devsite-landing-row-item[description-position] {
    flex-direction: column-reverse;
  }
}

.dgc-gdpp h2 {
  --dgc-gdpp-font: 700 66px/74px 'Google Sans';
  --devsite-h1-font: var(--dgc-gdpp-font);
  --devsite-h1-margin: 0;
}

.dgc-gdpp p {
  margin: 0;
  font: 400 20px/32px 'Google Sans';
  color: #3c4043;
  max-width: 480px;
}

.dgc-gdpp-action {
  align-self: flex-start;
}

.dgc-build-smarter + div {
  align-items: center;
}

.dgc-build-smarter + div > span {
    margin-left: 4px !important;
}

.dgc-build-smarter div {
  font: 400 24px 'Google Sans';
  justify-content: center;
}

.dgc-ecosystem-bold-button,
.dgc-ecosystem-bold-button:hover,
.dgc-ecosystem-bold-button:focus,
.dgc-ecosystem-bold-button:active {
  border: 2px solid var(--tenant-primary-text-color);
}

.selected-btn,
.selected-btn:hover,
.selected-btn:focus,
.selected-btn:active {
  background: #1a73e8;
  color: white;
  pointer-events: none;
}

.dgc-build-smarter-buttons-label {
  font: 700 24px 'Google Sans';
  margin-right: 30px;
  vertical-align: middle;
}

.dgc-build-smarter-buttons div {
  display: inline;
}

.dgc-build-smarter-buttons figure {
  pointer-events: none;
}

.dgc-web-ecosystem-cards header h2,
.dgc-ecosystem-solution-cards header h2,
.dgc-ecosystem-additional-solutions header h2,
.dgc-ecosystem-case-studies h2,
.dgc-social-footer h2 {
  font: 700 48px 'Google Sans';
}

/* Overrides icon size */
.dgc-social-footer img {
  height: 38px !important;
  width: 38px !important;
}

/* Ensures LinkedIn image does not look stretched */
.dgc-social-footer .dgc-social-li img {
  width: 44.69px !important;
}

.dgc-web-ecosystem-cards header div,
.dgc-ecosystem-solution-cards header div,
.dgc-ecosystem-additional-solutions header div,
.dgc-ecosystem-case-studies header div {
  font: 400 24px 'Google Sans';
}

.dgc-web-ecosystem-card {
  flex-direction: row-reverse;
}

.dgc-web-ecosystem-card img {
  max-height: 105px;
  max-width: 155px;
}

.dgc-web-ecosystem-card > div:first-child {
  align-self: center;
  padding-right: 16px;
}

/* Google for Developers rebranding */
/* [1] Overrides blue link color in favor of primary text color */
.dgc-web-ecosystem-card h3 > a,
.dgc-ecosystem-solution-card h3 > a,
.dgc-ecosystem-additional-solutions-card h3 > a {
  color: var(--tenant-primary-text-color) !important; /* [1] */
  font: 700 24px 'Google Sans';
}

.dgc-web-ecosystem-card h3 + div,
.dgc-ecosystem-solution-card h3 + div,
.dgc-ecosystem-additional-solutions-card h3 + div,
.android-spotlight h3 + div {
  font: 400 18px 'Roboto';
  line-height: 24px;
}

/* [1] Forces material icons in buttons to have 0 margin */
.dgc-web-ecosystem-card .material-icons,
.dgc-ecosystem-additional-solutions-card .material-icons,
.dgc-build-smarter-buttons .material-icons,
.dgc-ecosystem-bold-button .material-icons {
  margin: 0 !important; /* [1] */
}

.dgc-logo-garden.dgc-ecosystem-logo-garden h2 {
  font: 700 48px 'Google Sans';
}

.dgc-ecosystem-logo-garden + .dgc-logo-garden-cta {
  padding-top: 0;
}

.dgc-ecosystem-logo-garden .devsite-landing-row-item:not(
  .dgc-logo-garden-card) {
  background: var(--tenant-background-1);
  border: var(--tenant-primary-border);
  border-radius: 10px;
}

.dgc-ecosystem-logo-garden .devsite-landing-row-item:not(
  .dgc-logo-garden-card) > a {
  margin-bottom: auto;
}

.dgc-logo-garden-card {
  padding: 8px 32px 25px;
}

.dgc-logo-garden-card p:first-of-type {
  font-size: 18px;
  font-weight: 700;
}

.dgc-trending-news {
  padding-bottom: 64px;
}

.dgc-trending-row {
  --trending-carousel-padding-bottom: 64px;
  padding-inline: 8px;
}

.dgc-trending-row li > div {
  border-radius: 8px;
  height: 100%;
  padding: 32px 40px;
}

/* [1] Forces link color to be primary text color instead of blue */
.dgc-trending-row h3 a {
  color: var(--tenant-primary-text-color) !important; /* [1] */
  font: 700 48px 'Google Sans';
}

/* [1] Forces link color to be primary text color instead of blue */
.dgc-showcase-row h3 a {
  color: var(--tenant-primary-text-color) !important; /* [1] */
  font: 700 40px 'Google Sans';
}

.dgc-trending-row h3 + div,
.dgc-showcase-row h3 + div {
  color: var(--tenant-primary-text-color);
  font: 400 18px 'Roboto';
  line-height: 26px;
}

.dgc-trending-row .devsite-landing-row-item-labels span,
.dgc-showcase-row .devsite-landing-row-item-labels span {
  font: 400 14px 'Roboto';
}

.dgc-trending-row img,
.dgc-showcase-row figure img {
  border-radius: 10px;
}

.dgc-showcase-row:last-of-type {
  margin-bottom: 40px;
}

.android-spotlight {
  background: #f1f3f4 !important;
  margin-bottom: 24px;
  padding-block: 64px !important;
}

.android-spotlight img {
  border-radius: 8px;
}

.android-spotlight-mobile {
  margin-bottom: 64px;
}

.android-spotlight h3 a {
  color: var(--tenant-primary-text-color) !important;
  font: 700 48px 'Google Sans';
}

/* Carousel section */
.trending-carousel-bard img:first-of-type {
  display: block;
}

.trending-carousel-bard img:last-of-type {
  display: none;
}

.dgc-build-smarter h3 {
  --dgc-build-smarter-font: 700 100px/110px 'Google Sans';
}

.products .dgc-build-smarter-hero {
  padding-block: 0;
}

.products .dgc-build-smarter-hero:not(.landing) > div {
  background: #f1f3f4;
}

.products .dgc-build-smarter-hero:not(.landing) .dgc-build-smarter {
  grid-template-columns: 1fr;
  text-align: center;
  margin-inline: 200px;
  padding-block: 40px;
}

.products-hero-mobile {
  display: none;
}

.products .dgc-build-smarter-hero .devsite-landing-row-inner {
  background: center right no-repeat url(/products/images/grid-bg.png), #f1f3f4;
  background-size: 1012px;

  .color-scheme--dark & {
    background: center right no-repeat url(/products/images/grid-bg.png), #36373a;
  }
}

.products .dgc-build-smarter h3 {
  --dgc-build-smarter-font: 700 82px/84px 'Google Sans';
}

.products .dgc-build-smarter-hero:not(.landing) .dgc-build-smarter h3 {
  --dgc-build-smarter-font: 700 68px/72px 'Google Sans';
}

.products .dgc-build-smarter div {
  font: 400 18px/28px 'Roboto';
}

.trending-carousel-slide {
  --trending-carousel-slide-flex-direction: row;
  --trending-carousel-slide-gap: 70px;
}

.trending-carousel-slide > div {
  --trending-carousel-slide-display: grid;
}

.trending-carousel-slide > div.trending-carousel-bard {
  --trending-carousel-slide-display: flex;
  --trending-carousel-slide-flex-direction: column-reverse;
  --trending-carousel-slide-gap: 0;
}

@media screen and (min-width: 961px) {
  .products .dgc-build-smarter-hero img  {
    padding-block: 80px;
  }

  .products .dgc-build-smarter .devsite-landing-row-item-description {
    max-width: 100%;
  }

  .products .dgc-build-smarter-hero.landing img  {
    padding-block: unset;
  }
}

@media screen and (max-width: 1348px) {
  .dgc-build-smarter h3 {
    --dgc-build-smarter-font: 700 64px/72px 'Google Sans';
  }
}

@media screen and (max-width: 1200px) {
  .dgc-gdpp h2 {
    --dgc-gdpp-font: 700 40px/45px 'Google Sans';
  }
}

@media screen and (max-width: 960px) {
  .products .dgc-build-smarter-hero:not(.landing) .dgc-build-smarter {
    margin-inline: 40px;
    padding-top: unset;
  }

  .products .dgc-build-smarter-hero .devsite-landing-row-inner {
    background: bottom no-repeat url(/products/images/grid-bg-m.png), #f1f3f4;
    background-size: contain;
    height: 76vw;
    min-height: 440px;
  }

  .products .dgc-build-smarter-hero:not(.landing) .devsite-landing-row-inner {
    height: unset;
    min-height: unset;
  }

  .products .dgc-build-smarter-hero > div > div {
    max-width: 400px;
    text-align: center;
  }

  .products .dgc-build-smarter-hero:not(.landing) > div > div {
    max-width: unset;
  }

  .products .dgc-build-smarter-hero img  {
    height: 40vw;
    margin-block: 2vw;
    max-width: unset;
    padding-block: 2vw;
    width: auto;
  }

  .products-hero-mobile {
    display: block;
    margin-top: -4vw;
  }

  .products .dgc-build-smarter-hero.landing img{
    margin-block: unset;
    padding-block: unset;
  }

  .products .dgc-build-smarter-hero.landing .products-arrow {
    height: auto;
    left: 0;
    margin-top: -6vw;
    max-width: 100%;
    position: absolute;
    width: 100%;
  }

  .products .dgc-build-smarter-hero.landing .products-img {
    height: 36vw;
    margin-top: 12vw;
    margin-left: 13vw;
    width: auto;
  }

  .products-hero-web {
    display: none;
  }

  .products .dgc-build-smarter h3,
  .products .dgc-build-smarter-hero:not(.landing) .dgc-build-smarter h3 {
    --dgc-build-smarter-font: 700 32px/38px 'Google Sans';
    line-height: 32px !important;
  }

  .products .dgc-build-smarter div {
    font: 400 16px/24px 'Roboto';
  }

  .dgc-build-smarter-hero > div > div {
    display: flex;
    flex-direction: column;
    padding-top: 40px;
  }

  .trending-carousel-slide {
    --trending-carousel-slide-flex-direction: column-reverse;
    --trending-carousel-slide-gap: 20px;
  }

  .trending-carousel-slide > div:not(.trending-carousel-bard)
  .devsite-landing-row-item-media {
    align-self: baseline;
    width: 75%;
  }

  .dgc-trending-row {
    --trending-carousel-padding-bottom: 24px;
  }

  .dgc-logo-garden-cta > div > div {
    padding-bottom: 16px;
    margin-bottom: 16px;
  }

  .dgc-trending-row {
    --trending-carousel-padding-bottom: 24px;
  }

  .trending-carousel-slide > div {
    --trending-carousel-slide-display: flex;
  }

  .trending-carousel-slide img {
    border: var(--tenant-primary-border);
    border-radius: 10px;
  }

  .trending-carousel-bard img {
    padding: 50px 12px 60px;
  }
}

@media screen and (max-width: 850px) {
  .dgc-ecosystem-logo-garden > div > div {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .dgc-gdpp h2 {
    --dgc-gdpp-font: 700 30px/35px 'Google Sans';
  }

  .dec-gdpp-hero {
    --devsite-item-display: flex;
    --devsite-item-flex-direction: row-reverse;
  }
}

@media screen and (max-width: 600px) {
  .dgc-gdpp-hero {
    --devsite-item-display: flex;
  }

  .trending-carousel-slide {
    --trending-carousel-slide-gap: 0;
  }

  .trending-carousel-slide > div:not(.trending-carousel-bard)
  .devsite-landing-row-item-media {
    width: 100%;
  }

  .trending-carousel-bard img:first-of-type {
    display: none !important;
  }

  .trending-carousel-bard img:last-of-type {
    display: block !important;
  }

  .trending-carousel-bard > div:last-of-type {
    margin-top: 24px !important;
  }

  .trending-carousel-bard > div:last-of-type > div > div {
    padding-top: 0 !important;
  }
}

.dgc-trending-row {
  --trending-row-padding-bottom: 64px;
}

.dgc-trending-row {
  padding-bottom: var(--trending-carousel-padding-bottom);
}

.dgc-trending-row-tech-stack {
  padding-top: 64px;
}

.trending-carousel-slide {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  width: 100%;
}

.trending-carousel-slide > div.trending-carousel-bard {
  align-items: baseline;
  padding: 32px 40px 54px;
  width: 100%;
}

.trending-carousel-slide > div.trending-carousel-bard img {
  width: 1100px;
}

.trending-carousel-slide > div {
  align-items: center;
  border: var(--trending-carousel-slide-border, var(--tenant-primary-border));
  display: var(--trending-carousel-slide-display);
  flex-direction: var(--trending-carousel-slide-flex-direction);
  gap: var(--trending-carousel-slide-gap);
  grid: auto-flow / 2fr 3fr;
  width: 100%;
}

.trending-carousel-slide > div > div {
  grid-column: unset !important;
}

/* [1] Forces carousel slide grid-column to be unset */
.trending-carousel-slide > div > div {
  grid-column: unset !important; /* [1] */
}

/* Tech stack pages */
/* [1] Overrides font of page header */
.dgc-ecosystem-header h3 {
  font: 700 100px 'Google Sans' !important; /* [1] */
  margin-bottom: 6px;
}

.dgc-ecosystem-header div {
  font: 400 24px 'Google Sans';
}

.dgc-ecosystem-header-mobile {
  background: var(--dgc-ecosystem-header-mobile-background);
  padding: var(--dgc-ecosystem-header-mobile-padding);
}

.dgc-ecosystem-header-web {
  background: var(--dgc-ecosystem-header-web-background);
  padding: var(--dgc-ecosystem-header-web-padding);
}

.dgc-ecosystem-header-cloud {
  background: var(--dgc-ecosystem-header-cloud-background);
  padding: var(--dgc-ecosystem-header-cloud-padding);
}

.dgc-ecosystem-header-ai {
  background: var(--dgc-ecosystem-header-ai-background);
  padding: var(--dgc-ecosystem-header-ai-padding);
}

.dgc-ecosystem-related {
  background: #e8f0fe;
  padding-block: 64px;
}

.dgc-ecosystem-solution-cards {
  padding-block: 8px 0;
}

.dgc-ecosystem-solution-cards + section {
  padding-block: 24px 64px;
}

.dgc-ecosystem-case-studies {
  padding-bottom: 64px;
}

.dgc-ecosystem-case-studies header {
  max-width: 800px;
}

.dgc-ecosystem-solution-cards-paginator {
  display: grid;
  gap: 24px;
  grid: auto-flow / repeat(auto-fit, minmax(350px, 1fr));
  margin-bottom: 24px;
}

.dgc-ecosystem-solution-card {
  border: var(--tenant-primary-border);
  border-radius: 8px;
}

.dgc-ecosystem-solution-card,
.dgc-ecosystem-solution-card > div,
.dgc-ecosystem-solution-card > div > div {
  height: 100%;
}

.dgc-ecosystem-solution-card .devsite-landing-row-item-labels {
  display: flex;
  justify-content: space-between;
}

.dgc-ecosystem-solution-card .devsite-landing-row-item-labels span {
  font: 400 14px 'Roboto';
}

.dgc-ecosystem-solution-card-icons {
  align-items: center;
  display: flex;
  gap: 12px;
  margin-top: auto;
  padding-top: 32px;
}

.dgc-ecosystem-solution-card-icons + div {
  margin-top: 32px;
}

.dgc-ecosystem-solution-card-icons img {
  max-height: 32px;
  max-width: 32px;
  min-width: 32px;
}

.dgc-ecosystem-case-study .devsite-landing-row-item-labels span,
.android-spotlight .devsite-landing-row-item-labels span {
  font: 400 14px 'Roboto';
}

.dgc-ecosystem-case-study h3 a {
  color: #202124;
  font: 700 24px 'Google Sans';
}

.dgc-ecosystem-case-study > div:first-child {
  padding: 24px 24px 0;
}

.dgc-ecosystem-additional-solutions-card > div:first-child {
  order: 1;
  padding: 25px;
}

.dgc-ecosystem-additional-solutions-card {
  display: grid;
  grid: auto-flow / 1.5fr 1fr;
}

.products .dgc-ecosystem-additional-solutions-card {
  grid: auto-flow / 1fr 1fr;
}

.dgc-ecosystem-additional-solutions-card img {
  max-height: 100px;
  max-width: 155px;
  width: auto;
}

.products .dgc-ecosystem-additional-solutions-card img {
  max-height: 140px;
  max-width: 300px;
}

/* [1] Forces background color of row to be #f8f9fa instead of white */
.dgc-ecosystem-additional-solutions {
  background: #f8f9fa !important; /* [1] */
  padding-block: 64px;
}

.products .dgc-ecosystem-additional-solutions {
  background: white !important; /* Forces correct bg for products pg */

  .color-scheme--dark & {
    background: #2a2b2e !important;
  }
}

.dgc-ecosystem-header-mobile {
  --dgc-ecosystem-header-mobile-background: url(/focus/images/mobile-header.png)
    no-repeat center center / min(calc(100vw - 66px), 1436px);
  --dgc-ecosystem-header-mobile-padding: min(9vw, 150px) 0;
}

.dgc-ecosystem-header-web {
  --dgc-ecosystem-header-web-background: url(/focus/images/web-header.png)
    no-repeat center center / min(calc(100vw - 66px), 1436px);
  --dgc-ecosystem-header-web-padding: min(9vw, 150px) 0;
}

.dgc-ecosystem-header-cloud {
  --dgc-ecosystem-header-cloud-background: url(/focus/images/cloud-header.png)
    no-repeat center center / min(calc(100vw - 66px), 1436px);
  --dgc-ecosystem-header-cloud-padding: min(9vw, 150px) 0;
}

.dgc-ecosystem-header-ai {
  --dgc-ecosystem-header-ai-background: url(/focus/images/ai-header.png)
    no-repeat center center / min(calc(100vw - 66px), 1436px);
  --dgc-ecosystem-header-ai-padding: min(9vw, 150px) 0;
}

@media screen and (max-width: 1420px) {
  .dgc-build-smarter-hero .devsite-landing-row-item-buttons {
    display: block;
  }

  .dgc-build-smarter-buttons-label {
    margin: 0 0 8px 12px;
  }

  .dgc-ecosystem-additional-solutions-card img {
    width: -webkit-fill-available;
  }
}

@media screen and (max-width: 1000px) {
  .dgc-ecosystem-header-mobile {
    --dgc-ecosystem-header-mobile-background:
      url(/focus/images/mobile-header-mobile.png)
      no-repeat top 30px left 30px / 50vw;
    --dgc-ecosystem-header-mobile-padding: 36vw 0 50px;
  }

  .dgc-ecosystem-header-web {
    --dgc-ecosystem-header-web-background:
      url(/focus/images/web-header-mobile.png)
      no-repeat top 30px left 30px / 50vw;
    --dgc-ecosystem-header-web-padding: 36vw 0 50px;
  }

  .dgc-ecosystem-header-cloud {
    --dgc-ecosystem-header-cloud-background:
      url(/focus/images/cloud-header-mobile.png)
      no-repeat top 30px left 30px / 50vw;
    --dgc-ecosystem-header-cloud-padding: 36vw 0 50px;
  }

  .dgc-ecosystem-header-ai {
    --dgc-ecosystem-header-ai-background:
      url(/focus/images/ai-header-mobile.png)
      no-repeat top 30px left 30px / 50vw;
    --dgc-ecosystem-header-ai-padding: 36vw 0 50px;
  }
}

@media screen and (max-width: 840px) {
  .dgc-ecosystem-additional-solutions-card,
  .products .dgc-ecosystem-additional-solutions-card {
    grid: unset;
  }

  .dgc-web-ecosystem-card img {
    max-height: 105px;
    padding: 10px 0 0 10px;
    width: auto;
  }

  .dgc-ecosystem-additional-solutions-card img {
    width: auto;
  }
}

@media screen and (max-width: 600px) {
  .products .dgc-build-smarter-hero {
    text-align: center;
  }

  .dgc-build-smarter h3 {
    line-height: 85px !important;
  }

  .products .dgc-build-smarter h3 {
    line-height: 38px !important;
  }

  .dgc-ecosystem-header-mobile {
    --dgc-ecosystem-header-mobile-background:
      url(/focus/images/mobile-header-mobile.png)
      no-repeat top 30px left 30px / calc(100vw - 66px);
    --dgc-ecosystem-header-mobile-padding: 58vw 0 50px;
  }

  .dgc-ecosystem-header-web {
    --dgc-ecosystem-header-web-background:
      url(/focus/images/web-header-mobile.png)
      no-repeat top 30px left 30px / calc(100vw - 66px);
    --dgc-ecosystem-header-web-padding: 58vw 0 50px;
  }

  .dgc-ecosystem-header-cloud {
    --dgc-ecosystem-header-cloud-background:
      url(/focus/images/cloud-header-mobile.png)
      no-repeat top 30px left 30px / calc(100vw - 66px);
    --dgc-ecosystem-header-cloud-padding: 58vw 0 50px;
  }

  .dgc-ecosystem-header-ai {
    --dgc-ecosystem-header-ai-background:
      url(/focus/images/ai-header-mobile.png)
      no-repeat top 30px left 30px / calc(100vw - 66px);
    --dgc-ecosystem-header-ai-padding: 58vw 0 50px;
  }

  .dgc-logo-garden-cta {
    margin-top: 0 !important;
  }

  .dgc-ecosystem-solution-cards + section {
    padding-block: 24px 32px;
  }

  .dgc-trending-row h3 a {
    font: 700 32px 'Google Sans';
  }

  .dgc-ecosystem-additional-solutions {
    padding-block: 32px;
  }

  .dgc-ecosystem-case-studies {
    padding-bottom: 32px;
  }

  .android-spotlight-mobile {
    margin-bottom: 32px;
  }
}

.dgc-events-learn-community {
  background-image: url(/homepage-assets/images/dgc-learn-community-event-background.png);
  background-size: contain;
  padding-top: 40px !important;
  .find-an-event-sticker,
  .join-a-community-sticker,
  .improve-skills-sticker {
    position: absolute;
    top: 200px;
    right: 20px;
    height: 100px;
  }
}

@media screen and (max-width: 1349px) {
  .find-an-event-sticker,
  .join-a-community-sticker,
  .improve-skills-sticker {
      display: none;
  }
}

.gdp-cn-hero-logo {
  max-height: 54px;
  margin-inline: 0 auto;
  margin-block: 24px;
}

.gdp-cn-hero-promo {
  margin: auto;
  display: block;
}
