@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap');

@font-face {
   font-family: 'Gresham';
   src: url('../fonts/Gresham.ttf') format('truetype');
   font-weight: normal;
   font-style: normal;
}

*{
    box-sizing: border-box;
}

/* Remove blue focus outlines globally */
*:focus {
    outline: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: none;
    box-shadow: none;
}

html{
   font-size: 16px;
   justify-content: center;
}

body{
   font-family: 'Gresham', 'Oswald', sans-serif;
   font-weight: 200;
   text-align: center;
   text-transform: uppercase;
   background-image: url('../images/backgrounds/Warm.jpeg');
   background-size: cover;
   background-position: center;
   background-attachment: fixed;
   background-repeat: no-repeat;
   min-height: 100vh;
}

a{
   text-decoration: none;
   color: #5c4033;
}
a:hover{
   text-decoration: none;
   color: #5c4033;
}

header{
   width:100%;
   letter-spacing: 0.2rem;
   color: #5c4033;
   font-family: 'Gresham', 'Oswald', sans-serif;
   font-weight: 200;
   text-align: center;
}

h1 {
   padding-top: 20%;
   padding-bottom: 0%;
   font-size: 3rem;
}

h6{
   padding-bottom: 30%;
   font-size: 1rem;
   font-weight: 200;
}

img{
   justify-self: center;
   width: 40%;
   height: 20%;
   margin: 3rem;
   opacity: 0.95;
   border-radius: 20px;
   box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

h2, span, p{
   font-family: 'Gresham', 'Oswald', sans-serif;
   color: #5c4033;
   text-align: center;
   font-weight: 200;
}

h2{
   font-size: 2.2rem;
   font-weight: 200;
}

p{
   font-size: 1.5rem;
   font-weight: 200;
   line-height: 1.8;
}

.card-transperent{
   width: 100%;
   display: inline-flex;
   justify-content: space-around;
   align-items: center;
   padding: 0%;
   text-align: center;
   margin-top: 10%;
   margin-bottom: 10%;
   background-color: transparent;
   box-shadow: 0 2px 4px rgba(0,0,0,0.05);
   border-radius: 12px;
}

.card-transperent:hover{
   background-color: rgba(255, 255, 255, 0.1);
   box-shadow: 0 2px 8px rgba(0,0,0,0.08);
   border-radius: 12px;
}

.diff{
   text-align: right;
}

#diff{
   text-align: right;
}

