* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}

:root{
	--body-Color: #e4e9f7;
	--text-Color: #c6e5ef;
	--front-Color: #007bff;
	--mid-Color: #91cee2;
	--filet-Color: #d439d7;
}

body {
	height: 100vh;
	width: 100vw;
  min-width: 600px;
	background-color: var(--body-Color);
	font-family: Garamond, serif;
}

/* basic structure */
.structure00 {
  display: grid;
  grid-template-areas: 
    'header header header'
    'nav nav nav'
    'main main main'
    'footer footer footer';
  background-color: var(--body-Color);
} /* Added missing closing brace here */

.header {
  grid-area: header;
  display: none;
}

.nav {
  grid-area: nav;
  position: sticky;
  top: 0;
  z-index: 101;
  background-color: var(--front-Color);
  margin: 0;
  padding: 0;
  font-weight: bold;
  text-align: center;

  /* Nested elements (Supported in modern browsers) */
  li {
    display: inline-block;
    padding: 1px;
  }
  
  .dropdown {
    padding-right: 25px;
    position: relative;
    display: inline-block;
    text-align: center;
    z-index: 100;
  }

  a {
    display: inline-block;
    color: var(--text-Color);
    padding: 5px 15px;
    font-size: 26px;
    text-decoration: none;
    text-align: center;
    background-color: var(--front-Color);
  }

  li a:hover {
    background-color: var(--filet-Color);
  }

  .active {
    background-color: var(--filet-Color);
  }

  .dropbtn {
    background-color: var(--front-Color);
    color: var(--text-Color);
    padding: 5px 15px;
    font-size: 36px;
    border: none;
    cursor: pointer;
  }

  .dropdown:hover {
    background-color: var(--front-Color);
  }

  .dropdown-content {
    display: none;
    position: absolute;
    background-color: var(--body-Color);
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
  }

  .dropdown-content a {
    color: var(--text-Color);
    padding: 5px 15px;
    font-size: 26px;
    text-decoration: none;
    display: block;
  }

  .dropdown-content a:hover {
    background-color: var(--filet-Color);
  }

  .dropdown:hover .dropdown-content {
    display: block;
  }

  .dropdown:hover .dropbtn {
    background-color: var(--front-Color);
  }

} /* End of .nav */

.main {
  grid-area: main;
  display: block;
  margin: auto;
  margin-bottom: 10vh;
  width: 100vw;
  height: auto;
  background-color: var(--body-Color);
}

.footer {
  grid-area: footer;
  position: fixed;
  width: 100%;
  bottom: 0;
  border-top: 1px solid var(--front-Color);
  padding: 5px;
  background-color: lightblue;
  text-align: center;
}

