@charset "utf-8";

/*
Theme Name: Kinora - Film & Video Production HTML5 Template
Author: Metropolitanthemes
Version: 1.0.0

Responsive stylesheet - desktop first: 1399 / 1199 / 991 / 767 / 575
*/

/*======================
(min-width: 1600px)
========================*/
@media (min-width: 1600px) {
  /* 1. General */
  .container {
    max-width: 1440px;
  }
}

/*======================
(min-width: 1960px)
========================*/
@media (min-width: 1960px) {
  /* 1. General */
  .container {
    max-width: 1560px;
  }
  html {
    font-size: 17px;
  }
}

/*======================
(max-width: 1399px)
========================*/
@media (max-width: 1399px) {
  /* 1. General */
  .sec-pt-120 {
    padding-top: 100px;
  }
  .sec-pb-120 {
    padding-bottom: 100px;
  }

  /* 3. Header */
  .kn-header .wide {
    padding: 0 20px;
  }
  .header-main .wide {
    gap: 20px;
  }
  .header-top .top-addr {
    display: none;
  }
  /* the theme switch and saved kit live in the offcanvas below 1400: the bar keeps the menu and the booking button */
  .header-actions .is-wish,
  .header-actions .kn-theme-toggle {
    display: none;
  }

  /* 3. Header */
  /* the gap grows with the room: 12px at 1200, about 21px at 1399 */
  .kn-nav > ul {
    gap: clamp(12px, calc(4.5vw - 42px), 22px);
  }
  .kn-nav > ul > li > a {
    font-size: 12.5px;
  }
}

/*======================
(max-width: 1199px)
========================*/
@media (max-width: 1199px) {
  /* 3. Header */
  .kn-nav {
    display: none;
  }
  .header-main .wide {
    height: 80px;
  }
  .header-top .top-right > a {
    display: none;
  }

  /* 7. Components */
  .board-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px 30px;
  }
  .br-strip {
    grid-column: 1 / -1;
  }

  /* 7. Components */
  .process-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pstep:nth-child(4) {
    padding-inline-start: 0;
    border-inline-start: 0;
  }

  /* 8. Home 01 The Studio */
  .h1-grid {
    gap: 44px;
  }
  .h1-foot,
  .h1-reel {
    padding-inline-start: 0;
  }

  /* 9. Home 02 The Reel */
  .h2-stage {
    grid-template-columns: minmax(0, 0.25fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 36px;
  }

  /* 13. Inner Page Sections */
  .svc-row {
    grid-template-columns: 40px 180px minmax(0, 1fr) 140px;
  }
  .svc-row .kn-btn {
    display: none;
  }

  /* 13. Inner Page Sections */
  .est-side {
    top: 90px;
  }
}

