* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
a{text-decoration:none; color:#000; transition: all 0.3s ease 0s; -webkit-transition: all 0.3s ease 0s; -moz-transition: all 0.3s ease 0s;}
a:hover{color:#000;}
a:visited{color:#000;}
img {display:block;}
p{margin:0;}
body, html{margin:0; padding:0; max-width:100%; height:100%; font-family: "Open Sans", sans-serif; background:white;}

/* #m-grid{width:1300px; text-align:center; position:relative; z-index:999; display:block; left:50%; top:0; transform: translateX(-50%);} */
#m-grid{width:974px; text-align:center; position:relative; margin:auto;}
.warp{width:100%; min-height:100vh; display:flex; background:#FFF;}

header{width:100%; display:block;}
header .top-head{width:100%; height:120px; margin:0; display:block; position:relative;}
header .banner{width:100%; display:block;}
header .banner img{width:100%;}
header .logo{transform: translateX(-50%); left:50%; top:7px; position:absolute; background:#FFF;}
header .logo span{width:250px; text-align:center; border:5px solid #000; position:relative; justify-content:center; align-items:center; display:flex;}
header .logo img{width:164px; margin:19px 0px 35px 0;}
header .logo i{width:100%; margin-bottom:10px; line-height:1; font-size:17px; text-align:center; position:absolute; bottom:0;}

nav.menu{left:20px; top:7px; position:absolute; z-index:99;}
nav.menu a{width:auto; height:93px; line-height:93px; padding:0 12px; color:#000; font-size:13px; text-decoration:none;  display:inline-flex;}
nav.menu a:hover, nav.menu a.active{color:#9B9B9B;}

header .social{right:20px; bottom:15px; position:absolute; z-index:99; display:block;}
header .social a{ display:inline-block; margin-right:5px;}
header .social a img{width:23px;}
header .social a:last-child{margin-right:0;}

main{width:100%; margin:59px 0 0 0; display:inline-block;}
main .container{width:698px; display:block; float:left;}
main .right-side{width:220px; display:block; float:right;}

footer{width:100%; min-height:185px; display:block;}
footer p{width:100%; text-align:center; line-height:1; font-size:13px; color:#9B9B9B;}

#menu-mobile{width:calc(100% - 40px); text-align:right; display:none; position:absolute; top:20px; left:20px; justify-content:end; align-items:end; flex-direction:column; z-index:999;}
#menu-mobile #burger{width:50px; height:50px; text-align:center; padding:10px; border:1px solid #000; border-radius:3px; overflow:hidden; display:flex; justify-content:center; align-items:center; cursor:pointer; background:#FFF;}
#menu-mobile #burger i{font-size:20px;}
#menu-mobile #m-menu{width:100%; height:0; padding:0; margin:0; text-align:left; display:block; top:21px; transition: all 0.3s ease 0s; -webkit-transition: all 0.3s ease 0s; overflow:hidden;}
/* #menu-mobile #m-menu li{width:100%; border-bottom:1px solid #000; display:block;} */
#menu-mobile #m-menu a{width:100%; margin:0; padding:15px; border:1px solid #000; border-bottom:0; color:#000; line-height:20px; font-size:17px;  display:block; background:rgba(255,255,255,1);}
#menu-mobile #m-menu a:hover, #menu-mobile #m-menu a:visited{color:#000;}
#menu-mobile #m-menu a.active{background:rgba(212, 156, 89, 1);}
#menu-mobile #m-menu a:last-child{border-bottom:1px solid #000;}
#menu-mobile.is-open #mt-menu{padding:10px 0 0 0; margin-bottom:25px; border-top:1px solid rgba(0,0,0,0.5); transition: all 0.3s ease 0s; -webkit-transition: all 0.3s ease 0s;}


.cookies-submit{width:100%; left:0; bottom:0; display:block; position:fixed; border-top:1px solid rgba(0,0,0,.4); background:#FFF; z-index:999;
  box-shadow: 0 0 13px 4px rgba(22,45,61,.08);
  opacity:0;
  animation:cookies-alert cubic-bezier(0,1,1,1);
  animation-fill-mode:forwards;
  animation-duration:0.6s;
  animation-delay: 1s
}
@keyframes cookies-alert {
    from {
      opacity:1;
      -ms-transform: translateX(0) translateY(100px);
      -webkit-transform: translateX(0) translateY(100px);
      transform: translateX(0) translateY(100px);
    }
    to {
      opacity:1;
      -ms-transform: translateX(0) translateY(0);
      -webkit-transform: translateX(0) translateY(0);
      transform: translateX(0) translateY(0);
    }
 }
.cookies-submit span{width:100%; padding:20px 250px 20px 0; display:block; float:left; position:relative;}
.cookies-submit b{width:auto; line-height:28px; color:#000; font-size:1.2em; font-style:normal; text-decoration:underline; display:block; float:left;}
.cookies-submit p{width:auto; line-height:24px; margin:15px 0 0 0; color:#000; font-size:1em; text-align: left; display:block; float:left;}
.cookies-submit p a{color:#000; font-size:1em; font-style:normal; text-decoration:underline;}
.cookies-submit p a:hover{color:red; transition: all 0.3s ease 0s; -webkit-transition: all 0.3s ease 0s;}
.cookies-submit .accept{width:210px; height:44px; line-height:44px; color:#FFF; font-size:16px; text-align:center; font-style:normal; border-radius:10px; display:block;
  position:absolute; right:0; top:50%; transform: translate(0, -50%); background:#000; }
.cookies-submit .close-cookies{display:block; position:absolute; top:10px; right:20px; z-index:50;}
.cookies-submit .close-cookies i{font-size:1.6em; color:#000;}

.btn-contact{ bottom:20px; right:20px; display:flex; position:fixed; }
.btn-contact .open{width:200px; height:56px; border-radius:8px; overflow:hidden; font-size:18px; color:#FFF; display:inline-flex; align-items: center; justify-content: center; text-align: center; background:rgb(212, 156, 89);}
.btn-contact .open.show{display:inline-flex;}
.btn-contact .open.fade{display:none;}
.btn-contact .open.fade.show{display:inline-flex;}
.btn-contact .open:hover, .btn-contact .open:visited{color:#FFF;}
.btn-contact .open svg{display:flex; justify-self:center; align-self:center;}
.btn-contact .open p{ padding: 0 0 0 10px; display:flex; justify-self:center; align-self:center;}
.btn-contact .f-contact{width:340px; border-radius:8px; overflow:hidden; display:none; flex-direction:column; box-shadow: 0 0 13px 2px rgba(22,45,61,.08);}
.btn-contact .f-contact.show{display:flex;}
.btn-contact .f-contact.fade{display:none;}
.btn-contact .f-contact .top{height:80px; padding:0 12px 0 20px; font-size:19px; line-height:1.4; background:#FFF; display:flex; align-items:center; justify-content: space-between;}
.btn-contact .f-contact .top p{font-size: 19px; line-height: 1.4; text-align:left; display:flex; flex-direction:column;
  flex-grow: 1;
  min-width: 0;}
.btn-contact .f-contact .top .close{display:flex; cursor:pointer;}
.btn-contact .f-contact .top .close:hover{color:#000;}
.btn-contact .f-contact .mid{padding: 0px 20px 20px 20px; background-color: rgb(230, 230, 230); display:flex; flex-direction:column;}
.btn-contact .f-contact .time{margin-top:8px; display:flex; justify-self:center; align-self:center;}
.btn-contact .f-contact .time p{height: 24px; border-radius:3px; font-size:10px; line-height:24px; color:#FFF; background-color: #757575; padding:0 5px; display:flex; justify-self:center; align-self:center; letter-spacing:.98px;}
.btn-contact .f-contact .remark{width:100%; border-radius: 4px 8px 8px; margin-top:5px; padding:12px 16px; line-height:1.2; font-size:14px; background:#FFF;}
.btn-contact .f-contact form{width:100%; border-radius: 4px 8px 8px; margin-top:5px; padding:18px 23px; line-height:1;
  display:flex; justify-content:center; align-items:center; flex-direction:column; background:#FFF;}
.btn-contact form fieldset{padding: 20px 0 14px; margin-bottom:16px; border:0; border-bottom:1px solid #000; position:relative;}
.btn-contact form label{width:100%; padding: 20px 0 14px; margin-bottom:16px; border:0; border-bottom:1px solid #000; position:relative;}
.btn-contact form input{width:100%; outline:none; height:20px; border:0; font-family: "Open Sans", sans-serif; display:block; font-size:14px; color:#000;}
.btn-contact form input:focus{outline:none;}
.btn-contact form span{
    position:absolute;
    top:0;
    left:0;
    transform:translateY(30px);
    font-size:14px;
    transition-duration:200ms;
}
.btn-contact form textarea{width:88%; height:23px; font-family: "Open Sans", sans-serif; display:block; font-size:14px; color:#000; border:0; resize:none;}
.btn-contact form textarea:focus{outline:none;}
.btn-contact form textarea::placeholder, .btn-contact form input::placeholder{
    opacity:0;
}
.btn-contact form label:focus-within > span,
.btn-contact form input:not(:placeholder-shown) + span{
    opacity:.9;
    font-size:12px;
    transform:translateY(0px);
}
.btn-contact form textarea:not(:placeholder-shown) + span{
    opacity:.9;
    font-size:12px;
    transform:translateY(0px);
}
.btn-contact form button{width:100%; display:flex; justify-content:center; align-items:center; -webkit-font-smoothing: antialiased; line-height:1.71;  outline:none; transition: opacity .07s linear; min-width:188px; margin-top:4px; height:40px; font-family: "Open Sans", sans-serif; font-size:14px; color:#FFF; background:#000; border:0; border-radius: 8px; cursor:pointer;}

.totop{width:60px; height:60px; text-align:center; border-radius:8px; border:1px solid #FFF; text-align:center; cursor:pointer; display:block; position:fixed; left:20px; bottom:20px; z-index:99; background:rgba(0, 0, 0, .5) ; display:none;}
.totop i{width:100%; line-height:60px; text-align:center; font-size:40px; color:#FFF;}

@media (max-width:974px) {
  #m-grid{width:100%; display:block;}
  main{flex-direction:column;}
  main .container{margin:0 auto; float:none; display:flex; justify-content:center; align-items:center;}
  main .right-side{ margin:0 auto; float:none; display:flex; justify-content:center; align-items:center;}

  footer{margin-top:60px;}

  .cookies-submit #m-grid {padding:0 20px;}
}
@media (max-width: 698px) {
  main .container{width:100%;}
  nav.menu{display:none;}
  #menu-mobile{display:flex;}
  header .top-head{height:220px;}
  header .social{right:auto; left:20px; top:35px;}
  header .logo{top:80px;}
  header .logo i{bottom:-30%;}
  header .logo img{margin:10px 0;}
  header .banner{overflow:hidden; }
  header .banner img{width:150%; object-fit:none;}

  .btn-contact .f-contact{width:100%;}
  .btn-contact .open{width:56px; border-radius:50%;}
  .btn-contact .open p{display:none;}

  .cookies-submit span{padding:20px 0; text-align:center;}   
  .cookies-submit b{font-size:1.02em; display:inline-block; float:none;}
  .cookies-submit p {width:100%; margin-bottom:15px; font-size:.9em; line-height:18px; text-align:center; display:inline-block; float:none;}
  .cookies-submit .accept {width:150px; height:36px; line-height:36px; font-size:.9em; display:inline-block; position:relative;right:auto; top:auto; transform:translate(0, 0);}
}
@media (max-width: 414px) {
header .logo span{width:300px;}
header .logo i{font-size:15px;}
}

.grecaptcha-badge {
    bottom:80px !important;
}

.formMessage {
    padding: 10px 15px;
    margin-bottom: 15px;
    border-radius: 4px;
    font-size: 14px;
}

.formMessage.success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.formMessage.error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}