/* common css -------------------------------- */

/* font-family -------------------------------- */

@font-face {
  font-family: "Than";

  src: url("../fonts/Than/Than.otf");
}

@font-face {
  font-family: "Than-Medium";

  src: url("../fonts/Than/Than-Medium.otf");
}

  @import url("https://use.typekit.net/qhn1gqh.css");


:root {
  --white: #fff;

  --black: #000;

  --blue: #0078b8;

  --light-gray: #f7f7f7;

  --gray-EFEFEF: #efefef;

  --gray-0000003C: #0000003c;

  --gray: #707070;

  --gray-797979: #797979;
}

.white {
  color: var(--white);
}

.black {
  color: var(--black);
}

* {
  margin: 0;

  padding: 0;

  box-sizing: border-box;

  -moz-box-sizing: border-box;

  -webkit-box-sizing: border-box;
}

*::before,
*::after {
  box-sizing: border-box;
}

.common::after {
  content: "";

  position: absolute;

  width: 100%;

  height: 100%;

  left: 0;

  top: 0;

  background: var(--black);
}

body {
  background: var(--white);

  /* font-family: "Roboto", sans-serif; */

  /* font-family: "Poppins", sans-serif; */

  font-family: "ivysoft-variable", sans-serif;
}

body.show {
  position: fixed;

  top: 0;

  width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;

  padding: 0;

  margin-bottom: 15px;

  line-height: 1.2;

  color: var(--black);

  font-family: "Than-Medium";
}

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child {
  margin-bottom: 0;
}

h1 {
  font-size: 45px;
}

h2 {
  font-size: 40px;
}

h3 {
  font-size: 34px;
}

h4 {
  font-size: 28px;
}

h5 {
  font-size: 24px;
}

h6 {
  font-size: 20px;
}

p {
  margin: 0;

  padding: 0;

  font-size: 22px;

  line-height: 1.6;

  margin-bottom: 25px;

  color: var(--black);

  font-weight: 300;
}

p:last-child {
  margin-bottom: 0;
}

.small {
  font-size: 16px;
}

ul,
ol {
  list-style-type: none;

  margin: 0;

  padding: 0;
}

a {
  text-decoration: none;

  text-transform: capitalize;

  display: inline-block;

  line-height: 1.2;

  color: inherit;

  font-family: inherit;
}

span {
  display: inline-block;
}

.section-heading {
  text-align: center;

  margin-bottom: 25px;
}

.section-heading h2 {
  text-transform: uppercase;

  font-family: "than", sans-serif;
}

.section-heading p {
  max-width: 1000px;

  margin: 0 auto;

  text-align: center;
}

.section-heading.big {
  margin-bottom: 50px;
}

.section-heading.left-side h2 {
  text-align: left;
}

.section-heading.big h2 {
  font-size: 45px;

  margin-bottom: 35px;
}

.btn-common {
  font-size: 20px;

  padding: 8px 30px;

  background: transparent;

  color: var(--black);

  border-radius: 50px;

  border: 1px solid var(--black);

  display: inline-flex;

  align-items: center;

  justify-content: center;

  text-transform: uppercase;

  font-weight: 300;

  transition: 0.3s;
}

.btn-common:hover {
  background: var(--blue);

  color: var(--white);

  border-color: transparent;
}

.btn-common img {
  max-width: 30px;

  margin-right: 10px;
}

section {
  padding-bottom: 80px;

  overflow: hidden;
}

.bg {
  padding: 80px 0;
}

.mobile {
  display: none !important;
}

.desktop {
  display: block !important;
}

img,
video {
  max-width: 100%;
}

.button-box {
  padding-top: 20px;
}

.button-box ul {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 15px;
}

.owl-theme .owl-dots .owl-dot span {
  background: var(--black);
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: var(--white);

  outline: 2px solid var(--white);

  outline-offset: 3px;
}

.owl-nav {
  margin-top: 0;
}

.owl-nav button {
  position: absolute;

  top: 50%;

  transform: translateY(-50%);
}

.owl-nav button.owl-prev {
  left: 0;
}

.owl-nav button.owl-next {
  right: 0;
}

.form-control-common {
  background: var(--white);

  border: 1px solid var(--gray);

  font-size: 20px;

  padding: 10px 50px 10px 20px;

  width: 100%;

  appearance: textfield;

  color: var(--black);

  border-radius: 0;

  box-shadow: none;

  resize: none;

  outline: none;
}

.input-group {
  padding-bottom: 30px;
}

.after-line {
  position: relative;
}

.after-line:after {
  position: absolute;

  content: "";

  width: 100px;

  height: 2px;

  background-color: var(--blue);

  left: 0;

  bottom: -10px;
}

/* header css start -------------------------------- */