/*======================
(max-width: 991px)
========================*/
@media (max-width: 991px) {
  /* 1. General */
  .sec-pt-120 {
    padding-top: 84px;
  }
  .sec-pb-120 {
    padding-bottom: 84px;
  }
  .sec-pt-90 {
    padding-top: 70px;
  }
  .sec-pb-90 {
    padding-bottom: 70px;
  }
  .kn-photo-band::after {
    background: linear-gradient(90deg, rgba(12, 12, 11, 0.86) 0%, rgba(12, 12, 11, 0.74) 60%, rgba(12, 12, 11, 0.56) 100%);
  }

  /* 1. General */
  .kn-title {
    margin-bottom: 42px;
  }
  .kn-title.is-split {
    display: block;
  }
  .kn-title.is-split .kn-lead {
    margin-top: 22px;
  }

  /* 7. Components */
  .title-side {
    align-items: flex-start;
    margin-top: 22px;
    text-align: start;
  }

  /* 7. Components */
  .unit-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  /* 7. Components */
  .kit-row {
    grid-template-columns: minmax(0, 1fr) 110px;
    gap: 6px 20px;
  }
  .kr-cat,
  .kr-pk,
  .kr-qty {
    grid-column: 1;
  }
  .kr-main {
    grid-column: 1;
    grid-row: 2;
  }
  .kr-cat {
    grid-row: 1;
  }
  .kr-pk {
    grid-row: 3;
  }
  .kr-qty {
    display: none;
  }
  .kr-rate {
    grid-column: 2;
    grid-row: 1 / span 3;
  }

  /* 8. Home 01 The Studio */
  .h1-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .strip-pair {
    justify-content: flex-start;
    height: 440px;
  }
  .strip {
    width: 46%;
  }
  .h1-foot {
    margin-top: 40px;
  }

  /* 8. Home 01 The Studio */
  .work-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wk-item,
  .wk-item:nth-child(4n) {
    padding: 0 18px;
  }
  .wk-item:nth-child(2n + 1) {
    padding-inline-start: 0;
    border-inline-start: 0;
  }
  .wk-item:nth-child(2n) {
    padding-inline-end: 0;
    border-inline-start: 1px solid var(--kn-line-2);
  }

  /* 9. Home 02 The Reel */
  .h2-stage {
    grid-template-columns: minmax(0, 1fr);
  }
  .h2-slider,
  .h2-side {
    grid-column: 1;
  }
  .h2-slider {
    max-width: 520px;
  }
  .h2-side {
    padding-top: 0;
  }
  .h2-title {
    margin-bottom: 18px;
  }

  /* 9. Home 02 The Reel */
  .cascade {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 44px;
  }
  .cascade .cascade-item,
  .cascade.is-filtered .cascade-item {
    grid-column: auto;
    margin-top: 0;
  }
  .cascade .cascade-item:nth-child(2n) {
    margin-top: 60px;
  }

  /* 10. Home 03 On Set */
  .h3-split {
    grid-template-columns: minmax(0, 1fr);
  }
  .h3-inner {
    max-width: none;
    padding: 60px 30px;
  }
  .h3-pics {
    height: 520px;
    margin: 50px 30px;
  }

  /* 10. Home 03 On Set */
  .board-side {
    align-items: flex-start;
    margin-top: 20px;
  }

  /* 11. Inner Pages */
  .wz-steps {
    grid-template-columns: repeat(3, 1fr);
  }
  .wz-side {
    position: static;
  }

  /* 12. Work Pages */
  .pb-tools {
    align-items: flex-start;
  }

  /* 12. Work Pages */
  .pw-stills {
    gap: 18px;
  }
  .doc-chapters li {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }
  .doc-gallery {
    columns: 2;
  }

  /* 12. Work Pages */
  .review-lock {
    grid-template-columns: minmax(0, 1fr);
  }
  .rl-photo {
    min-height: 300px;
  }
  .rl-body {
    padding: 36px 26px;
  }

  /* 13. Inner Page Sections */
  .est-side {
    position: static;
  }

  /* 13. Inner Page Sections */
  .profile-card {
    position: static;
  }

  /* 14. Blog & Account */
  .account-wrap {
    grid-template-columns: minmax(0, 1fr);
  }
  .account-side {
    min-height: 460px;
  }

  /* 14. Blog & Account */
  .bare-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .bare-photo-side {
    height: 320px;
  }
  .bare-seal {
    top: auto;
    right: 30px;
    bottom: -60px;
    width: 120px;
    margin-top: 0;
  }
  .bare-inner {
    padding: 90px 24px 70px;
  }

  /* 15. Subheader */
  .kn-subheader {
    min-height: 460px;
    padding: 170px 0 84px;
  }
  .kn-subheader.is-grain {
    min-height: 0;
    padding: 84px 0 74px;
  }

  /* 16. Footer */
  .kn-footer {
    padding-top: 80px;
  }
  .footer-top {
    grid-template-columns: minmax(0, 1fr);
  }
}

