/*--------------------------------------------------------------
# Center Align Content
--------------------------------------------------------------*/
.justify_vertical_center{
  display: flex;
  justify-content: center;
  align-items: center;
}

.justify_content_center{
  display: flex;
  justify-content: center;
}

/*--------------------------------------------------------------
# Colors
--------------------------------------------------------------*/
:root {
  --color-primary: #EA9DC4;
  --color-secondary: #7CA2ED;
  --color-tertiary: #B79FD7;
  --color-forth: #474747;
}

/*--------------------------------------------------------------
# Fonts
--------------------------------------------------------------*/
:root {
  --font-header: "Lugrasimo", cursive;
  --font-primary-base: "Crimson Pro", serif;
}

.lugrasimo-regular {
  font-family: "Lugrasimo", cursive;
  font-weight: 400;
  font-style: normal;
}


.crimson-pro-font {
  font-family: "Crimson Pro", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/*--------------------------------------------------------------
# Scroll Behavior
--------------------------------------------------------------*/
:root {
  scroll-behavior: smooth;
}

/*--------------------------------------------------------------
# Body
--------------------------------------------------------------*/
body {
  font-family: var(--font-primary-base);
  flex-wrap: wrap;
}

h1{
  font-family: var(--font-header);
  font-size: 2.5em;
}

h2{
  font-family: var(--font-header);
  font-size: 2em;

}

h3 {
  font-family: var(--font-header);
  font-size: 1em;
}

p{
  font-family: var(--font-primary-base);
  font-size: 20px;
}

a{
 color:var(--color-tertiary);
}
a:hover{
 color:var(--color-primary);
}

* {
    margin: 0;
    margin-top: 0;
    padding: 0;
    box-sizing: border-box;
}

/*--------------------------------------------------------------
# Navigation Bar
---------------------------------------------------------*/
.header{
  position: fixed;
  width: 100%;
  height: auto;
  z-index:100;
}
.navbar{
   box-shadow: 10px 2px 10px 10px rgba(0,0,0,.2);
   position: sticky;
   display: flex;
   background-color: var(--color-forth);
  width: 100%;
  height: auto;
  align-items: center;
}

.navigation_bar{
  justify-content: space-between;
  display: grid;
  grid-template-areas: "none navlogo navmenu";
  grid-template-columns: 1fr 0.3fr 1fr;
  grid-template-rows: 1fr;
}

.navigation_logo{
  grid-area: navlogo;
  padding: 5px;
  margin-left: auto;
  margin-right: auto;
}

.navigation_logo a img{
 height: auto;
 width: 100px;
}

.navigation_logo a img:hover{
  opacity: 0.8;
}

.navigation_menu {
 grid-area: navmenu;
 justify-self: end;
}

.navigation_menu #navigation_menu_item a{
  color: white;
  font-size: 1.5vw;
  text-decoration: none;
}

.navigation_menu #navigation_menu_item li{
  padding: 8px 8px 8px 8px;
  display: inline-block;
  font-family: var(--font-primary-base);
  text-decoration: none;
  color: white;
  list-style-type: none;
}

.navigation_menu #navigation_menu_item a:hover{
  color: var(--color-tertiary);
}

.top_logo{
  width: 10%;
  height: auto;
}

.open_menu{
 color: white;
 display: none;
}
.open_menu svg{
 padding-right: 10px;
 font-size: 25px;
}
.open_menu svg path{
 font-size: 100%;
}

@media only screen and (max-width: 650px){
 .navigation_bar{
  min-height: 70px;
 }
.navigation_logo a{
  font-size: 3vw;
}
.navigation_menu #navigation_menu_item a{
 font-size: 3vw;
}
}

@media only screen and (max-width: 600px){
   
   .navigation_bar{
    min-height: 70px;
   }
  
  .navigation_logo a{
    font-size: 4vw;
  }
  
  .navigation_menu #navigation_menu_item{
   display: none;
  }
  
  .open_menu {
   display: contents;
  }
}

    /* Desktop Dropdown Styles */
    #navigation_menu_item ul {
      position: relative;
      margin: 40px;
    }
    
    #navigation_menu_item li {
      position: relative;
    }
    
    #navigation_menu_item .sub-menu {
      position: absolute;
      top: 100%;
      left: 0;
      background: rgba(255, 255, 255, 0.8);
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
      min-width: 200px;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-10px);
      transition: all 0.3s ease;
      z-index: 1000;
      list-style: none;
      padding: 0;
      margin: 0;
    }
    
    #navigation_menu_item li:hover .sub-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    
    #navigation_menu_item .sub-menu li {
      width: 100%;
      border-bottom: 1px solid #f0f0f0;
    }
    
    #navigation_menu_item .sub-menu a {
      display: block;
      padding: 12px 16px;
      color: #333;
      text-decoration: none;
    }
    
    /* Dropdown indicator */
    #navigation_menu_item .menu-item-has-children > a::after {
      content: ' ▼';
      font-size: 0.6em;
    }
    
    /* Mobile Dropdown Styles */
    #navigation_menu_item_side .sub-menu {
      background-color: rgba(255,255,255,0.1);
      padding-left: 20px;
      display: none;
    }
    
    #navigation_menu_item_side .dropdown-toggle {
      background: none;
      border: none;
      color: #e3e3e3;
      float: right;
      padding: 10px;
      cursor: pointer;
      font-size: 1.2em;
    }