@keyframes smoothScroll {
  0% {
    transform: translateY(-60px);

    opacity: 0;
  }

  100% {
    transform: translateY(0px);

    opacity: 1;
  }
}

#header.show {
  position: fixed;

  top: 0;

  left: 0;

  width: 100%;

  animation: smoothScroll 1s forwards;

  z-index: 1000;

  box-shadow: 0 0 10px 2px var(--black);
}

#header {
  background: transparent;

  padding: 15px 0;

  transition: 0.5s all;

  position: relative;

  z-index: 999;
}

#header .header-box {
  display: flex;

  align-items: center;

  justify-content: space-between;
}

#header .logo-box img {
  max-width: 140px;

  width: 100%;
}

#header .main-nav .click-menu,
#header .main-nav .cancel-menu {
  display: none;

  cursor: pointer;

  position: relative;

  z-index: 11;

  width: 30px;

  height: 30px;
}

#header .main-nav .click-menu span,
#header .main-nav .cancel-menu span {
  width: 25px;

  height: 3px;

  background: var(--white);

  transition: 0.5s all ease-in-out;

  position: relative;

  border-radius: 5px;
}

#header .main-nav .cancel-menu span {
  position: absolute;

  height: 4px;
}

#header .main-nav .cancel-menu span:first-child {
  transform: rotate(45deg);
}

#header .main-nav .cancel-menu span:last-child {
  transform: rotate(-45deg);
}

#header .main-nav {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  padding-left: 20px;
}

#header .button-box {
  margin-left: 20px;

  padding-top: 0;
}

#header .main-nav ul li {
  display: inline-block;

  position: relative;

  margin-right: 20px;
}

#header .main-nav ul li a {
  color: var(--white);

  padding: 5px;

  font-size: 16px;

  font-weight: 100;

  text-transform: uppercase;

  transition: 0.5s;
  position: relative;
}
#header .main-nav ul li a::after {
  position: absolute;
  content: "";
  width: 0;
  height: 2px;
  background-color: var(--blue);
  left: 0;
  bottom: -2px;
  transition: 0.5s;
}
#header .main-nav ul li a:hover::after {
  width: 100%;
}

#header .main-nav ul li a:hover {
  /* transform: translateY(-3px);

  font-weight: 400; */
  color: var(--blue);
}
#header li.menu-item-has-children {
  position: relative;
}
#header li.menu-item-has-children::after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: -12px;
  top: 45%;
  transform: translateY(-50%);
  color: var(--white);
  font-size: 12px;
  transition: 0.5s;
}

#header li.menu-item-has-children:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: fill;
}
#header li.menu-item-has-children:hover::after {
  transform: rotate(180deg) translateY(50%);
}
#header li.menu-item-has-children .sub-menu {
  background-color: var(--blue);
  transition: 0.5s;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  display: block;
  width: 200px;
  text-align: center;
}
#header li.menu-item-has-children .sub-menu li a {
  color: var(--white);
  margin: 0;
  padding: 10px 10px;
}

#header li.menu-item-has-children .sub-menu li a::after {
  display: none;
}

/* --------- */

/* --------- */

#header .link-box ul {
  display: flex;

  gap: 20px;

  color: var(--black);

  padding-left: 30px;
}

#header .link-box a {
  background-color: var(--white);

  border-radius: 50%;

  width: 30px;

  height: 30px;

  margin: 0 auto;

  display: flex;

  align-items: center;

  justify-content: center;

  color: var(--black) !important;
}

#header .link-box a::after {
  display: none;
}

#header .link-box a:hover {
  background-color: var(--blue);
}

/* homeBanner css -------------------------------- */

section#homeBanner {
  margin-top: -120px;
}

#homeBanner .homeBanner-part {
  /*  background: url("../images/banner-bg.png") no-repeat;*/

  background-size: 100% 100% !important;

  background-position: center;

  height: 70vh;

  padding-bottom: 50px;
}

#homeBanner .title h1 {
  color: var(--white);

  font-weight: 200;

  font-size: 30px;

  font-family: "ivysoft-variable";
}

#homeBanner .container {
  display: flex;

  flex-direction: column;

  justify-content: end;

  height: 100%;
}

/* define-cmn css -------------------------------- */

.define-cmn .text-box p {
  text-align: center;

  font-weight: 300;

  max-width: 1000px;

  margin: 0 auto;
}

/* portraits css -------------------------------- */

#portraits .video-bx {
  position: relative;
}

#portraits .video-bx .play-icon {
  position: absolute;

  bottom: 30px;

  right: 20px;

  background-color: var(--white);

  cursor: pointer;

  opacity: 0.7;

  border-radius: 50%;

  width: 30px;

  height: 30px;

  display: flex;

  justify-content: center;

  align-items: center;
}

#portraits .video-bx video {
  height: 100%;
}

