* {
  box-sizing: border-box;
}

html, body {
  overflow-x: hidden;
  max-width: 100%;
}

.container,
.container-fluid,
.main,
main {
  max-width: 100%;
  overflow-x: hidden;
}

@media (max-width: 479px) {
  body {
    font-size: 14px;
    line-height: 1.4;
  }
  header {
    max-width: 100%;
    overflow-x: hidden;
  }
  header .banner {
    height: 70vh;
    max-width: 100%;
  }
  header .banner .banner-content {
    padding: 16px;
    max-width: 100%;
  }
  header .banner .banner-content h1 {
    font-size: 28px;
    margin-bottom: 12px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  header .banner .banner-content p {
    font-size: 16px;
    margin-bottom: 20px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  header nav {
    max-width: 100%;
    overflow-x: hidden;
  }
  header nav ul {
    flex-direction: column;
    padding: 0 16px;
    max-width: 100%;
  }
  header nav ul li {
    width: 100%;
    max-width: 100%;
  }
  header nav ul li a {
    padding: 12px 16px;
    font-size: 16px;
    text-align: center;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section {
    padding: 40px 16px;
    max-width: 100%;
    overflow-x: hidden;
  }
  .content-section .intro-section {
    margin-bottom: 40px;
    max-width: 100%;
  }
  .content-section .intro-section h2 {
    font-size: 28px;
    margin-bottom: 20px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section .intro-section p {
    font-size: 16px;
    margin-bottom: 15px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section .section-title {
    font-size: 32px;
    margin-bottom: 30px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section .cards-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 100%;
  }
  .content-section .cards-grid .card {
    max-width: 100%;
    overflow: hidden;
  }
  .content-section .cards-grid .card .card-image {
    height: 200px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .content-section .cards-grid .card .card-title {
    font-size: 20px;
    margin-bottom: 15px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section .cards-grid .card .card-description {
    font-size: 14px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .gallery-carousel {
    max-width: 100%;
    overflow-x: hidden;
  }
  .gallery-carousel h2 {
    font-size: 28px;
    margin-bottom: 20px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .gallery-carousel p {
    font-size: 16px;
    margin-bottom: 16px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .btn {
    padding: 12px 24px;
    font-size: 16px;
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  footer {
    max-width: 100%;
    overflow-x: hidden;
  }
  footer .footer-container {
    padding: 40px 16px 20px;
    max-width: 100%;
  }
  footer .footer-container .footer-content {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-bottom: 30px;
    max-width: 100%;
  }
  footer .footer-container .footer-content .footer-section {
    max-width: 100%;
  }
  footer .footer-container .footer-content .footer-section h3 {
    font-size: 20px;
    margin-bottom: 15px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  footer .footer-container .footer-content .footer-section p, footer .footer-container .footer-content .footer-section li {
    font-size: 14px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .social-icons {
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
    max-width: 100%;
  }
  .social-icons .social-icon {
    width: 40px;
    height: 40px;
    font-size: 16px;
    flex-shrink: 0;
  }
  .social-icons .social-icon img {
    width: 24px;
    height: 24px;
    max-width: 100%;
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  header {
    max-width: 100%;
    overflow-x: hidden;
  }
  header .banner {
    height: 80vh;
    max-width: 100%;
  }
  header .banner .banner-content {
    padding: 24px;
    max-width: 100%;
  }
  header .banner .banner-content h1 {
    font-size: 36px;
    margin-bottom: 16px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  header .banner .banner-content p {
    font-size: 18px;
    margin-bottom: 24px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  header nav {
    max-width: 100%;
    overflow-x: hidden;
  }
  header nav ul {
    padding: 0 24px;
    max-width: 100%;
  }
  header nav ul li a {
    padding: 14px 20px;
    font-size: 16px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section {
    padding: 50px 24px;
    max-width: 100%;
    overflow-x: hidden;
  }
  .content-section .intro-section {
    padding: 40px 30px;
    max-width: 100%;
  }
  .content-section .intro-section h2 {
    font-size: 35px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section .intro-section p {
    font-size: 17px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section .section-title {
    font-size: 38px;
    margin-bottom: 40px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section .cards-grid {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 16px;
    max-width: 100%;
  }
  .content-section .cards-grid .card {
    max-width: 100%;
    overflow: hidden;
  }
  .content-section .cards-grid .card .card-image {
    height: 240px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .content-section .cards-grid .card .card-content {
    padding: 25px 20px;
    max-width: 100%;
  }
  .content-section .cards-grid .card .card-title {
    font-size: 22px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  footer {
    max-width: 100%;
    overflow-x: hidden;
  }
  footer .footer-container {
    padding: 50px 24px 30px;
    max-width: 100%;
  }
  footer .footer-container .footer-content {
    grid-template-columns: 1fr;
    gap: 35px;
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .container {
    margin-top: 40px;
    padding: 16px;
    max-width: 100%;
    overflow-x: hidden;
  }
  .container .content {
    max-width: 100%;
  }
  .container .content h1 {
    font-size: 32px;
    margin-bottom: 25px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .container .content h3 {
    font-size: 20px;
    text-align: center;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .container .content p {
    font-size: 16px;
    line-height: 28px;
    margin-bottom: 20px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .container .content .paragraph-with-image {
    flex-direction: column;
    gap: 20px;
    max-width: 100%;
  }
  .container .content .flip-box {
    width: 100%;
    max-width: 280px;
    height: 280px;
    margin: 0 auto;
  }
  .container .content .flip-box .flip-box-front img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .container .content .flip-box .flip-box-back {
    padding: 16px;
    max-width: 100%;
  }
  .container .content .flip-box .flip-box-back h2 {
    font-size: 20px;
    margin-bottom: 8px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .container .content .flip-box .flip-box-back p {
    font-size: 14px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .container .content .card-k {
    float: none;
    width: 100%;
    margin-bottom: 20px;
    padding: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .main {
    max-width: 100%;
    overflow-x: hidden;
  }
  .main h1 {
    font-size: 36px;
    margin-bottom: 16px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .main h2 {
    font-size: 28px;
    margin-bottom: 30px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .row {
    margin: 10px -8px;
    max-width: 100%;
  }
  .column {
    flex: 0 0 100%;
    margin-bottom: 20px;
    max-width: 100%;
    padding: 0 8px;
    box-sizing: border-box;
  }
  .content-production {
    height: auto;
    min-height: 320px;
    padding: 16px;
    max-width: 100%;
    overflow: hidden;
  }
  .content-production img {
    height: 180px;
    margin-bottom: 12px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .content-production h4 {
    font-size: 17px;
    min-height: 40px;
    margin-bottom: 8px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-production p {
    font-size: 13px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  #myBtnContainer {
    margin-bottom: 30px;
    max-width: 100%;
    overflow-x: auto;
  }
  #myBtnContainer .btn {
    padding: 10px 14px;
    font-size: 14px;
    margin: 5px 3px;
    white-space: nowrap;
  }
  .container-fluid {
    max-width: 100%;
    overflow-x: hidden;
  }
  .container-fluid h1 {
    font-size: 36px;
    margin: 20px 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .container-fluid .carousel-container {
    margin-bottom: 40px;
    border-radius: 10px;
    max-width: 100%;
    overflow: hidden;
  }
  .container-fluid .carousel-container .carousel {
    max-width: 100%;
  }
  .container-fluid .carousel-container .carousel .carousel-item {
    height: 300px;
    max-width: 100%;
  }
  .container-fluid .carousel-container .carousel .carousel-item .carousel-caption {
    padding: 24px 16px 16px;
    max-width: 100%;
  }
  .container-fluid .carousel-container .carousel .carousel-item .carousel-caption p {
    font-size: 16px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  aside {
    padding: 30px 0;
    max-width: 100%;
    overflow-x: hidden;
  }
  aside .aside-container {
    padding: 20px 16px;
    max-width: 100%;
  }
  aside .aside-container h1 {
    font-size: 28px;
    margin-bottom: 40px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  aside .aside-container .film-section {
    gap: 30px;
    justify-content: center;
    max-width: 100%;
    overflow-x: hidden;
  }
  aside .aside-container .film-section .film-card {
    width: 100%;
    max-width: 320px;
    padding: 20px;
    overflow: hidden;
  }
  aside .aside-container .film-section .film-card p {
    font-size: 20px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  aside .aside-container .film-section .film-card img {
    height: 300px;
    margin-bottom: 12px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  aside .aside-container .film-section .film-card .film-icon {
    width: 60px;
    height: 60px;
    font-size: 28px;
    margin-bottom: 12px;
    flex-shrink: 0;
  }
  .gallery-carousel {
    margin: 32px 0;
    max-width: 100%;
    overflow-x: hidden;
  }
  .gallery-carousel h1 {
    font-size: 28px;
    margin-bottom: 24px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .gallery-carousel .center-item {
    padding: 16px;
    max-width: 100%;
  }
  .gallery-carousel .center-item img {
    height: 150px;
    margin-bottom: 12px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .gallery-carousel .center-item h4 {
    font-size: 16px;
    margin-bottom: 6px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .gallery-carousel .center-item p {
    font-size: 13px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .gallery-carousel .slick-prev, .gallery-carousel .slick-next {
    width: 40px;
    height: 40px;
    z-index: 10;
  }
  .gallery-carousel .slick-prev:before, .gallery-carousel .slick-next:before {
    font-size: 16px;
  }
  .gallery-carousel .slick-prev {
    left: 10px;
  }
  .gallery-carousel .slick-next {
    right: 10px;
  }
  main {
    max-width: 100%;
    overflow-x: hidden;
  }
  main .about-container {
    padding: 40px 16px;
    max-width: 100%;
  }
  main .about-container h1 {
    font-size: 24px;
    margin-bottom: 30px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  main .about-container p {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 25px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  main .goals, main .how-we-work, main .reason {
    margin-bottom: 35px;
    padding: 16px;
    border-radius: 12px;
    max-width: 100%;
    overflow: hidden;
  }
  .contact-wrapper {
    padding: 20px 16px;
    max-width: 100%;
    overflow-x: hidden;
  }
  .contact-wrapper .contact-img {
    margin-bottom: 30px;
    max-width: 100%;
  }
  .contact-wrapper .contact-img img {
    border-width: 5px;
    max-width: 100%;
    height: auto;
  }
  .contact-wrapper section {
    max-width: 100%;
  }
  .contact-wrapper section .contact-form {
    max-width: 100%;
    padding: 40px 24px;
    border-radius: 16px;
    box-sizing: border-box;
  }
  .contact-wrapper section .contact-form h1 {
    font-size: 24px;
    margin-bottom: 15px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .contact-wrapper section .contact-form h2 {
    font-size: 22px;
    margin-bottom: 30px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .contact-wrapper section .contact-form fieldset {
    max-width: 100%;
    border: none;
    padding: 0;
    margin: 0;
  }
  .contact-wrapper section .contact-form fieldset label {
    font-size: 15px;
    margin-bottom: 6px;
    display: block;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .contact-wrapper section .contact-form fieldset input[type=text],
  .contact-wrapper section .contact-form fieldset input[type=email],
  .contact-wrapper section .contact-form fieldset input[type=date] {
    padding: 14px 16px;
    font-size: 15px;
    margin-bottom: 20px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
  }
  .contact-wrapper section .contact-form fieldset input[type=submit] {
    padding: 16px 18px;
    font-size: 16px;
    border-radius: 8px;
    margin-top: 8px;
    width: 100%;
    box-sizing: border-box;
  }
}
@media (max-width: 767px) and (orientation: landscape) {
  header {
    max-width: 100%;
    overflow-x: hidden;
  }
  header .banner {
    height: 100vh;
    max-width: 100%;
  }
  header .banner .banner-content {
    max-width: 100%;
  }
  header .banner .banner-content h1 {
    font-size: 32px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  header .banner .banner-content p {
    font-size: 16px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section {
    padding: 40px 16px;
    max-width: 100%;
    overflow-x: hidden;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  header {
    max-width: 100%;
    overflow-x: hidden;
  }
  header .banner {
    max-width: 100%;
  }
  header .banner .banner-content {
    padding: 32px;
    max-width: 100%;
  }
  header .banner .banner-content h1 {
    font-size: 44px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  header .banner .banner-content p {
    font-size: 20px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  header nav {
    max-width: 100%;
    overflow-x: hidden;
  }
  header nav ul {
    padding: 0 32px;
    max-width: 100%;
  }
  header nav ul li a {
    padding: 15px 20px;
    font-size: 17px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section {
    padding: 60px 32px;
    max-width: 100%;
    overflow-x: hidden;
  }
  .content-section .intro-section {
    padding: 45px 35px;
    max-width: 100%;
  }
  .content-section .intro-section h2 {
    font-size: 40px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section .section-title {
    font-size: 41px;
    margin-bottom: 50px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .content-section .cards-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    padding: 20px;
    max-width: 100%;
  }
  .content-section .cards-grid .card {
    max-width: 100%;
    overflow: hidden;
  }
  .content-section .cards-grid .card .card-image {
    height: 260px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .content-section .cards-grid .card .card-content {
    padding: 30px 25px;
    max-width: 100%;
  }
  footer {
    max-width: 100%;
    overflow-x: hidden;
  }
  footer .footer-container {
    padding: 60px 32px 35px;
    max-width: 100%;
  }
  footer .footer-container .footer-content {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    max-width: 100%;
  }
  .column {
    flex: 0 0 calc(50% - 16px);
    max-width: calc(50% - 16px);
    padding: 0 8px;
    box-sizing: border-box;
  }
  aside {
    max-width: 100%;
    overflow-x: hidden;
  }
  aside .aside-container {
    max-width: 100%;
  }
  aside .aside-container .film-section {
    gap: 40px;
    max-width: 100%;
  }
  aside .aside-container .film-section .film-card {
    width: 280px;
    max-width: calc(50% - 20px);
    overflow: hidden;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .content-section {
    max-width: 100%;
    overflow-x: hidden;
  }
  .content-section .cards-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    max-width: 100%;
  }
  .content-section .cards-grid .card {
    max-width: 100%;
    overflow: hidden;
  }
  .content-section .cards-grid .card .card-image {
    height: 270px;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  footer {
    max-width: 100%;
    overflow-x: hidden;
  }
  footer .footer-container {
    max-width: 100%;
  }
  footer .footer-container .footer-content {
    grid-template-columns: repeat(3, 1fr);
    gap: 45px;
    max-width: 100%;
  }
}
@media (min-width: 102px) and (max-width: 768px) {
  .contact-wrapper {
    height: 10%;
  }
  footer::before {
    background-size: 100% 100%;
    background-repeat: no-repeat;
  }
}/*# sourceMappingURL=media.css.map */