/*--------------------------------------------------------------
# Navigation Bar on Mobile
--------------------------------------------------------------*/
.side-bar{
 position: fixed;
 top: 0;
 right: 0;
 height: 100vh;
 width: 75vw;
 background-color: var(--color-tertiary);
 box-shadow: -25px 0 25px rgba(71,71,71,0.8);
 visibility:hidden;
 z-index:101;
}

.navigation_menu_side ul{
 list-style-type: none;
 padding: 40px;
}

.navigation_menu_side li {
 padding-top: 15px;
}

.navigation_menu_side a{
 font-size: 2em;
 text-decoration: none;
 color: white;
  text-shadow: 5px 5px 10px var(--color-primary);
  text-transform: uppercase;
}

.navigation_menu_side a:hover {
 color: var(--color-forth);
 opacity: 0.6;
}

.open_menu{
 cursor: pointer;
}
.open_menu svg:hover{
 fill: var(--color-tertiary);
}

.close_menu{
 cursor: pointer;
 right: 0;
}
.close_menu svg:hover{
 fill: var(--color-tertiary);
}
/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footercontainer {
  width: 100%;
  display: grid;
  align-items: center;
  grid-template-areas:
    "footerheader footerheader footerheader"
    "logo location links"
    "copyright copyright copyright";
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 0fr;
  background-color: var(--color-tertiary);
  padding: 5px;
}
.footercontainer > div {
  padding: 15px;
}
.footercontainer > div.footerheader, div.footerheader a {
  grid-area: footerheader;
  text-align: center;
  color: var(--color-forth);
  text-decoration: none;
  font-size: 20px;
}

.footercontainer .footerheader .social .socialgrid img{
  width: 50px;
  height: auto;
}
.footercontainer .footerheader .social .socialgrid img:hover{
  opacity: .7;
}

.footercontainer > div.links {
  grid-area: links;
  color: var(--color-forth);
  font-size: 20px;
}
.footercontainer > div.links ul{
  padding-left: calc(100vw / 70);
  }
.footercontainer > div.links li a{
  grid-area: links;
  color: var(--color-forth);
  text-decoration: none;
}
.footercontainer > div.location {
  grid-area: location;
  color: var(--color-forth);
}
.footercontainer > div.copyright {
  grid-area: copyright;
  text-align: center;
  color: var(--color-forth);
}
.footercontainer > div.logo {
  display: grid;
  place-items: center;
   grid-area: logo;
   width: 100%;
   height: auto;
   cursor: pointer;
}
.footercontainer > div.logo img{
  width: 50%;
  height: auto;
}
.footercontainer a {
  color: var(--color-forth);
  text-decoration: none;
}
.footercontainer a:hover{
  color: white;
}

/* Hover Footer CSS */
.footercontainer > div.header a:hover{
  color: white;
}
.footercontainer > div.links li a:hover{
  color: white;
}
  
/*--------------------------------------------------------------
# Responsive Web Design
--------------------------------------------------------------*/
@media screen and (max-width: 700px){
 .footercontainer {
    width: 100%;
    display: grid;
    align-items: center;
    grid-template-areas:
        "footerheader"
        "logo"
        "location"
        "links"
        "copyright";
     grid-template-rows: 1fr 0.5fr 0.3fr 0.2fr 0.2fr;
     grid-template-columns: 1fr;
    background-color: var(--color-tertiary);
    padding: 5px;
 }
 .footercontainer > div.logo a{
   display: flex;
    justify-content: center;
    align-items: center;
 }
}
/*--------------------------------------------------------------
# Hero For Pages
--------------------------------------------------------------*/
.page_hero{
 display:flex;
 width:100%;
 height:auto;
}

.page_hero img{
 width: 100%;
 height:auto;
}
@media screen and (max-width:800px){
 .page_hero img{
  padding-top: 100px;
 }
}