#portraits .videos-portraits {
  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 40px 40px;
}

/* about-cmn css -------------------------------- */

.about-cmn .img-box {
  display: flex;

  justify-content: end;

  /* background-color: var(--gray-EFEFEF); */

  padding: 30px 0;

  position: relative;
}

.about-cmn .img-box::after {
  position: absolute;

  content: "";

  left: 0;

  top: 0;

  background-color: var(--gray-EFEFEF);

  width: 95%;

  height: 100%;
}

.about-cmn .img-box img {
  position: relative;

  z-index: 9;
}

#about .img-box img {
  filter: grayscale(1);
}

.about-cmn .box {
  padding: 50px 110px 50px 40px;
}

/* past css -------------------------------- */

#past .after-line:after {
  left: 50%;

  transform: translateX(-50%);
}

#past .section-heading {
  text-align: center;

  margin-bottom: 50px;
}

#past .content-box .box-1 {
  background-image: url("../images/past-bg-1.png");

  margin-bottom: 10px;
}

#past .content-box .box-2 {
  background-image: url("../images/past-bg-2.png");
}

#past .content-box .box {
  background-size: 100% 100%;

  background-position: center;

  background-repeat: no-repeat;

  padding: 12% 0;

  position: relative;

  transition: 0.5s;
}

#past .content-box .box::after {
  position: absolute;

  content: "";

  left: 0;

  top: 0;

  background-color: var(--black);

  opacity: 0.3;

  width: 100%;

  height: 100%;

  transition: 0.5s;
}

#past .content-box .box .text {
  position: relative;

  z-index: 9;
}

#past .content-box .box .text h2 {
  color: var(--white);

  text-align: center;

  text-transform: uppercase;

  margin-bottom: 0;

  font-size: 80px;
}

#past .content-box .box .text h4 {
  color: var(--white);

  text-align: center;

  font-family: "ivysoft-variable";

  font-weight: 300;

  text-transform: uppercase;

  letter-spacing: 3px;
}

#past .content-box .box .button-box {
  display: flex;

  justify-content: center;

  visibility: hidden;

  opacity: 0;

  transition: 0.5s;

  pointer-events: none;
}

#past .content-box .box .btn-common {
  border: 1px solid var(--white);

  color: var(--white);
}

#past .content-box .box:hover .button-box {
  opacity: 1;

  visibility: visible;

  pointer-events: fill;
}

#past .content-box .box:hover {
  background-size: 110% 110%;
}

#past .content-box .box:hover::after {
  height: 50%;

  transform: translateY(-50%);

  top: 50%;

  opacity: 0.7;
}

/* shows-cmn css -------------------------------- */

.shows-cmn .text-box {
  padding: 20px 10px;
}

.shows-cmn .text-box .date {
  color: var(--blue);

  font-size: 22px;
}

.shows-cmn .img-box img {
  aspect-ratio: 5/4;
}

/* section css -------------------------------- */

/* footer css -------------------------------- */

#footer .footer-part {
  background-color: var(--light-gray);
}

#footer .top-box .logo-box img {
  max-width: 220px;

  margin-bottom: 30px;
}

#footer .box h4 {
  text-align: center;

  color: var(--blue);
}

#footer .form-control-common {
  padding: 10px 50px 10px 20px;

  background-color: transparent;

  border: 1px solid var(--gray-797979);
}

#footer ::placeholder {
  text-transform: uppercase;

  text-align: center;

  color: var(--gray-797979);

  opacity: 50%;

  font-size: 18px;
}

#footer .btn-common {
  background: var(--blue);

  color: var(--white);

  border: 1px solid transparent;

  width: 100%;

  font-size: 22px;

  padding: 12px 30px;
}

#footer .btn-common:hover {
  background: var(--white);

  color: var(--black);

  border: 1px solid var(--blue);
}

#footer .link-box ul {
  display: flex;

  justify-content: center;

  margin-top: 20px;

  gap: 20px;

  color: var(--white);
}

#footer .link-box ul a {
  background-color: var(--gray);

  border-radius: 50%;

  width: 30px;

  height: 30px;

  margin: 0 auto;

  display: flex;

  align-items: center;

  justify-content: center;
}

#footer .end-box {
  padding-top: 80px;
}

#footer .end-box p {
  color: var(--gray);

  font-size: 18px;

  text-align: center;
}

/* about page css start */

.innerbanner-cmn {
  margin-top: -120px;
}

.innerbanner-cmn .innerbanner-part {
  background-repeat: no-repeat;

  background-size: 100% 100%;

  background-position: center;

  position: relative;

  padding: 10% 0 8%;
}

.innerbanner-cmn .innerbanner-part::after {
  content: "";

  position: absolute;

  top: 0;

  left: 0;

  height: 100%;

  width: 100%;

  background-color: rgba(0, 0, 0, 0.5);
}