/* Dropdown Button */
.dropbtn {
   letter-spacing: 0.15rem;
   font-size: 1.5rem;
   font-family: 'Gresham', 'Oswald', sans-serif;
   text-transform: uppercase;
   background: transparent;
   color: #5c4033;
   padding: 5%;
   display: inline;
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
   text-transform: uppercase;
   position: relative;
   display: inline-block;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
   text-transform: uppercase;
   display: none;
   position: absolute;
   top: 100%;
   left: 50%;
   transform: translateX(-50%);
   background: rgba(139, 115, 85, 0.4);
   z-index: 1000;
   border-radius: 8px;
   box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* Links inside the dropdown */
.dropdown-content a {
   text-transform: uppercase;
   padding: 12px 16px;
   text-decoration: none;
   display: block;
   font-size: 1.3rem;
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {
   background: rgba(139, 115, 85, 0.5);
   border-radius: 8px;
}

/* Show the dropdown menu on hover */
div.dropdown:hover .dropdown-content {display: block;}

/* Change the background color of the dropdown button when the dropdown content is shown */
div.dropdown:hover {
   background: rgba(139, 115, 85, 0.4);
   border-radius: 12px;
   box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.navbar a{
   text-transform: uppercase;
   text-align: center;
   font-size: 1.5rem;
}

.btn-transperent, div.dropdown{
   padding: 5%;
}

.btn-transperent:hover{
   padding: 5%;
   background: rgba(139, 115, 85, 0.4);
   border-radius: 12px;
   box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.navbar{
   background: rgba(0, 0, 0, 0.1);
   border-bottom: none;
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   padding: 5px 20px;
}

a{
   text-decoration: none;
   color: #5c4033;
   margin: 0%;
   padding: 0%;
   background: transparent;
}

a:link{
   background: transparent;
   text-decoration: none;
   color: #5c4033;
}

a:visited{
   text-decoration: none;
   color: #5c4033;
}

main{
   color: #5c4033;
   font-family: 'Gresham', 'Oswald', sans-serif;
}

/* Style the button that is used to open and close the collapsible content */
button {
   background-color: transparent;
   color: #5c4033;
   cursor: pointer;
   padding: 18px;
   width: 100%;
   border: none;
   text-align: left;
   outline: none;
   font-size: 1.3rem;
   font-family: 'Gresham', 'Oswald', sans-serif;
}

/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
button:hover {
   background-color: rgba(139, 115, 85, 0.2);
}

div.icon-bar {
   justify-content: center;
   align-items: center;
   width: 100%;
}

.row{
   justify-content: center;
}

.btn{
   display: inline-flex;
   text-align: left;
   padding: 0%;
}

.icon-bar a {
   text-decoration: none;
   color: #5c4033;
   align-items: center;
   padding: 16px;
   transition: all 0.3s ease;
   font-size: 36px;
}

.icon-bar a:hover {
   color: #5c4033;
   background-color: rgba(139, 115, 85, 0.2);
   border-radius: 50%;
}

#ME{
   font-weight: 200;
   padding: 10%;
   display: block;
   justify-content: center;
   background-color: transparent;
   box-shadow: 0 2px 4px rgba(0,0,0,0.05);
   border-radius: 12px;
   margin: 5%;
}

#ME img{
   width: 60%;
   justify-self: left;
   opacity: 1;
   padding-bottom: 10%;
}

#ME h6{
   text-align: center;
   letter-spacing: 0.02em;
   word-spacing: 0.25rem;
   font-size: 1.4rem;
   line-height: 1.4;
   text-transform: none;
}

h2{
   margin: 3rem;
   text-align: center;
}

/* Artwork Carousel Styles - Filmstrip */
.artwork-carousel {
   position: relative;
   width: 100%;
   margin: 0 auto;
   padding: 0;
   overflow: hidden;
   min-height: 70vh;
   display: flex;
   flex-direction: column;
   justify-content: center;
}

.carousel-container {
   position: relative;
   width: 100%;
   overflow: hidden;
   padding: 8rem 0;
   display: block;
}

.carousel-track {
   display: flex;
   align-items: center;
   justify-content: flex-start;
   gap: 40px;
   transition: transform 0.6s ease-in-out;
   padding: 6rem 0;
   width: fit-content;
   position: relative;
   left: 50%;
}

.carousel-slide {
   flex-shrink: 0;
   width: 100px;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   transition: all 0.6s ease-in-out;
   opacity: 0.25;
   transform: scale(0.4);
}

.carousel-slide.active {
   opacity: 1;
   transform: scale(3.5);
   z-index: 10;
   margin: 0 200px;
}

.carousel-slide.prev,
.carousel-slide.next {
   opacity: 0.6;
   transform: scale(0.8);
   margin: 0 60px;
}

.carousel-slide.far {
   opacity: 0;
   visibility: hidden;
   transform: scale(0.3);
   pointer-events: none;
}

.carousel-slide img {
   width: 100%;
   height: auto;
   max-height: 200px;
   object-fit: contain;
   border-radius: 4px;
   box-shadow: none;
   margin: 0;
   transition: all 0.6s ease-in-out;
}

.carousel-slide.active img {
   box-shadow: none;
   border-radius: 6px;
}

.carousel-slide .slide-title {
   margin-top: 0.3rem;
   font-size: 0.25rem;
   font-weight: 200;
   color: #5c4033;
   text-transform: uppercase;
   letter-spacing: 0.02rem;
   opacity: 0;
   transition: all 0.6s ease-in-out;
   text-align: center;
   white-space: nowrap;
}

.carousel-slide.active .slide-title {
   opacity: 1;
   font-size: 0.45rem;
   margin-top: 0.5rem;
}

.carousel-slide .slide-description {
   margin-top: 0.1rem;
   font-size: 0.2rem;
   font-weight: 200;
   color: #5c4033;
   opacity: 0;
   transition: all 0.6s ease-in-out;
   text-align: center;
}

.carousel-slide.active .slide-description {
   opacity: 0.9;
   font-size: 0.35rem;
}

.carousel-slide a {
   text-decoration: none;
   display: flex;
   flex-direction: column;
   align-items: center;
}

.carousel-slide a:hover .slide-title {
   text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

.carousel-slide a:hover,
.carousel-slide a:focus {
   text-decoration: none;
   outline: none;
}

.carousel-slide a:hover img,
.carousel-slide a:focus img {
   text-decoration: none;
   outline: none;
   border: none;
}

/* Dots navigation */
.carousel-dots {
   display: flex;
   justify-content: center;
   gap: 12px;
   margin-top: 6rem;
}

.carousel-dot {
   width: 10px;
   height: 10px;
   border-radius: 50%;
   background: rgba(255, 254, 245, 0.3);
   cursor: pointer;
   transition: all 0.3s ease;
}

.carousel-dot:hover {
   background: rgba(255, 254, 245, 0.6);
}

.carousel-dot.active {
   background: #5c4033;
   transform: scale(1.3);
}

/* Artwork Description - Read More */
.artwork-description {
   max-width: 800px;
   margin: 0 auto;
   padding: 5%;
}

.artwork-description h2 {
   font-size: 1.8rem;
   margin-bottom: 1rem;
}

.artwork-description p {
   font-size: 1.1rem;
   line-height: 1.7;
   margin: 0;
}

.description-text {
   max-height: 80px;
   overflow: hidden;
   transition: max-height 0.4s ease;
   position: relative;
}

.description-text.expanded {
   max-height: 1000px;
}

.description-text:not(.expanded)::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   height: 40px;
   background: linear-gradient(transparent, rgba(0, 0, 0, 0.3));
   pointer-events: none;
}

.read-more-btn {
   display: inline-block;
   margin-top: 1rem;
   padding: 8px 20px;
   background: transparent;
   border: 1px solid rgba(92, 64, 51, 0.4);
   border-radius: 8px;
   color: #5c4033;
   font-family: 'Gresham', 'Oswald', sans-serif;
   font-size: 0.9rem;
   text-transform: uppercase;
   letter-spacing: 0.1rem;
   cursor: pointer;
   transition: all 0.3s ease;
}

.read-more-btn:hover {
   background: rgba(139, 115, 85, 0.3);
   border-color: rgba(92, 64, 51, 0.6);
}

/* Feature Buttons (About page) */
.feature-buttons {
   display: flex;
   flex-direction: row;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   gap: 20px;
   margin: 1rem 0 2rem 0;
}

.feature-btn {
   display: inline-block;
   padding: 25px 30px;
   background: transparent;
   border: 2px solid rgba(92, 64, 51, 0.5);
   border-radius: 12px;
   color: #5c4033;
   font-family: 'Gresham', 'Oswald', sans-serif;
   font-size: 1.1rem;
   font-weight: 200;
   text-transform: uppercase;
   letter-spacing: 0.1rem;
   text-decoration: none;
   transition: all 0.3s ease;
   line-height: 1.5;
}

.feature-btn:hover {
   background: rgba(139, 115, 85, 0.4);
   border-color: rgba(92, 64, 51, 0.7);
   box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
   transform: translateY(-2px);
   color: #5c4033;
   text-decoration: none;
}

/* Commission CTA Button */
.commission-cta {
   margin: 3rem 0;
   text-align: center;
}

.commission-btn {
   display: inline-block;
   padding: 15px 40px;
   background: transparent;
   border: 2px solid rgba(92, 64, 51, 0.5);
   border-radius: 12px;
   color: #5c4033;
   font-family: 'Gresham', 'Oswald', sans-serif;
   font-size: 1.3rem;
   font-weight: 200;
   text-transform: uppercase;
   letter-spacing: 0.15rem;
   text-decoration: none;
   transition: all 0.3s ease;
}

.commission-btn:hover {
   background: rgba(139, 115, 85, 0.4);
   border-color: rgba(92, 64, 51, 0.7);
   box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
   transform: translateY(-2px);
   color: #5c4033;
   text-decoration: none;
}

/* Tablet styles */
@media screen and (max-width: 960px){
   html, body{
      background-image: url('../images/backgrounds/Warm.jpeg');
      background-size: cover;
      background-position: center;
   }
   h1 {
      font-size: 2.2rem;
      padding-top: 25%;
   }
   h6 {
      font-size: 1.1rem;
      padding-bottom: 20%;
   }
   h2 {
      font-size: 1.8rem;
   }
   p {
      font-size: 1.3rem;
   }
   img {
      width: 70%;
      margin: 2rem;
   }
   .navbar {
      flex-wrap: wrap;
      justify-content: space-between;
   }
   .navbar a {
      font-size: 1.2rem;
   }
   .dropbtn {
      font-size: 1.2rem;
   }
   .dropdown-content a {
      font-size: 1.1rem;
   }
   .card-transperent {
      flex-direction: column;
      text-align: center;
   }
   #diff, .diff {
      text-align: center;
   }
   #ME {
      padding: 8%;
      margin: 3%;
   }
   #ME img {
      width: 80%;
   }
   #ME h6 {
      font-size: 1.1rem;
   }
   .commission-btn {
      font-size: 1.1rem;
      padding: 12px 30px;
   }
   .feature-btn {
      font-size: 1rem;
      padding: 20px 25px;
   }

   /* Carousel tablet styles */
   .artwork-carousel {
      min-height: 60vh;
   }
   .carousel-slide {
      width: 70px;
   }
   .carousel-slide img {
      max-height: 150px;
   }
   .carousel-slide.active {
      transform: scale(3);
      margin: 0 120px;
   }
   .carousel-slide.prev,
   .carousel-slide.next {
      margin: 0 30px;
   }
   .carousel-slide.active .slide-title {
      font-size: 0.4rem;
   }
   .carousel-dots {
      margin-top: 5rem;
   }
}