/*======================
(max-width: 767px)
========================*/
@media (max-width: 767px) {
  /* 1. General */
  /* Bootstrap's widest gutter is wider than the container's side padding on a phone: rows would spill past the screen */
  .g-5,
  .gx-5 {
    --bs-gutter-x: 1.5rem;
  }

  /* 3. Header */
  .header-top {
    display: none;
  }
  .header-actions .is-wish,
  .header-actions .kn-theme-toggle,
  .header-actions .header-btn {
    display: none;
  }

  /* 7. Components */
  .crew-slices {
    flex-direction: column;
    height: auto;
  }
  .slice {
    flex: none;
    height: 90px;
    transition: height 0.7s var(--kn-ease);
  }
  .slice.is-open {
    height: 420px;
  }

  /* 7. Components */
  .voices-foot {
    flex-direction: column;
  }

  /* 7. Components */
  .choice-grid.is-3 {
    grid-template-columns: minmax(0, 1fr);
  }
  .choice-card.is-film {
    flex-direction: row;
    align-items: center;
  }
  .choice-card.is-film img {
    width: 72px;
    height: 56px;
    aspect-ratio: auto;
  }

  /* 7. Components */
  .chapter {
    grid-template-columns: 110px minmax(0, 1fr) 46px;
    gap: 16px;
  }
  .ch-tc {
    grid-column: 1 / -1;
    font-size: 14px;
  }
  .ch-play {
    width: 46px;
    height: 46px;
  }

  /* 7. Components */
  .process-steps {
    grid-template-columns: minmax(0, 1fr);
  }
  .pstep,
  .pstep + .pstep {
    padding: 26px 0 6px;
    border-inline-start: 0;
  }
  .pstep + .pstep {
    border-top: 1px solid var(--kn-line-2);
  }

  /* 8. Home 01 The Studio */
  .cut-timeline {
    padding: 12px 10px 16px;
  }
  .ct-ruler,
  .ct-track {
    grid-template-columns: 30px minmax(0, 1fr);
  }
  .ct-headzone {
    left: 30px;
  }
  .ct-label {
    font-size: 10.5px;
  }
  .ct-lane {
    height: 46px;
  }
  .ct-clip .cc-name {
    display: none;
  }
  .tk b {
    font-size: 9.5px;
    left: 3px;
  }
  .cm-meta .cm-len {
    margin-inline-start: 0;
  }

  /* 8. Home 01 The Studio */
  .fs-copy {
    margin: 0 24px;
    padding-bottom: 60px;
  }
  .films-count {
    left: 24px;
    bottom: 22px;
  }
  .films-nav {
    right: 16px;
    bottom: 20px;
  }
  .films-nav .hero-arrow {
    padding: 0 14px;
    font-size: 0;
  }
  .films-nav .hero-arrow i {
    font-size: 15px;
  }

  /* 9. Home 02 The Reel */
  .af-stops {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .af-stops li {
    padding: 18px 0;
    border-bottom: 1px solid var(--kn-line);
  }

  /* 10. Home 03 On Set */
  .dl-view {
    aspect-ratio: 4 / 5;
  }
  .dl-layer.is-back img {
    left: 22%;
    width: 56%;
  }
  .dl-layer.is-chair img {
    width: 30%;
    left: 2%;
  }
  .dl-layer.is-lamp img {
    width: 38%;
    right: -6%;
  }
  .dl-layer.is-flag img {
    width: 52%;
    left: -18%;
  }
  .dl-lens {
    display: none;
  }
  .dl-hud {
    left: 12px;
    right: 12px;
    bottom: 12px;
    gap: 12px;
  }

  /* 12. Work Pages */
  .project-nav {
    grid-template-columns: minmax(0, 1fr);
  }
  .pn-link.is-next {
    justify-content: flex-start;
    flex-direction: row-reverse;
    text-align: start;
  }
  .pn-all {
    display: none;
  }
  .pw-stills {
    grid-template-columns: minmax(0, 1fr);
  }
  .pw-stills .still {
    aspect-ratio: 4 / 3;
  }
  .pd-facts {
    grid-template-columns: minmax(0, 1fr);
  }
  .pd-facts li + li {
    padding-inline-start: 0;
    border-inline-start: 0;
  }

  /* 12. Work Pages */
  .reel-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .reel-facts li:nth-child(3) {
    padding-inline-start: 0;
    border-inline-start: 0;
  }

  /* 13. Inner Page Sections */
  .svc-row {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 16px 20px;
  }
  .sr-img {
    grid-column: 2;
  }
  .sr-body,
  .sr-rate {
    grid-column: 2;
  }
  .sr-no {
    grid-row: 1;
  }

  /* 14. Blog & Account */
  .author-box {
    flex-direction: column;
    align-items: flex-start;
    padding: 30px 24px;
  }
  .comment-list ul {
    padding-inline-start: 30px;
  }
  .post-nav b {
    display: none;
  }
  .article-rows > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
  .article-quote {
    padding: 30px 24px;
  }

  /* 16. Footer */
  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }
  .footer-links {
    justify-content: center;
  }
  .footer-big {
    font-size: 12vw;
  }
}

