/***************************** Initialise *****************************/
/* https://www.joshwcomeau.com/css/custom-css-reset/ */
*, *::before, *::after {box-sizing: border-box;}
* {margin: 0;}

:root { --white-color:#FFFFFF;
        --dkblu-color:#2B0D5B;
        --ltblu-color:#176ED1;
        --bkred-color:#DC7E4A;}
.clr-white {color:var(--white-color);}
.bdr-white {border:solid var(--white-color);}

body {display:grid; place-content:center; grid-template-columns:1fr; place-items:center; margin:0; padding:0; color:var(--dkblu-color); background-color:var(--white-color); font-family:"Playfair Display", sans-serif; font-style:normal; line-height:2; -webkit-font-smoothing: antialiased;}

img, picture, video, canvas, svg {display:block; max-width:100%;}
input, button, textarea, select {font:inherit;}
p, h1, h2, h3, h4, h5, h6 {overflow-wrap:break-word;}
p {margin:0.5em 0;}
a {color:var(--dkblu-color);}

section {padding:2em 0;}
.undrln {text-align:center; padding-bottom:10px; border-bottom:1px dotted; border-color:var(--mdblu-color); margin-bottom:20px;}
p.psmall {text-align:center; font-size:0.8em;}
a.sanserif {font-family:'Open Sans', sans-serif;}
.txtalctr {text-align:center;}

#root, #__next {isolation:isolate;}
.maxwidth {max-width:1100px; width:100%; margin:0 auto;}
.material-symbols-outlined {font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
/**********************************************************************/

/********************************* Top section *********************************/
section.dkblu-flwdth {display:grid; place-content:center; grid-template-columns:1fr; place-items:center; width:100%; background-color:var(--dkblu-color);}
section.white-flwdth {display:grid; place-content:center; grid-template-columns:1fr; place-items:center; max-width:100%; background-color:var(--white-color);}
section.topsection {padding:20px 0;}
div.topcontct {font-family:'Open Sans'; width:100%; display:flex; flex-wrap:nowrap; gap:2em; justify-content:space-between;}
div.toplogo {width:60%;}
div.toplogo a img {max-width:200px; height:auto; display:inline-block;}
div.topcntdtls {text-align:right;}
div.topcntdtls p.topphone a {color:var(--white-color); font-size:1.1em; font-weight:bold; text-decoration:none;}
div.topcntdtls p.topemail a {color:var(--white-color); font-size:1.1em; font-weight:bold;}
div.topcntdtls p.topemail a:hover {text-decoration:none;}
div.topcntdtls img {float:right;}
div.menulink {display:none;}
div.menulink a {max-width:50px !important; width:50px; height:50px;}
nav#menu {transition:all .5s;}
img.facebook:hover, div.menulink:hover {opacity:0.8;}
div.topnav ul.navul {width:100%; display:flex; flex-wrap:nowrap; justify-content:space-between; list-style-type:none; padding:0; margin-top:20px;}
ul.navul li {color:var(--white-color); padding:0 10px; text-align:center; text-transform:uppercase; line-height:140%; border:1px dotted var(--dkblu-color); transition:all .5s;}
ul.navul li a {color:var(--white-color); text-decoration:none; font-size:1.2em;}
ul.navul li:hover {border-top:1px dotted var(--white-color);}
/*******************************************************************************/


/********************************* Home banner image *********************************/
section.homebnrimg {font-family:'Open Sans', sans-serif; background-image:url('../images/home-bgnd.jpg'); background-repeat:no-repeat; background-position:top center; background-size:cover; width:100%; height:400px;}
img.ihtrainer {float:right; margin:0 0 1em 1em !important;}
div.hmslfdrvbtn {display:inline-block; padding:1em 2em; background-color:#fff; margin:6% auto 0 auto; text-align:center; font-weight:bold; transition:.5s all;}
div.hmslfdrvbtn:hover {transform: scale(1.05);}
div.hmslfdrvbtn a {text-decoration:none;}
p.slfdrvttl {line-height:130%; font-size:1.8em; text-transform:uppercase;}
p.slfdrvcst {background-color:var(--bkred-color); color:#fff; padding:0.25em 0.5em; margin:0;  display:inline-block; line-height:130%; font-size:1.8em;}
p.slfdrvclk {line-height:130%; font-size:1.5em; text-transform:uppercase;}
p.slfdrvclk span {font-size:1.5em; vertical-align:middle; margin-top:-4px;}
/*************************************************************************************/


section.hmtestims {color:var(--white-color); text-align:center;}
div.thetestims {display:flex; flex-direction:row; gap:4em;}
div.thetestims p {margin-top:20px; margin-bottom:20px;}
a.readmore {font-family:'Open Sans', sans-serif; text-transform:uppercase; color:var(--white-color); font-size:1.2em; font-weight:bold; text-decoration:underline;}
a.readmore:hover {text-decoration:none;}
a.readmore span {margin-left:5px; font-size:1.5em; vertical-align:middle;}


section.hmtouch {text-align:center; width:100%;}
section.hmtouch h2 {margin-bottom:20px;}
div.hmtouchmain {margin:0 auto; display:flex; gap:1em; width:100%;}
div.hmtouchleft {display:flex; flex-direction:column; width:50%;}
div.hmtouchright {width:50%;}
input, textarea {padding:8px 16px; margin:0 0 1em 0; border:1px solid var(--ltblu-color); transition:all .5s;}
div.g-recaptcha {margin-top:1em;}
textarea {height:100%; min-height:12em; width:100%;}
input:last-of-type {margin-bottom:0;}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {color:var(--ltblu-color);}
input[type=submit] {text-transform:uppercase; background-color:var(--dkblu-color); color:var(--white-color); font-family:'Open Sans', sans-serif; font-size:1.3em; font-weight:500; padding:1px 0.8em; margin:20px 0 0 0; border:1px solid var(--white-color); cursor:pointer;}
input[type=submit]:hover {background-color:var(--white-color); color:var(--dkblu-color); border:1px solid var(--dkblu-color);}


section.sectftr {color:var(--white-color);}
div.ftflex {display:flex; justify-content:space-between;}
div.ftnav {display:flex;}
div.ftnav ul {list-style-type:none;}
div.ftnav ul li a {color:var(--white-color);}
div.ftnav ul li a:hover {text-decoration:none;}
div.ftcontct {flex-grow:1;}
div.ftcontct p {line-height:140%;}
div.ftcontct p.ftemail a {text-decoration:underline;}
div.ftcontct p.ftemail a:hover {text-decoration:none;}
div.ftcontct a {text-decoration:none; color:var(--white-color);}
div.ftcontct img {float:left; margin:0 1.1em 1em 0; max-width:200px; height:auto;}
div.ftcontct a.ftfbk img {margin-top:1em;}


div.imgbox {display:flex; flex-wrap:wrap; width:100%; margin:0 auto; gap:0.5em; justify-content:center; align-content:center;}
section.introsect a {font-weight:bold;}
section.introsect img {max-height: 50vh; display:inline-block; margin:0 2em 2em 0; max-width:200px; border:1px solid #2B0D5B;}
section.introsect img {transition: box-shadow .5s ease;}
section.introsect img:hover {box-shadow: rgba(0, 0, 0, 0.5) 10px 10px 20px -10px;}
section.introsect p a:hover {opacity:0.85; text-decoration:none;}
section.introsect .lightbox {display:none; position:fixed; z-index:999; top:0; left:0; right:0; bottom:0; padding:1em; background:rgba(0, 0, 0, 0.8);}
section.introsect .lightbox:target {display:block;}
section.introsect .lightbox span {display:block; width:100%; height:100%; max-height:600px; background-position:center; background-repeat:no-repeat; background-size:contain;}

table.sdhtab {text-align:center; margin:2em auto 0 auto; border:1px solid #2B0D5B; font-family:'Open Sans', sans-serif; font-size:1.2em; line-height:120%;}
table.sdhtab tr:first-of-type {color:white; background-color:#2B0D5B;}
table.sdhtab td {padding:0.5em;}
table.sdhtab td.price {font-weight:bold; background-color:#D4CAE5; padding-left:2em; padding-right:2em;}
ul.mainul {margin:2em 0;}


@media (max-width:1140px) {
    section {padding-left:20px !important; padding-right:20px !important;}
    /*ul.navul li a {font-size:1em;}*/
}

@media (max-width:900px) {
    div.topnav {display:none;}
    div.menulink {display:block; margin-top:-50px;}
	div.menulink a {background:center center no-repeat transparent; background-image:url(../images/menu.png); display:block;}
	.mm-panels>.mm-panel:after, .mm-panels>.mm-panel:before {height:0 !important;}
	.mm-panels>.mm-panel>.mm-listview:first-child, .mm-panels>.mm-panel>.mm-navbar+.mm-listview {margin-top:10px !important;}
	.mm-menu {background-color:#2C2C2C !important;}
	.mm-navbar.mm-hasbtns {display:none !important;}
	.mm-menu .mm-listview>li a:not(.mm-next) {color:#FFFFFF !important;}
    div.thetestims {flex-direction:column; gap:0.5em;}
    div.ftflex {flex-direction:column; flex-wrap:wrap; align-content:center;}
    div.ftnav {display:block; margin-top:1em;}
    div.ftnav ul {padding:0; display:inline-block; margin-right:1em;}
    div.ftcontct {width:70%;}
    div.ftcontct img {margin-right:1em; max-width:110px;}
}

@media (max-width:650px) {
    div.topcontct {gap:1em;}
    div.toplogo a img {width:100%;}
    div.hmslfdrvbtn {padding:0.5em 1em;}
    div.hmtouchmain {flex-direction:column;}
    div.hmtouchleft {width:100%;}
    div.hmtouchright {width:100%;}
    input[type=submit] {margin-top:0px;}
    div.ftcontct img {float:none;}
}