.innerbanner-cmn .title {
  position: relative;

  z-index: 9;
}

.innerbanner-cmn .title h1 {
  color: var(--white);

  text-align: center;

  text-transform: uppercase;

  font-family: "Than";
}

/* detail-cmn css */

.detail-cmn .section-heading {
  margin-bottom: 50px;
}

.detail-cmn .detail-box {
  position: relative;
}

.detail-cmn .img-box {
  max-height: 800px;

  overflow: hidden;
}

.detail-cmn .img-box img {
  width: 100%;

  height: 100%;
}

.detail-cmn .text-box {
  background-color: var(--blue);

  color: var(--white);

  position: absolute;

  bottom: -10%;

  left: 8%;

  max-width: 400px;

  padding: 40px 40px;
}

.detail-cmn .text-box h3 {
  color: var(--white);

  text-align: center;
}

.detail-cmn .text-box p {
  color: var(--white);

  text-align: center;
}

/* develop css */

#develop .images {
  background-color: var(--gray-EFEFEF);

  padding-bottom: 80px;

  margin-top: 140px;
}

#develop .images .container {
  display: flex;

  justify-content: center;

  align-items: center;

  gap: 20px;
}

#develop .images .img-box {
  margin-top: -80px;
}

/* exhibition css */

#exhibition .text-box {
  background-color: var(--blue);

  padding: 30px;

  text-align: end;
}

#exhibition .text-box h2 {
  color: var(--white);
}

#exhibition .text-box p {
  color: var(--white);

  width: 70%;

  margin-left: auto;
}

/* about page css end */

/* porttrait page css start */

/* capture-cmn css */

.capture-cmn .row {
  row-gap: 25px;
}

.capture-cmn .box {
  position: relative;

  overflow: hidden;

  transition: 0.5s;
}

.capture-cmn .box:hover .text-box {
  visibility: visible;

  opacity: 1;
}

.capture-cmn .text-box {
  background-color: #00000078;

  position: absolute;

  z-index: 99;

  bottom: 0;

  left: 0;

  height: 100%;

  width: 100%;

  display: flex;

  flex-direction: column;

  justify-content: end;

  padding: 20px 20px 80px;

  transition: 0.5s;

  opacity: 0;

  visibility: hidden;
}

.capture-cmn .text-box h6 {
  color: var(--white);

  margin-bottom: 5px;
}

.capture-cmn .text-box p {
  color: var(--white);

  font-size: 18px;

  margin-bottom: 10px;
}

.capture-cmn .text-box a {
  color: var(--white);

  text-decoration: underline;

  text-transform: uppercase;
}

.capture-cmn .button-box {
  padding-top: 40px;

  display: flex;

  justify-content: center;
}

.capture-cmn .img-box img {
  width: 100%;
}

/* porttrait page css end */

/* show-details page css start */

#show-details .img-box img {
  width: 100%;
}

#show-details {
  padding: 50px 0;
}

#show-details .section-heading span.date {
  color: var(--blue);

  font-size: 32px;
}

#show-details .text-box {
  padding: 30px 30px;

  text-align: center;
}

#show-details .button-box {
  display: flex;

  justify-content: center;
}

#show-details .btn-common {
  padding: 8px 50px;
}

/* show-details page css end */

/* contact page css start */

#contact-form form label {
  text-transform: uppercase;

  color: black;

  font-size: 18px;

  margin-bottom: 5px;
}

/* #contact-form .btn-common {
  padding: 8px 50px;

  display: flex;

  margin: 20px auto 0;
} */
#contact-form .gform_button {
  font-size: 20px;
  padding: 8px 50px;
  background: transparent;
  color: var(--black);
  border-radius: 50px;
  border: 1px solid var(--black);
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  font-weight: 300;
  transition: 0.3s;
  margin: 20px auto 0;
}
#contact-form .gform_button:hover {
  background: var(--blue);
  color: var(--white);
  border-color: transparent;
}

/* contact page css end */

/* new-haven page css start */

/* national-cmn css */

.national-cmn .section-heading span {
  font-weight: 600;
}

.national-cmn .img-box {
  max-height: 500px;

  width: 100%;

  overflow: hidden;
}

.national-cmn .img-box img {
  height: 100%;

  width: 100%;
}

.weare-cmn .section-heading span {
  font-weight: bold;
}

.weare-cmn .weare-box {
  background-color: var(--gray-EFEFEF);

  padding-bottom: 70px;

  margin-top: 140px;
}

.weare-cmn .weare-box .row .img-box {
  margin-top: -80px;
}

.weare-cmn .text-box {
  max-width: 900px;

  text-align: center;

  margin: 0 auto;

  padding-top: 50px;
}

/* new-haven page css end */