/*======================
(max-width: 575px)
========================*/
@media (max-width: 575px) {
  /* 1. General */
  .kn-lead {
    font-size: 17px;
  }

  /* 1. General */
  .sec-pt-120 {
    padding-top: 70px;
  }
  .sec-pb-120 {
    padding-bottom: 70px;
  }
  .sec-pt-90 {
    padding-top: 60px;
  }
  .sec-pb-90 {
    padding-bottom: 60px;
  }
  body {
    font-size: 16px;
  }
  .kn-hr {
    margin-bottom: 36px;
  }

  /* 1. General */
  .kn-btn {
    height: 50px;
    padding: 0 24px;
  }

  /* 1. General */
  .kn-back-top {
    right: 16px;
    bottom: 16px;
    width: 46px;
    height: 46px;
  }

  /* 3. Header */
  .kn-header .wide {
    padding: 0 16px;
  }
  .header-main .wide {
    height: 70px;
  }
  .kn-logo img {
    height: 25px;
  }
  .header-actions {
    gap: 6px;
  }

  /* 3. Header */
  .kn-header.is-sticky .header-main .wide {
    height: 64px;
  }

  /* 7. Components */
  .acc-body {
    padding: 0 0 22px 0;
  }
  .acc-head {
    font-size: 16px;
  }

  /* 7. Components */
  .board-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .bs-seg {
    padding: 0 4px;
    font-size: 0;
  }

  /* 7. Components */
  .kn-panel {
    padding: 26px 22px;
  }

  /* 7. Components */
  .kn-map iframe,
  .home-map iframe {
    height: 340px;
  }

  /* 8. Home 01 The Studio */
  .hero-one {
    padding: 30px 0 70px;
  }
  .hero-one .wide {
    padding: 0 16px;
  }
  .strip-pair {
    gap: 14px;
    height: 340px;
  }
  .strip {
    width: 48%;
  }
  .h1-title {
    font-size: 13vw;
  }
  .h1-title .line.is-in {
    padding-inline-start: 0.6em;
  }

  /* 8. Home 01 The Studio */
  .work-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .wk-item,
  .wk-item:nth-child(2n) {
    padding: 0;
    border-inline-start: 0;
  }

  /* 9. Home 02 The Reel */
  .hero-two .wide {
    padding: 0 16px;
  }
  .h2-title {
    font-size: 17.5vw;
  }

  /* 9. Home 02 The Reel */
  .cascade {
    grid-template-columns: minmax(0, 1fr);
  }
  .cascade .cascade-item:nth-child(2n) {
    margin-top: 0;
  }

  /* 10. Home 03 On Set */
  .h3-inner {
    padding: 46px 16px;
  }
  .h3-pics {
    height: 380px;
    margin: 34px 16px;
  }

  /* 11. Inner Pages */
  .ab-row {
    grid-template-columns: 70px 1fr;
  }
  .ab-row img {
    width: 70px;
    height: 56px;
  }
  .acc-orders li {
    grid-template-columns: 1fr 1fr;
  }

  /* 11. Inner Pages */
  .wz-steps {
    grid-template-columns: repeat(2, 1fr);
  }
  .wz-nav {
    flex-wrap: wrap;
  }

  /* 12. Work Pages */
  .doc-gallery {
    columns: 1;
  }
  .pn-link img {
    width: 90px;
    height: 64px;
  }

  /* 13. Inner Page Sections */
  .est-block {
    padding: 24px 18px;
  }
  .crew-strip {
    gap: 3px;
  }
  .cs-person {
    height: 24px;
  }
  .cs-person::before {
    width: 8px;
    height: 8px;
    top: -9px;
  }

  /* 13. Inner Page Sections */
  .credits-roll {
    columns: 1;
  }

  /* 14. Blog & Account */
  .blog-post.is-quote {
    padding: 40px 26px;
  }
  .bp-glyph {
    right: 20px;
    font-size: 80px;
  }
  .post-date {
    left: 16px;
    width: 64px;
    height: 70px;
  }
  .post-date b {
    font-size: 26px;
  }

  /* 14. Blog & Account */
  .account-form,
  .account-side {
    padding: 40px 24px;
  }

  /* 14. Blog & Account */
  .launch-count {
    grid-template-columns: 1fr 1fr;
  }
  .launch-count b {
    font-size: 38px;
  }
  .bare-news {
    flex-direction: column;
  }

  /* 15. Subheader */
  .kn-subheader {
    min-height: 0;
    padding: 140px 0 70px;
  }
  .sub-slate {
    gap: 12px;
    font-size: 12px;
  }
}
