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

body {
    font-family: "Open Sans", sans-serif; font-weight: 400;
    line-height: 1.6;
}


fieldset { 	border: 0; }

.clear { 
	clear: both; 
	font-size: 0; 
	height: 0; 
	line-height: 0; 
}
a img{ border:none;}
img{ border:none;width: 100%;}
a {color:#000; text-decoration: none; }
a:hover{color:#000; text-decoration: underline; font-weight:600;}


h1 {
   font-size: 3rem; font-weight: 800;
	margin-bottom: 1rem;
    opacity: 0;
    transform: translateX(100vw); /* Start off-screen to the right */
    animation: flyIn 1s ease-out 1 forwards;

  }

  @keyframes flyIn {
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }
h2 {
     font-size: 2.2rem; font-weight: 400;
	margin-bottom: 1rem; text-transform: uppercase; text-align: left;
  }

h3 {
    font-size: 2rem; line-height: 1.8rem; font-weight: 300;
	margin-bottom: 1.5rem;
  }



/* new header */

#header_wrap{  width:100%; height:37px; min-height:37px; background:rgba(0,0,0,0.70);  position:fixed; left:0; top:0; z-index:1000; }
html>body #header_wrap{ height:auto;}
#header{ margin:0 auto; max-width:90%; height:30px; min-height:30px; padding: 20px 0;}
html>body #header { height:auto;}

#logo{ float:left; width:9%; height:auto; text-align:center; }

#header-right{ float:right; width:70%; height:auto; padding:15px 0 20px 0;}
#header_phone{ float:right; font-size:32px; color:#fff; line-height:32px; width: auto; height:32px; margin-right:10px;  }
#header_phone a{ color:#fff; }
#header_phone:hover{ color:#f68523; }
#call_icon{ float:right;  width:30px; height:auto; margin-right:8px; }
.head-social{float:right; width: 30px; height: auto; margin-right:20px; }


#nav_wrap{ float:right; width:70%; height:40px;}

@media screen and (max-width: 960px) {
#header{width:100%; padding:0;}
#logo{width:90px; padding:10px 0  0 15px;}
#header-right{width:160px; height: 30px; padding-top: 28px;}
#header_phone{display:none; } 
#call_icon{ width:45px; height: 30px; padding-right:15px; border-right:2px solid #161f24; margin-right:50px;  text-align: right;}
.head-social{display:none;} 
#nav_wrap{ width:100%; height:10px;padding-right:0; padding-top: 10px;}
	}
 

#hero {
    background: url('../images/home-cover-img.webp') no-repeat center center/cover;
    height: 100vh;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#hero h1 {
    font-size: 3rem; font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif"; color: black;
    margin-bottom: 1rem;
}

.btn {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #e8491d;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
}

section {
	padding: 10rem 0 0 0;
	 
}

.section_left{float:left; margin-left: 5%; width: 40%; height: auto; text-align: left;}
.section_right{float:left; width: 35%; height: auto; text-align: left;}

.location_right{float:left; margin-right: 5%; width: 50%; height: auto; text-align: left;}
.half{float:left; width: 50%; height: auto;}
.half h2{text-align:left; padding-left: 0;}

@media screen and (max-width: 1200px) {
.section_left{padding-left: 5%; width: 95%; }	
.section_right{padding-left: 5%; width: 90%; }
.location_right{padding-left: 5%; width:100%;  }
}

@media screen and (max-width: 768px) {
.half{float:left; width: 100%; height: auto;}
}



.menu-section{margin:0 5%; float:left; width:90%; height: auto; border-top: solid thin black; }

#menu h2{text-align:left; padding-left: 0; }

.menu-title {
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .menu-title::after {
      content: "⇓";
      transition: transform 0.3s ease;
    }

    .menu-title.active::after {
      transform: rotate(180deg);
    }


 .menu_wrap {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.5s ease;
    }

   .menu_wrap.open {
      max-height: 4000px; /* Large enough to show all contents */
    }
 

.menu_left{float:left; margin-left:5%; width:42.5%;height:auto; }
.menu_right{float:right; margin-right:5%; width:42.5%;height:auto; }

.menu_sub-title{float: left; width:100%; font-weight: 600; text-transform:uppercase; font-size: 1.5em;  line-height: 2; padding: 20px 0 10px 0;}

.menu{float:left; width: 100%; height: auto; text-align: left;line-height: 1.2; padding-bottom: 20px;}

.menu_ref{float:left; padding:3% 5%; with:90%; font-style: italic;}

 

@media screen and (max-width: 960px) {
.menu_left{float:left; margin-left:5%; width:90%; }
.menu_right{float:left; margin-left:5%; width:90%; }
}
 

.gallery-container { float: left; padding: 0 5%;  width: 90%; height: auto; margin-bottom: 50px;
}




footer {
    background: #333;
    color: #fff;
    text-align: center;
    padding: 1rem 0;
    margin-top: 2rem;
}

@media screen and (max-width: 768px) {
    .nav-links {
        display: none;
        flex-direction: column;
        width: 100%;
        position: absolute;
        top: 60px;
        left: 0;
        background: #333;
    }

    .nav-links.active {
        display: flex;
    }

    .nav-links li {
        text-align: center;
        margin: 0;
        padding: 10px 0;
    }

    .burger {
        display: block;
    }
}
