/* =========================================================
   Regular search pages top responsive ad
   Wrapper: .ks-top-search-ad-desktop
   ========================================================= */

.ks-top-search-ad-desktop {
  display: none;
}

@media (min-width: 980px) {
  .ks-top-search-ad-desktop {
    display: block !important;
    width: 100%;
    max-width: 1215px;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    margin: 0 0 18px 0;
    overflow: visible !important;
  }

  .ks-top-search-ad-desktop .ks-adsense-slot,
  .ks-top-search-ad-desktop ins.adsbygoogle {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box;
  }
}


/* =========================================================
   Homepage top responsive ad
   Wrapper: .ks-home-top-ad
   ========================================================= */

.ks-home-top-ad {
  width: 100%;
  max-width: 1215px;
  margin: 0 auto 18px auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  overflow: visible !important;
}

.ks-home-top-ad .ks-adsense-slot,
.ks-home-top-ad ins.adsbygoogle {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  box-sizing: border-box;
}


/* =========================================================
   Image search top responsive ad
   Wrapper: .ks-image-top-ad-wrap
   ========================================================= */

.ks-image-top-ad-wrap {
  display: block !important;
  width: 100%;
  max-width: 1215px;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  margin: 0 0 18px 0;
  overflow: visible !important;
}

.ks-image-top-ad-wrap .ks-adsense-slot,
.ks-image-top-ad-wrap ins.adsbygoogle {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  box-sizing: border-box;
}


/* =========================================================
   Image search two-column layout
   Keeps metadata/right column beside image results.
   This only affects a .container immediately after .ks-image-top-ad-wrap.
   ========================================================= */

.ks-image-top-ad-wrap + .container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  width: 1210px !important;
  max-width: none !important;
  min-width: 1210px !important;
  box-sizing: border-box;
}

.ks-image-top-ad-wrap + .container > .left-column {
  flex: 0 0 860px !important;
  width: 860px !important;
  max-width: 860px !important;
  min-width: 860px !important;
  padding-right: 10px !important;
  box-sizing: border-box;
}

.ks-image-top-ad-wrap + .container > .right-column {
  flex: 0 0 336px !important;
  width: 336px !important;
  max-width: 336px !important;
  min-width: 336px !important;
  padding-right: 5px !important;
  margin-top: 30px !important;
  margin-left: 8px !important;
  box-sizing: border-box;
}


/* =========================================================
   Narrow desktop / small viewport behavior for image search
   Do NOT stack the right column. Let page scroll sideways.
   ========================================================= */

@media (max-width: 1120px) {
  .ks-image-top-ad-wrap + .container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 1210px !important;
    min-width: 1210px !important;
    max-width: none !important;
  }

  .ks-image-top-ad-wrap + .container > .left-column {
    flex: 0 0 860px !important;
    width: 860px !important;
    max-width: 860px !important;
    min-width: 860px !important;
  }

  .ks-image-top-ad-wrap + .container > .right-column {
    flex: 0 0 336px !important;
    width: 336px !important;
    max-width: 336px !important;
    min-width: 336px !important;
    margin-left: 8px !important;
    margin-top: 30px !important;
  }
}


/* =========================================================
   Small screens
   Hide the large image-search top ad, but keep desktop
   image results + metadata side-by-side if this desktop page
   is viewed on a narrow screen.
   ========================================================= */

@media (max-width: 768px) {
  .ks-image-top-ad-wrap {
    display: none !important;
  }

  .ks-image-top-ad-wrap + .container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 1210px !important;
    min-width: 1210px !important;
    max-width: none !important;
  }

  .ks-image-top-ad-wrap + .container > .left-column {
    flex: 0 0 860px !important;
    width: 860px !important;
    max-width: 860px !important;
    min-width: 860px !important;
  }

  .ks-image-top-ad-wrap + .container > .right-column {
    flex: 0 0 336px !important;
    width: 336px !important;
    max-width: 336px !important;
    min-width: 336px !important;
    margin-left: 8px !important;
    margin-top: 30px !important;
  }
}