* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 20px;  
}

body {
    background-color: rgb(85, 82, 82);
    font-family: 'Orbitron', sans-serif;
    overflow: hidden;
    display: flex;
    flex-direction: center;
    justify-content: center;
}

main {
    color: white;
    background-color: rgb(128, 128, 128, );
    justify-content: center;
    align-content: center;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: default;
}

/*HEADER*/
header {
    position: fixed;
    flex-direction: center;
    justify-content: center;
    margin-top: .75rem;
    margin-bottom: 1rem;    
}

.header-horizontal {
    width: 100%;
    height: 3.9rem;    
    position: sticky;
    display: flex;
    align-items: center;
    transition: var(--transition);    
    background-color: transparent;
    background-size: auto 3.9rem;
    background-repeat: repeat-x;
    background-position: top;
    border: .1rem solid white;
    border-radius: 2rem;
    box-shadow: 0 .5rem .6rem rgba(0, 0, 0, 0.8);    
}

.header-logo {
    width: 3.5rem;
    height: 3.5rem;
    display: block;
    padding: .25rem;
    margin-right: .1rem;
}

.header-menu-item {
    display: inline-block;
    color: white;
    text-align: center;
    padding: .5rem;
    text-decoration: none; 
    letter-spacing: .2rem;
    margin-left: 1rem;
}

.header-menu-item:hover {
    text-shadow:
        0 0 .35rem white,
        0 0 .5rem white,
        0 0 1.05rem white,
        0 0 2.1rem #fff,
        0 0 4.1rem #fff,
        0 0 4.6rem #fff,
        0 0 5.1rem #fff,
        0 0 7.55rem #fff;
}

.last {
    margin-right: 7.5rem;
}

a {
    cursor: pointer;
}

a:link {
    text-decoration: none;
    color: white;
}

a:visited {
    text-decoration: none;
    color: white;
}

li {
    cursor: default;
}

.neon {
    color: white;
    text-shadow:
        0 0 .35rem white,
        0 0 .5rem white,
        0 0 1.05rem white,
        0 0 2.1rem #fff,
        0 0 4.1rem #fff,
        0 0 4.6rem #fff,
        0 0 5.1rem #fff,
        0 0 7.55rem #fff; 
}

/*FOOTER*/
footer {
    display: flex;
    justify-content: center;
    padding: .25rem;
    background-color: #45a1ff;
    opacity: 70%;
    color: #fff;
    position: fixed;
    bottom: 0;
    width: 100%;
    font-size: .75rem;
}

.bottom-center{
    position: fixed;
    bottom: .25rem;
    left: 50%;
    transform: translateX(-50%);
}

/*CALENDAR*/
#calendar-container {
    max-width: 30rem;
    height: 60vh;
    margin: 0 auto;
    text-shadow: 0 .5rem .6rem rgba(0, 0, 0, 0.8);
}

#calendar-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    text-shadow: 0 .5rem .6rem rgba(0, 0, 0, 0.8);
}
  
#calendar {
    width: 100%;
    border-collapse: collapse;
    box-shadow: 0 .5rem .6rem rgba(0, 0, 0, 0.8);
}
  
#calendar th, #calendar td {
    text-align: center;
    padding: .75rem;
    border: .1rem solid #ccc;
    box-shadow: 0 .25rem .6rem rgba(0, 0, 0, 0.8);
}
  
#calendar th {
    background-color: #f2f2f2;
    cursor: default;
}
  
#calendar td.today {
    background-color: #ccf2cc;
    color: black;
    cursor: default;
}

#calendar td:nth-of-type(1) {
    background-color: rgb(247, 144, 144);
    color: white;
    cursor: default;
}
  
#calendar td.selected {
    background-color: #99ccff;
}

#prevBtn,
#nextBtn {
  font-size: .9rem;
  padding: .25rem .5rem;
  border: none;
  background-color: transparent;
  cursor: pointer;
  color: white;
  text-shadow: 0 .5rem .6rem rgba(0, 0, 0, 0.8);
}