/* Mobile styles */
@media screen and (max-width: 600px){
   h1 {
      font-size: 1.6rem;
      padding-top: 30%;
      letter-spacing: 0.1rem;
   }
   h6 {
      font-size: 0.9rem;
      padding-bottom: 15%;
   }
   h2 {
      font-size: 1.4rem;
      margin: 1.5rem;
   }
   p {
      font-size: 1.1rem;
      line-height: 1.6;
   }
   img {
      width: 85%;
      margin: 1rem;
   }
   .navbar {
      padding: 0 10px;
      justify-content: space-between;
   }
   .navbar a {
      font-size: 1rem;
      padding: 3%;
   }
   .btn-transperent, div.dropdown {
      padding: 3%;
   }
   .dropbtn {
      font-size: 1rem;
      padding: 3%;
   }
   .dropdown-content {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
   }
   .dropdown-content a {
      font-size: 0.95rem;
      padding: 10px 14px;
   }
   .icon-bar a {
      font-size: 28px;
      padding: 12px;
   }
   button {
      font-size: 1.1rem;
      padding: 14px;
   }
   #ME {
      padding: 6%;
      margin: 2%;
   }
   #ME img {
      width: 90%;
      padding-bottom: 8%;
   }
   #ME h6 {
      font-size: 1rem;
      word-spacing: 0.15rem;
   }
   #ME h3 {
      font-size: 1.5rem;
   }
   .commission-cta {
      margin: 2rem 0;
   }
   .commission-btn {
      font-size: 1rem;
      padding: 12px 25px;
      letter-spacing: 0.1rem;
   }
   .feature-buttons {
      gap: 12px;
   }
   .feature-btn {
      font-size: 0.9rem;
      padding: 18px 20px;
   }

   /* Carousel mobile styles */
   .artwork-carousel {
      min-height: 50vh;
   }
   .carousel-container {
      padding: 5rem 0;
   }
   .carousel-track {
      gap: 25px;
      padding: 4rem 0;
      left: 50%;
   }
   .carousel-slide {
      width: 50px;
   }
   .carousel-slide img {
      max-height: 120px;
   }
   .carousel-slide.active {
      transform: scale(2.5);
      margin: 0 80px;
   }
   .carousel-slide.prev,
   .carousel-slide.next {
      transform: scale(0.6);
      margin: 0 20px;
   }
   .carousel-slide.active .slide-title {
      font-size: 0.35rem;
   }
   .carousel-dots {
      margin-top: 3rem;
      gap: 8px;
   }
   .carousel-dot {
      width: 8px;
      height: 8px;
   }
}

/* Small mobile styles */
@media screen and (max-width: 400px){
   h1 {
      font-size: 1.4rem;
      padding-top: 35%;
   }
   h6 {
      font-size: 0.8rem;
   }
   h2 {
      font-size: 1.2rem;
   }
   p {
      font-size: 1rem;
   }
   img {
      width: 92%;
   }
   .navbar a {
      font-size: 0.9rem;
   }
   .dropbtn {
      font-size: 0.9rem;
   }
   #ME h6 {
      font-size: 0.9rem;
   }
   .commission-btn {
      font-size: 0.9rem;
      padding: 10px 20px;
   }
   .feature-btn {
      font-size: 0.85rem;
      padding: 15px 16px;
   }
   .carousel-slide.active {
      transform: scale(2);
      margin: 0 60px;
   }
   .carousel-slide.prev,
   .carousel-slide.next {
      margin: 0 15px;
   }
}
