* { margin:0; padding:0; box-sizing:border-box; -webkit-box-sizing:border-box; -webkit-appearance:none;}
body { font-family: "Open Sans", sans-serif; font-size:18px; line-height:32px; color:#000; }
h1, h2, h3, h4, h5, h6, h7 { line-height:130%; padding:5px 0 0 0; font-family: "Open Sans", sans-serif; font-weight:700; margin-bottom:00px; color:#000;}
.clear-float { clear:both;}
.clear-ul { margin:0; padding:0; list-style:none;}
.sep-line { width: 200px; display: block; margin: 10px 0; height: 2px; background-color: rgb(0 0 0 / 20%);}
.sep-line.center { margin: 20px auto; }
.space-after { margin-bottom: 20px; }
.space-after-50 { margin-bottom: 50px; }
.no-break { white-space: nowrap; }
h1 { font-size:50px; }
h2 { font-size:44px;}
h3 { font-size:34px;}
h4 { font-size:30px;}
h5 { font-size:27px;}
h6 { font-size:24px;}
a { text-decoration:none; color:inherit; transition:all ease-out 0.3s; -webkit-transition:all ease-out 0.3s;}
p { margin-bottom:10px;}
.text-links { color:#dc2e24;}
.text-links:hover { text-decoration: underline;}
.box-links { background-color:#dc2e24; color:#fff; display:inline-block; padding:5px 15px;}
.box-links.grey { background-color: #AAAAAA; }
.box-links:hover, .box-links.active { background-color: #000; }
img { max-width:100%; margin:0; padding:0; font-size:0; display:block; overflow: hidden;}
ul { list-style: none; margin: 0 0 10px 0; padding: 0;}
ul li { margin: 0; padding: 0 0 0 20px; position: relative;}
ul li:before { content: "\f061"; font-family: FontAwesome; font-size: 10px; color: #bbb; position: absolute; left: 0; top: 0px;}
ul.clear-ul li { padding: 0;}
ul.clear-ul li:before { display: none;}
.spl-text { color: #f00;}
.large-text { font-size: 60px;}
.full-img { width: 100%; }
.text-center { text-align: center; justify-content: center; }
.text-left { text-align: left; justify-content: flex-start; }
.text-right { text-align: right; justify-content: flex-end; }

.wrapper-1000 { width:1000px; margin:0 auto; position:relative; text-align: justify;}
.wrapper-1200 { width:1200px; margin:0 auto; position:relative; }
.wrapper-90p { width:95%; margin:0 auto; text-align: justify; }
.block-2 { width:50%; margin:0; padding:0; float:left; min-height: 1px; position: relative;}
.block-2.right { float:right;}
.block-2.text { padding:6% 5%; }
.block-3 { width:33.33%; margin:0; padding:0; float:left; min-height: 1px; position: relative;}
.block-66 { width:66.66%; margin:0; padding:0; float:left; min-height: 1px; position: relative;}
.block-3.right { float:right;}
.block-3.text { padding:6% 5%; }


.extra-padding { padding:8% 10%;}
.extra-padding-rl { padding: 0 10%; }
.extra-padding-tb { padding:8% 0%;}
.extra-padding-top { padding-top:8%;}
.mid-padding { padding:4% 5%;}
.mid-padding-rl { padding:0% 5%;}
.mid-padding-tb { padding:4% 0%;}
.fix-padding-20 { padding:20px;}
.fix-padding-tb-20 { padding:20px 0;}
.padding-bottom-0 { padding-bottom:0; }
.padding-top-0 { padding-top:0; }

.flex-box { display: flex; align-items: center; flex-wrap: wrap; }
.flex-box.no-wrap {flex-wrap: nowrap; }
.flex-box .flex-child {  }
.flex-box.reverse { flex-direction: row-reverse; }
.flex-2 .flex-child { width: 50%;}
.flex-2a .flex-child { width: 48%; margin: 1%;}
.flex-3 .flex-child { width: 33.33%;}
.flex-3a .flex-child { width: 31.33%; margin: 1%;}
.flex-30 { width: 30%;}
.flex-70 { width: 70%; }
.flex-content-top { align-items: flex-start;}
.flex-box.reverse { flex-direction: row-reverse; }
.flex-reset-height { align-items: normal; align-items: stretch; }

header { position:fixed; width:100%; top:0; background-color: #fff; z-index: 900; box-shadow: 0 5px 7px 0 rgb(0 0 0 / 10%); transition: all ease-out 0.3s; }
header.off { transform: translateY(-110%);}
.logo { padding: 10px 00px 15px; width: 170px; display: block; position: relative; z-index: 10; top: 0px;  }
.main-menu-wrapper {  align-self: center; margin-left: auto;}
.main-menu-ul { display:flex;}
.main-menu-ul li { position:relative; flex-grow: 1; text-align:center; margin:0 0px; padding: 0; }
.main-menu-ul li:before { display: none;}
.main-link { width:100%; display:block; padding:20px 15px; color:#000; position:relative; text-transform: uppercase; }
.main-link:hover, .main-menu-ul li.active .main-link { background-color:#5b5b5b; color:#fff; }
.sub-link-ul { position:absolute; left:0; top:100%; padding:10px; background-color:#fff; background-color: #ec4924; width:250px; text-align:left; transform:translateY(50px); -webkit-transform:translateY(50px); transform-origin:center top; -webkit-transform-origin:center top; opacity:0; visibility: hidden; transition:all ease-out 0.5s; -webkit-transition:all ease-out 0.5s; z-index: 999; }
.main-menu-ul li:hover .sub-link-ul { transform:translateY(00px); opacity:1; visibility: visible; }
.sub-link-ul li { position:relative; margin: 5px; }
.sub-link-ul li:after {display: none;}
.sub-link { text-align:left; display:block; padding:2px 5px; color:#fff;}
.sub-link:before, .sub-link:before { content: "\f0da"; font-family: FontAwesome; position: absolute; left: 0; opacity: 0; transition: all ease-out 0.4s; }
.sub-link:hover, .sub-link-ul li.active .sub-link { padding-left: 15px; }
.sub-link:hover:before, .sub-link-ul li.active .sub-link:before { opacity: 1; }
.main-menu-icon { position: absolute; width: 50px; line-height: 50px; display: none; text-align: center; background-color: #ddd; right: 0; top: 0; }
.main-menu-icon .main-menu-icon-bar { position: absolute; width: 100%; height: 2px; background-color: #000; left: 0; top: 50%; transition: all ease-in 0.3s;}
.main-menu-icon .main-menu-icon-bar:nth-child(1) { transform: translateY(-10px);}
.main-menu-icon .main-menu-icon-bar:nth-child(3) {  transform: translateY(10px);}
.main-menu-icon.on .main-menu-icon-bar:nth-child(1) { transform: rotate(45deg);}
.main-menu-icon.on .main-menu-icon-bar:nth-child(3) { transform: rotate(-45deg);}
.main-menu-icon.on .main-menu-icon-bar:nth-child(2) { opacity: 0;}
.main-dd-parent .main-link { position: relative;}
.main-dd-parent .main-link:after { content: "\f107"; font-family: FontAwesome; font-size: 16px; position: relative; display: inline-block; transform: translateX(11px);}

.read-more { padding: 7px 30px; background-color: #ec4924; color: #fff; border-radius: 10px; margin-top: 15px; display: inline-block; }
.read-more:hover { background-color: #5b5b5b; }

.grey-bg { background-color: #E5E5E5; }

.practice-list li { width:32.33%; margin: 0.5%; border: solid 1px rgb(0 0 0 / 20%); text-align: center; display: block; }
.practice-list-text { padding: 20px; }
.popup-bg { position: fixed; width: 100%; height: 100%; background-color: rgb(0 0 0 / 60%); left:0; top:0; z-index: 995; }
.popup { position: fixed; width:80%; max-height:80%; background-color: #fff; left:50%; top:50%; transform: translate(-50%, -50%); padding:50px 30px 30px 30px; overflow: auto; z-index: 999; box-shadow: 5px 5px 10px rgb(0 0 0 / 30%); }
.popup-close {content:"\f00d"; position: absolute; font-family: fontAwesome; width: 40px; line-height: 40px; background-color: #ccc; text-align: center;right: 0; top:0; cursor: pointer;}
.popup-close:hover { background-color: #aaa; }
.disclaimer-text { height:100%; overflow: auto; text-align: justify; word-break: break-word; }

/* forms */
.form-ul li{ margin-bottom:10px; position:relative; background:none; padding:0 10px;}
.form-ul li span{ display:inline-block; padding:2px 10px; background-color:#999; color:#fff;}
.form-ul li.err .form-field { border-color:#f00; position: relative; }
.form-ul li.err:after { content:"invalid"; position:absolute; padding:3px 8px; background-color: #f00; color:#fff; border-radius: 7px; right:7px; top: 37px; }
.form-field{ padding:15px 10px; line-height:20px; font-size:16px; border:none; border:solid 1px #999; box-sizing:border-box; -webkit-box-sizing:border-box; width:100%; position:relative; border-radius:10px;}
.form-field:disabled{ background-color:#E9E9E9;}
.form-btn{ cursor:pointer; font-size:16px; text-align:center; display:inline-block; line-height:30px; margin-top:20px; padding:5px 30px; color:#fff; position:relative; transition:all ease-out 0.3s; -webkit-transition:all ease-out 0.3s; border:none; border-radius:10px; -webkit-border-radius:10px; background-color:#f00; color:#fff;}
.form-btn:hover{ background-color:#000;}
.form-response{ background-color:#c4e9f3; color:#000; padding:10px; margin-top:10px; overflow:auto;}
.form-response a, .form-response h2{ background-color:#94cddc; padding:2px 5px; border-radius:5px; -webkit-border-radius:5px;}
.form-response h2{ display:inline-block;}
.form-response a:hover{ background-color:#fff;}
.form-response ul{ text-align:left; width:100%; display:block; padding:10px 5px; box-sizing:border-box; -webkit-box-sizing:border-box;}
.form-response ul li{ background-color:#94cddc;}


footer { padding:30px 0 80px 0; background-color:#5b5b5b; color:#fff;}
footer .wrapper-1200 { display:flex;}
footer .wrapper-1200 * { flex-grow:1;}
footer .text-links { color: #fff;}
.by-elegant { text-align:right;}
.move-to-top { width: 50px; height: 60px; line-height: 57px; text-align: center;border-radius: 15px 15px 0 0; color: #fff; position: fixed; right: 20px; bottom: 0px; background-color: #ec4924; z-index: 999;}
.move-to-top:after { content: "\f062"; font-family: FontAwesome; display: block;font-size: 23px; color: inherit;}
.move-to-top.off { bottom: -100px;}
.social-icons { text-align:center; display:flex; font-size:22px;}
.social-icons li a:hover { color: #000; }

.banner-wrapper { position: relative; overflow: hidden; }
.banner-text { position: absolute; width: 60%; left: 10%; top: 0; height: 100%; z-index: 10; display: flex; align-items: center;}
.banner-text h2 { font-size: 6vw; color: #fff;}

.video-container { width: 100%; height: 100vh; overflow:hidden; }
.cover-video { min-width:100vw; min-height: 100vh; margin: 0 auto; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.video-overlay { width: 100%; height: 100%; position: absolute; left:0; top:0; background-color: rgb(0 0 0 / 10%); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; text-transform: uppercase; }
.video-overlay h2 { color: #fff; font-size: 4vw; letter-spacing: 10px; font-weight: 200; line-height: 120%; }

.video-box { overflow: hidden; min-height: 350px; position: relative; background-color: #00af01; }
.video-box video { position: absolute; height: 90%; left: 50%; top: 50%; transform: translate(-50%, -50%); }

.popup-box { position: fixed; z-index: 900; width: 90%; height: 90%; left: 5%; top: 5%; background-color: #fff; overflow: auto; padding: 4% 5%; border:solid 1px rgb(0 0 0 / 30%); }
.close-pp { width: 50px; line-height: 50px; text-align: center; background-color: #dc2e24; color: #fff; position: absolute; right: 0; top: 0; font-size: 24px; font-weight: 400;}

@media screen and (max-width:1600px){
	.main-banner .item .flex-box { width:90%; margin: 0 auto; position: relative;}
	.main-banner-text h2 { font-size: 52px;}
	.owl-dots { width: 90%; }
}
@media screen and (max-width:1300px){
	.main-banner-text h2 { font-size: 46px;}
}
@media screen and (max-width:1200px){
	.wrapper-1200 { width: 90%;}
	.main-banner-text h2 { font-size: 36px;}
	.main-banner-text h4 { font-size: 25px; }
}

@media screen and (max-width:1000px){
	body { text-align: center; }
	.wrapper-90p, .wrapper-1200, .wrapper-1000 { width:100%; text-align: center;}
	.block-2, .block-3, .block-66 { width:100%; float:none;}
	.block-2.right { float:none;}
	.block-2.text, .flex-2.text { padding:6% 5%; }
	.flex-2-wrapper { display: block;}
	.flex-2 { flex-grow: 0; width: 100%;}
	.ele-same-height .ele-template { height: auto !important;}
	.large-text { font-size: 43px; }
	h1 { font-size: 43px; }
	.flex-box { display: block;}
	.flex-2 .flex-child, .flex-3 .flex-child, .flex-4 .flex-child, .flex-30, .flex-70 { width:100%; margin: 0; }
	
	header { position:fixed; width:100%; }
	header, .main-menu-ul { display: block;}
	.logo { margin: 10px; position: relative; z-index: 999; box-shadow: none; padding: 0; }
	.main-menu-wrapper { display: none; width: 100%; background-color: #fff; z-index: 999; padding: 0; }
	
	.main-link { font-weight: 700; padding: 25px 10px;}
	.sub-link-ul { position:relative; transform:none; opacity:1; margin:0 auto; text-align:center; top:0;  }
	.sub-link { text-align: center;}
	.main-menu-icon { display: block;}
	.main-menu-ul li { border-top: solid 1px #ddd;}
	.main-dd-parent.active .main-link { color: #f00;}
	
	footer .wrapper-1200 { display: block; text-align: center;}
	.social-icons { margin: 30px auto;}
	
	h1 { font-size:42px;}
	h2 { font-size:36px;}
	h3 { font-size:32px;}
	h4 { font-size:28px;}
	h5 { font-size:24px;}
	h6 { font-size:20px;}
	
	.main-banner-text { width:100%; text-align:center; }
	.main-banner-img { max-width: 100%; }
	.owl-dots { position: relative; bottom: 0; left: 0; transform: none; text-align: center; }
	.home-prod-nav a { padding: 10px 10px; width: 100%; display: block; }
	.sub-link-ul { visibility: visible; width:100%; }
	.sub-link { padding: 15px 5px; }
	.about-banner { position: static; background-position: center top; min-height: 540px; }
	.prod-box { max-width:100%; }
	.text-box { width:85%; margin: 0 auto;}
	
	.mid-padding-tb { padding:40px 20px;}
	.practice-list li { width:100%; margin:20px 0 0 0; display:block; }
	.disclaimer { display: block; padding: 20px 0;}
	.privacy-policy { text-align: left;}
	footer .block-66 { margin:0 auto 50px; width: 90%; }
}
@media screen and (max-width:720px){
	.banner-text { position: relative; display: block; width: 100%; text-align: center; left: 0; padding: 10px 0 30px; overflow: hidden; background-color: #dc2e24; }
	.banner-text h2 { font-size: 10vw; }
	.sep-line { margin: 10px auto; }
	.video-container { height: 60vh; }
	.cover-video { min-width: 100%; min-height: 60vh; height: 100%;}
	.extra-padding-tb { padding: 8% 5%; }
}