#prevBtn {
  margin-right: .5rem;
}

#nextBtn {
  margin-left: .5rem;
}

td.clickable {
    cursor: pointer;
    color: rgb(51, 255, 0);
}

h2 {
    color: rgba(255, 255, 255, 0.801);
    text-align: center;
}

th {
    color: black;
    text-align: center;
}

/*PHONE MODAL*/
.modal {
    display: none;
    position: fixed;
    z-index: 2;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.767);
        
}
  
.modal-content {
    background-color: rgba(255, 255, 255, 0.5);
    margin: 15% auto;
    padding: 1rem;
    border: .05rem solid #888;
    width: 80%;
    max-width: 18rem;
    position: relative;
    color: white;
    text-align: center;
    font-size: 1.5rem;
}
  
.close {
    position: absolute;
    top: 0;
    right: 0;
    padding: .25rem;
    cursor: pointer;
}

#copyButton {
    background-color: black;
    color: white;
    border: .05rem solid #888;
    padding: .25rem;
    width: 4rem;
}

/*SERVICES*/
.tr-services {
    height: 21rem;
}
  
#services {
    max-width: 15rem;
    height: 70vh;
    margin: 0 auto;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    color: white;
    text-align: center;
    flex-wrap: wrap;
}

th { 
    padding: 3rem;
    color: red;
    font-size: larger;
    border: .1rem solid rgba(255, 255, 255, 0.253);          
}

.service {
    color: white;
    text-align: left;
    font-size: .75rem;
}

/*ABOUT*/
.scrollable-box {
    min-width: 20rem;
    max-height: 22.5rem;
    overflow-y: auto;
    border: .05rem solid #cccccc00;
    padding: .5rem;
    background-color: rgba(0, 0, 0, 0);
    border-radius: .6rem;
}

p {
    line-height: 1.6;
    text-shadow: 0 .5rem .6rem rgba(0, 0, 0, 0.8);    
}

.about {
    text-indent: 1rem;
}

::-webkit-scrollbar {
    width: .6rem;
    background: rgba(0, 0, 0, .4);
    border-radius: .6rem;
    box-shadow: 0 .5rem .6rem rgba(0, 0, 0, 0.8);
}

::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.3);
	border-radius: .6rem;
	margin: 0rem auto;
}

/*FRONT PAGE GALLERY*/
.background {
    display: grid;
    place-items: center;
    height: 67vh;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    max-width: 40rem;
}

.card {
    image-orientation: center;
    position: relative;
    left: 0rem;
    width: 6rem;
    border-radius: .8rem;
    height: 21rem;
    overflow: hidden;
    transition: 0.4s ease-in-out;
    box-shadow: 0 .5rem .6rem rgba(0, 0, 0, 0.8);
    flex: 0.25;
}

.card img {
    height: 21rem;
}

.card:hover {
    flex: 3;
    font-weight: bold;
    cursor: default;
    border-radius: .4rem;        
}
  
.bottom-center{
    position: fixed;
    margin-bottom: 2.25rem;
    left: 50%;
    transform: translateX(-50%);
    text-decoration: none;
    height: 3.25rem;
    width: 3.15rem;
    border: .05rem solid transparent;
    border-radius: 2rem;
    box-shadow: 0 .5rem .6rem rgba(0, 0, 0, 0.8);
}  

/*EMAIL MODAL*/
.modal2 {
    display: none;
    position: fixed;
    z-index: 2;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.767);
        
}
  
.modal-content2 {
    background-color: rgba(255, 255, 255, 0.5);
    margin: 15% auto;
    padding: 1rem;
    border: .05rem solid #888;
    width: 80%;
    max-width: 18rem;
    position: relative;
    color: white;
    text-align: center;
    font-size: 1.5rem;    
}
  
.close2 {
    position: absolute;
    top: 0;
    right: 0;
    padding: .25rem;
    cursor: pointer;
}

#copyButton2 {
    background-color: black;
    color: white;
    border: .05rem solid #888;
    padding: .25rem;
    width: 4rem;
}