/*--------------------------------------------------------------
# Hero For Main Page
--------------------------------------------------------------*/
.hero_section{
 width: 100%;
 height: auto;
 display: grid;
}

.background_image img{
 width: 100%;
 overflow: hidden;
 background-repeat: no-repeat;
 padding-top: 110px;
}

/* Slideshow specific styles */
.slideshow-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.slideshow-wrapper {
    position: relative;
    width: 100%;
    height: auto;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.6s ease-in-out;
    z-index: 1;
}

.slide.active {
    opacity: 1;
    position: relative;
}

.slide img {
    width: 100%;
    overflow: hidden;
    background-repeat: no-repeat;
    padding-top: 110px;
    display: block;
}

/* Desktop navigation and title container */
.slideshow-nav-title {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    z-index: 10;
    pointer-events: none;
}

/* Mobile navigation container */
.mobile-nav {
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    gap: 40px;
    z-index: 10;
}

/* All navigation arrows */
.slide-prev,
.slide-next {
    background: transparent;
    color: rgba(255, 255, 255, 0.6);
    border: none;
    padding: 15px 20px;
    cursor: pointer;
    font-size: 24px;
    font-weight: bold;
    border-radius: 5px;
    pointer-events: all;
    transition: all 0.3s ease;
    user-select: none;
}

.slide-prev:hover,
.slide-next:hover {
    background: transparent;
    color: rgba(234, 157, 196, 0.9);
    transform: scale(1.1);
}

/* Desktop arrows */
.desktop-only {
    flex-shrink: 0;
}

/* Mobile arrows */
.mobile-only {
    padding: 12px 16px;
    font-size: 20px;
}

/* Responsive adjustments for slideshow images */
@media screen and (max-width: 650px){
    .slide img{
        padding-top: 150px;
    }
}

@media screen and (max-width: 600px){
    .slide img{
        padding-top: 110px;
    }
}

/* Mobile layout */
@media screen and (max-width: 768px){
    /* Hide desktop arrows */
    .desktop-only {
        display: none !important;
    }
    
    /* Show mobile arrows horizontally */
    .mobile-nav {
        display: flex !important;
    }
    
    /* Center the title */
    .slideshow-nav-title {
        justify-content: center;
    }
}

/* Desktop layout */
@media screen and (min-width: 769px){
    /* Show desktop arrows */
    .desktop-only {
        display: block !important;
    }
    
    /* Hide mobile arrows */
    .mobile-nav {
        display: none !important;
    }
}
@media screen and (max-width: 768px){
 .slideshow-nav-title{
  padding-top:40px;
 }
}
@media screen and (max-width:550px){
 .slideshow-nav-title{
  padding-top: 45px;
 }
 .mobile-nav{
  bottom: 55px;
 }
}
@media screen and (max-width:500px){
 .slideshow-nav-title{
  padding-top: 50px;
 }
 .mobile-nav{
  bottom: 50px;
 }
}
@media screen and (max-width:400px){
 .slideshow-nav-title{
  padding-top:60px;
 }
 .mobile-nav{
  bottom:40px;
 }
}
@media screen and (max-width:350px){
 .slideshow-nav-title{
  padding-top:65px;
 }
 .mobile-nav{
  bottom:35px;
 }
}
@media screen and (max-width:310px){
 .slideshow-nav-title{
  padding-top: 68px;
 }
 .mobile-nav{
  bottom: 20px;
 }
}
/* Hero title styles */
.hero_title {
    width: 100%;
    height: auto;
    display: grid;
    justify-content: center;
    pointer-events: all;
    flex-grow: 1;
}

.hero_title h1 {
    color: white;
    animation: 3s ease infinite reverse neonize;
    font-size: 4vw;
    margin: 0;
    text-align: center;
}

.hero_title h2 {
    color: white;
    font-size: 3vw;
    justify-self: center;
    margin: 0;
    text-align: center;
}
@media screen and (min-width:1px){
    @keyframes neonize{
        0%{
            text-shadow: 0 0 20px #FF00E5;
        }
        75%{
            text-shadow: 0 0 20px #215BFF;
        }
        100%{
            text-shadow: 0 0 20px #FF00E5;
        }
    }
}


/*--------------------------------------------------------------
# Home Page Widget Content
--------------------------------------------------------------*/

@media screen and (max-width:1600px){
.heading_section {
font-size:1.2em;
color: white;
}
}
@media screen and (max-width:1024px){
.heading_section {
font-size:2em;
color: white;
}
}

/*--------------------------------------------------------------
# Scroll top button
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Testimonial Section
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Other Hero Images
--------------------------------------------------------------*/