/* container-tile000 ( )*/
.container-tile000 {
  display: grid;
  grid-template-areas: 
    'title picture'
    'txt txt';
  gap: 0.5vw;
  margin: auto;
  margin-top: 5vh;
  /*margin-bottom: 10vh;*/
  width: 70vw;
  /*height: auto;*/
  min-height: 50vh;
  padding: 0.5vw;
  background-color: var(--text-Color);
  border: 2px solid var(--front-Color);
  border-radius: 15px;
  box-shadow: 10px 10px var(--mid-Color);
  overflow:scroll; 

  .title {
    grid-area: title;
    align-content: center;
    justify-items: center;
  }

  .picture {
    grid-area: picture;
    align-content: center;
    justify-self: center;
    img {
      padding: 5px;
      width: 200px;
      height: 200px;
      border: 0.5px solid black;
    }
  }

  .txt {
    grid-area: txt;
    grid-column-start: 1;
    grid-column-end: 3;
    background-color: var(--text-Color);    
    font-size: large;
    height: auto;
    overflow: scroll;
  }
}
/* container-tile001 (home, )*/
.container-tile001 {
  display: grid;
  grid-template-areas: 
    'picture txt'
    'title txt';
  margin: auto;
  margin-top: 5vh;
  margin-bottom: 10vh;
  width: 70vw;
  height: auto;
  /*min-height: 65vh;*/
  padding: 2vw;
  background-color: var(--text-Color);
  border: 2px solid var(--front-Color);
  border-radius: 15px;
  box-shadow: 10px 10px var(--mid-Color);
  /*overflow:scroll; */

  
  .picture{
    grid-area: picture;
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2;
    align-content: bottom;
    justify-items: center;
    position: relative;
    .gradient {
      width: 100%;
      height: 100%;
      background-image:linear-gradient(to top,black 5%,transparent 15%);
      position: absolute;
      top:0;
      left:0;
    }
    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
  
  .title {
    grid-area: title;
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 2;
    grid-row-end: 3;
    align-content: center;
    justify-items: center;
    margin-bottom: 20px;
    background-color: black;
    h1 {
      padding: 20px;
      background-color: black;
      color: white;
    }
  }

  .txt {
    grid-area: txt;
    grid-column-start: 2;
    grid-column-end: 3;
    padding: 20px;
    background-color: var(--text-Color);    
    font-size: large;
    height: auto;
    overflow: scroll;
  }
}
/* container-tile001 (home[Right], )*/
.container-tile001R {
  display: grid;
  grid-template-areas: 
    'txt picture'
    'txt title';
  margin: auto;
  margin-top: 5vh;
  margin-bottom: 10vh;
  width: 70vw;
  height: auto;
  min-height: 60vh;
  padding: 2vw;
  background-color: var(--text-Color);
  border: 2px solid var(--front-Color);
  border-radius: 15px;
  box-shadow: 10px 10px var(--mid-Color);
  /*overflow:scroll; */

  
  .picture{
    grid-area: picture;
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 2;
    align-content: bottom;
    justify-items: center;
    position: relative;
    .gradient {
      width: 100%;
      height: 100%;
      background-image:linear-gradient(to top,black 5%,transparent 15%);
      position: absolute;
      top:0;
      left:0;
    }
    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
  
  .title {
    grid-area: title;
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 2;
    grid-row-end: 3;
    align-content: center;
    justify-items: center;
    margin-bottom: 20px;
    background-color: black;
    h1 {
      padding: 20px;
      background-color: black;
      color: white;
    }
  }

  .txt {
    grid-area: txt;
    grid-column-start: 1;
    grid-column-end: 2;
    padding: 20px;
    background-color: var(--text-Color);    
    font-size: large;
    height: auto;
    overflow: scroll;
  }
}

/* container-tile011 (about, services, invoices, tickets) */
.container-tile011 {
  display: grid;
  grid-template-areas: 
    'picture txt'
    'title txt';
  margin: auto;
  margin-top: 5vh;
  margin-bottom: 10vh;
  width: 70vw;
  height: auto;
  min-height: 10vh;
  padding: 2vw;
  background-color: var(--text-Color);
  border: 2px solid var(--front-Color);
  border-radius: 15px;
  box-shadow: 10px 10px var(--mid-Color);
  overflow:scroll; 

  
  .logo{
    grid-area: picture;
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2;
    align-content: bottom;
    justify-items: center;
    position: relative;
    .gradient {
      width: 100%;
      height: 100%;
      background-image:linear-gradient(to top,black 5%,transparent 15%);
      position: absolute;
      top:0;
      left:0;
    }
    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
  
  .title {
    grid-area: title;
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 2;
    grid-row-end: 3;
    align-content: center;
    justify-items: center;
    background-color: black;
    h1 {
      padding: 20px;
      background-color: black;
      color: white;
    }
  }

  .txt {
    grid-area: txt;
    grid-column-start: 2;
    grid-column-end: 3;
    padding: 20px;
    background-color: var(--text-Color);    
    font-size: large;
    height: auto;
    overflow: scroll;
  }
}
/* container-tile1 ( ) */
.container-tile1 {
  display: grid;
  grid-template-areas: 
    'logo message'
    'txt txt'
    'action action';
  gap: 0.5vw;
  margin: auto;
  margin-top: 5vh;
  width: 70vw;
  height: auto;
  min-height: 60vh;
  padding: 0.5vw;
  background-color: var(--text-Color);
  border: 2px solid var(--front-Color);
  border-radius: 15px;
  box-shadow: 10px 10px var(--mid-Color);
  overflow:scroll; 
  

  .item1 {
    grid-area: logo;
    grid-column-start: 1;
    grid-column-end: 2;
    background-color: var(--text-Color);
    align-content: center;
    justify-items: center;
  }

  .item2 {
    grid-area: message;
    grid-column-start: 2;
    grid-column-end: 4;
    width: 3fr;
    background-color: var(--text-Color);
    align-content: center;
    justify-items: center;
    img {
      border-radius: 2vw;
      width: 20vw;
    }
  }
  .item3 {
    grid-area: txt;
    grid-column-start: 1;
    grid-column-end: 4;
    background-color: var(--text-Color);
    font-size: large;
  }
  .item4 {
    grid-area: action;
    grid-column-start: 3;
    grid-column-end: 4;
    background-color: var(--text-Color);
    align-content: center;
    justify-items: center;
  }
}

/* container-tile2 (apointment) */
.container-tile2 {
  display: grid;
  grid-template-areas:
    'month year label'
    'days days times'
    'msg msg bt';
  background-color: var(--body-Color);
  margin: 5px;
  margin-bottom: 1vh;
  gap: 10px; 

  .year {
    grid-area: year;
    display: flex;
    margin: auto;
    margin-top: 2vh;
    background-color: var(--text-Color);
    border: 2px solid var(--front-Color);
    border-radius: 15px;
    box-shadow: 10px 10px var(--mid-Color);
    
    h1 {
      color: var(--front-Color);
      font-size: clamp(1.2rem,2vw,2.6rem);
      text-align: center;
      width: 5vw;
      height: 5vh;
      margin: 0; /* Reset default margins */
    }
  }

  .month {
    grid-area: month;
    display: flex;
    margin: auto;
    margin-top: 2vh;
    background-color: var(--text-Color);
    border: 2px solid var(--front-Color);
    border-radius: 15px;
    box-shadow: 10px 10px var(--mid-Color);
    h1 {
      color: var(--front-Color);
      font-size: clamp(1.2rem,2vw,2.6rem);
      text-align: center;
      width: 12vw;
      height: 5vh;
      margin: 0;
    }
  }

  .buttonl, .buttonr {
    padding: 0 5px;
    font-size: clamp(1rem,2vw,2.6rem);
    text-align: center;
    color: var(--front-Color);
    cursor: pointer;
  }

  .buttonl { border-radius: 15px 0 0 15px; }
  .buttonr { border-radius: 0 15px 15px 0; }

  .buttonl:hover, .buttonr:hover {
    background-color: var(--mid-Color);
  }

  .days {
    grid-area: days;
    display: flex;
    margin: auto;
    margin-top: 2vh;
    height: auto;
    width: auto;
    background-color: var(--text-Color);
    border: 2px solid var(--front-Color);
    border-radius: 15px;
    box-shadow: 10px 10px var(--mid-Color);
  }

  .tableDays {
    margin: auto;
    /*padding: 10px;*/
    background-color: var(--text-Color);
    border-radius: 15px;
  }

  .msg { grid-area: msg; }
  .bt { grid-area: bt; }

  .msg, .bt {
    display: flex;
    margin: auto;
    margin-top: 2vh;
    height: auto;
    width: auto;
    background-color: var(--text-Color);
    border: 2px solid var(--front-Color);
    border-radius: 15px;
    box-shadow: 10px 10px var(--mid-Color);
    text-align: center;
    padding: 10px;
  }

  .week span {
    display: inline-block;
    width: 7vw;
    height: 7vh;
    margin: 0.4vh 0.4vw;
    padding: 0.4vh 0.8vw;
    background-color: var(--mid-Color);
    border-radius: 0.6vw;
    font-size: 1em;
  }

  .day0 {
    color: var(--front-Color);
    position: relative;
    display: inline-block;
    width: 5vw;
    height: 4vh;
    margin: 0.4vh 0.4vw;
    padding: 0.4vh 0.8vw;
    background-color: var(--mid-Color);
    border-radius: 0.6vw;
    font-size: clamp(0.8rem,1.4vw,1.8rem); 
    span h3 {
      color: var(--front-Color);
      font-size: clamp(0.8rem,1.4vw,1.8rem);
    }
  }

  .day {
    color: var(--front-Color);
    position: relative;
    display: inline-block;
    width: 5vw;
    height: 6vh;
    margin: 0.4vh 0.4vw;
    padding: 0.4vh 0.8vw;
    background-color: var(--mid-Color);
    border-radius: 0.6vw;
    transition: border 0.2s; 

    &:hover {
      border: 2px solid var(--front-Color);
    }

    span {
      font-size: 1.8vw;
      text-align: center;
    }

    h5 {
      position: absolute;
      top: 14%;
      left: 30%;
      width: 36%;
      text-align: center;
      z-index: 1;
      padding: auto;
      background-color: var(--body-Color);
      color: var(--front-Color);
      border-radius: 1vw;
      margin: 0;
    }

    .badge {
      position: absolute;
      top: -5px;
      right: -5px;
      padding: 5px 10px;
      border-radius: 50%;
      background: red;
      color: white;
      font-size: 0.8vw;
    }
  }

  .times {
    grid-area: times;
    display: block;
    margin: auto;
    margin-top: 2vh;
    min-width: 32vw;
    height: 60vh;
    background-color: var(--text-Color);
    border: 2px solid var(--front-Color);
    border-radius: 15px;
    box-shadow: 10px 10px var(--mid-Color);
    overflow-y: auto;
  }
  .label {
    grid-area: label;
    display: block;
    margin: auto;
    margin-top: 2vh;
    background-color: var(--text-Color);
    border: 2px solid var(--front-Color);
    border-radius: 15px;
    box-shadow: 10px 10px var(--mid-Color);
    text-align: center;
    font-size: clamp(1rem,1.2vw,1.8rem);
    padding: 5px;
    h1 {
      color: var(--front-Color);
      font-size: clamp(1.2rem,2vw,2.6rem);
      text-align: center;
      width: 100%;
      height: 5vh;
      margin: 0;
    }
  }
  

.tableTimes {
  display: table; /* Changed from flex to table */
  margin: 1vh auto;
  width: 100%;
  background-color: var(--text-Color);
  border-radius: 15px;
  border-collapse: separate; /* Required for border-radius to work on tables */
  border-spacing: 0;
}

.tableTimes tbody {
  display: flexbox;
  margin: auto;
  width: 100%;
}

.tableTimes tbody tr {
  margin: auto;
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content:center;
}

.tableTimes td h1 {
  margin: 0;
  color: var(--front-Color);
  background-color: var(--mid-Color);
  text-align: center;
  border-radius: 10px;
  width: auto;
  height: 6vh;
  line-height: 6vh;
  display: block; /* Ensures width and height are respected inside the td */
}

.time {
    color: var(--front-Color);
    position: relative;
    display: inline-block;
    height: 8vh;
    margin: 0.4vh 0.4vw;
    padding: 0.8vh 1.2vw;
    background-color: var(--mid-Color);
    border-radius: 0.6vw;
 }
}

@media only screen and (max-width: 600px) {
  body {
    min-width: 0;
    overflow-x: hidden;
  }

  .container-tile2 {
    display: grid;
    grid-template-columns: 1fr 1fr; 
    grid-template-areas:
      'month year'
      'days  days'
      'label label'
      'times times'
      'msg msg'
      'bt bt';
    margin: 0;
    margin-bottom: 1vh;
    width: 100%;
    gap: 5px;

   
    .times {
      grid-area: times;
      min-width: 95%; 
      max-height: 50vh;
      margin: 10px auto;
    }

    .tableTimes td h1 {
      width: auto; 
      font-size: 5vw; 
    }
    tbody {
      width: 100%;
      tr{
        display: flex;
        flex-direction: row;
        justify-content:center;
      }
    }
  
    .days {
      width: 94%;
      overflow-x: auto; 
    }

    .year h1, .month h1 {
      font-size: clamp(1.2rem,2vw,2.6rem); 
      width: auto;
    }
      
  .buttonl, .buttonr {
    padding: 0 5px;
    font-size: clamp(1.2rem,2vw,2.6rem);
    text-align: center;
    color: var(--front-Color);
    cursor: pointer;
  }

    .day, .day0 {
      width: 11vw;
      height: 6vh;
    }
    
    .day span {
      font-size: 3vw;
    }
  }
  .container-tile001, .container-tile001R , .container-tile011{
    display: grid;
    grid-template-areas: 
      'picture'
      'title'
      'txt';

  .picture{
    grid-area: picture;
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2;
  }
  .title {
    grid-area: picture;
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 2;
    grid-row-end: 3;
  }
  .txt {
    grid-area: picture;
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 3;
    grid-row-end: 4;
  }
}
}

/* forms */
.card-form {
  margin: 5vh auto;
  margin-bottom: 10vh;
  max-width: 500px; 
  width: 90%; 
  background-color: var(--text-Color);
  border: 2px solid var(--front-Color);
  border-radius: 15px;
  box-shadow: 10px 10px var(--mid-Color);
  overflow:scroll; 
} 
.card-header {
  padding: 15px;
  background-color: var(--mid-Color);
  border-radius: 13px 13px 0 0; 
  color: var(--front-Color);
  text-align: center;
}
.card-body {
  margin:auto;
  padding: 2vh;
  background-color: var(--text-Color);
}
.form-item {
  margin-bottom: 0.5vh;
  background-color: var(--text-Color);

  label {
    display: block;
    margin-bottom: 6px;
    color: var(--front-Color);
  }
  input {
    width: 100%;
    font-size: 20px; 
    padding: 8px;
    border-radius: 8px;
    border: 1px solid var(--mid-Color);
    box-sizing: border-box; 
  }
  textarea {
    width: 100%;
    font-size: medium;
    padding: 8px;
    border-radius: 8px;
    border: 1px solid var(--mid-Color);
    box-sizing: border-box;
  }
}
.form-button {
  margin-top: 20px;
  text-align: center; 
  padding-bottom: 20px;
  input {
    width: auto; 
    min-width: 120px;
    padding: 10px 20px;
    font-size: 20px;
    color: var(--text-Color);
    background-color: var(--front-Color);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  input:hover {
    background-color: var(--filet-Color);
  }
}