:root {
--primary-color: #047aed;
--secondary-color: #1c3fa8;
--dark-color: #002240;
--light-color: #f4f4f4;
--success-color: #5cb85c;
--error-color: #d9534f;
}

* {
box-sizing: border-box;
padding: 0;
margin: 0;
}

body {
font-family: 'Lato', sans-serif;
color: #333;
padding: 0;
margin: 0;
/* font-size: calc(15px + 0.390625vw); */
}

#mastCont {
max-width: 1100px;
margin: auto;
padding: 0;
}

.inspHeader {
text-align: center;
padding: 3px 0 5px 0 ;
font-size: 17px;;
}

ul {
list-style-type: none;
}

a {
text-decoration: none;
color: #333;
}

h1, h2 {
width: 550px;
font-weight: 300;
line-height: 1.2;
margin: 0 0 4px 0;
font-size: 31px;
text-align: left;
}

h2 {
font-family: 'Bebas Neue', sans-serif;
color: var(--primary-color);
letter-spacing: .03em;
}

p {
margin: 10px 0;
}

code, pre {
background: #333;
color: #fff;
padding: 10px;
}

.hidden {
visibility: hidden;
height: 0;
}

/* Navbar styling start*/

.navbar {
background-color: var(--primary-color);
color: #fff;
height: 70px;
}

.navbar .flex {
justify-content: space-between;
}

.navbar ul {
display: flex;
font-size: 18px;
}

.navbar a {
color: #fff;
padding: 10px;
margin: 0 5px;
font-size: 1.1rem;
}

.navbar a:hover {
border-bottom: 2px solid #fff;
}

/* Showcase styling start (index page) */

.showcase {
height: 450px;
background-color: var(--primary-color);
color: #fff;
position: relative;
}

.showcase::before,
.showcase::after {
content: '';
position: absolute;
z-index: 1;
height: 120px;
bottom: -30px;
right: 0;
left: 0;
background: #fff;
transform: skewY(-3deg);
-webkit-transform: skewY(-3deg);
-moz-transform: skewY(-3deg);
-ms-transform: skewY(-3deg);
}

.showcase-text {
margin-left: 20px;
position: relative;
z-index: 1000;
}

.showcase h1 {
font-size: 34px;
color: #ffffa5;
font-weight: bold;
margin-top: 10px;
}

.showcase h2 {
margin-top: 10px;
}

.showcase-text p {
margin: 20px 0;
font-size: 18px;
line-height: 1.7rem;
}

.showcase img {
width: 50%;
margin-top: 7px;
}

/* .flex-container1 {
width: 200px;
height: auto;
position: relative;
margin-top: -120px;
margin-left: 328px;
padding: 0;
} */

.flex-container1 {
display: flex;
width: 200px;
height: 200px;
position: relative;
flex-direction: column;
justify-content: center;
align-items: center;
margin: 0;
padding: 0;
top: -225px;
left: 325px;
pointer-events: auto;
}

.flex-container1 #pdfIcon {
width: 56px;
padding: 0;
margin-bottom: 15px;
}

.flex-container1 #pdfIcon:hover {
transform: scale(0.98);
}

.btn {
display: inline-block;
padding: 10px 30px;
cursor: pointer;
background: #ffffa5;
color: var(--primary-color);
border: none;
border-radius: 5px;
}

.btn-outline {
/* background-color: transparent; */
border: 1px solid #fff;
}

.btn:hover {
transform: scale(0.98);
}

.showcase .grid {
grid-template-columns: 55% 45%;
overflow: visible;
}

.showcase-form {
position: relative;
top: 60px;
height: 350px;
width: 400px;
padding: 40px;
z-index: 100;
}

/* Utilities */

.container {
max-width: 1100px;
margin: 0 auto;
overflow: auto;
padding: 0 45px;
}

.card {
height: 435px;
position: relative;
background-color: #ffffa5;
color: #333;
border-radius: 10px;
box-shadow: 0 3px 10px rgba(0,0,0,0.2);
padding: 20px 30px 0px 30px;
margin-top: -46px;
line-height: 1.6rem;
}

.card p {
margin-bottom: 0px;
}

.flex {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
background-color: var(--primary-color);
}

.grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
justify-content: center;
justify-items: center;
height: 100%;
}

.grid-3 {
grid-template-columns: repeat(3, 1fr);
}

.text-center {
text-align: center;
}

.my-4 {
margin: 2rem 0;
}

.spaceAbove {
margin-top: 15px;
}

/* Stats styling start */

.stats {
padding-top: 28px;
}

.stats h3 {
width: 100%;
position: relative;
font-size: 28px;
line-height: 36px;
text-align: center;
padding: 0 0 5px 0;
color: var(--primary-color);
background-color: #fff;
}

.stats p {
color: #333;
margin-top: -3px;
}

.stats h4 {
font-size: 25px;
color: #ff0000;
margin-top: 0px;
text-align: center;
line-height: 36px;
}

.stats h5 {
font-size: 24px;
margin-top: 0px;
text-align: center;
}

.stats i {
margin-top: -15px;
}

#searchText {
width: 100%;
height: auto;
text-align: center;
font-size: 22px;
margin-bottom: -10px;
}

.grid-container {
display: grid;
grid-template-columns: auto auto auto;
background-color: #2196F3;
padding: 0px;
margin-top: 25px;
grid-template-rows: repeat(7, 1fr);
}

/* Grid border management */

.grid-container div:nth-child(1n) {
border-right: 1px solid #047aed;
border-left: none;
border-top: none;
border-bottom: 1px solid #047aed;
}

.grid-container div:nth-child(3n) {
border-right: none;
}

.grid-container div:nth-last-child( -n+3) {
border-bottom: none;
}

/* End grid border management */

.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 4px 0 5px 0;
font-size: 1.1rem;
text-align: center;
}

.grid-item:nth-child(-n+3) {
font-size: 1.2rem;
font-weight: 600;
}

#underTable {
width: 100%;
text-align: center;
padding-top: 15px;
display: none;
}

/* Cloud styling start */

.cloud {
background-color: var(--primary-color);
position: relative;
margin-top: 15px;
}

.cloud .grid {
grid-template-columns: 4fr 3fr;
grid-row-gap: 0;
}

#lawsuitPhoto {
width: 90%;
margin: 20px 0;
}

#suitPhotoText {
position: relative;
font-size: 16px;
margin-top: 40px;
padding: 15px 25px 0 15px;
line-height: 1.7rem;
color: white;
}

.cloud a {
width: 55px;
height: 68px;
margin-top: -294px;
margin-left: 400px;
z-index: 90000;
}

#cdphBrochure {
font-size: 24px;
text-align: center;
margin-top:15px;
margin-bottom: 10px;
color: red;
}

/* Footer Styling Start */

.grid-4 {
grid-template-columns: repeat(4, 1fr);
align-items: center;
padding: 20px 0;
}

.footer {
height: auto;
background-color: var(--secondary-color);
color: white;
}

.footer h1 {
height: auto;
padding-left: 40px;
}

.footer a {
color: #fff;
line-height: 1.7rem;
}

.footer ul {
margin-top: -3px;
}

.social i {
padding: 0px;
margin: 10px;
}

.social p {
margin-top: -3px;
margin-left: 33px;
font-size: 15px
}

/* Details Page */

.aptPhoto {
width: 730px;
height: auto;
position: absolute;
z-index: 30000;
top: 0px;
left: 650px;
}

.features-head {
background-color: var(--primary-color);
color: #fff;
padding-left: 60px;
padding-bottom: 15px;
}

.features-head h1 {
color: #ffffa5;
font-weight: bold;
text-align: left;
display: none;
}

.features-head p {
width: 600px;
font-size: 18px;
display: none;
}

.headLeft {
position: relative;
}

.headLeft a {
width: auto;
height: auto;
position: absolute;
top: 20px;
left: 700px;
}

.headLeft p {
line-height: 24px;
}

p.moldTestLinkText {
width: 200px;
height: auto;
position: absolute;
top: 35px;
left: 770px;
display: inline
}

/* Middle sections */

.midCont {
flex-direction: row;
flex: 0 0 1100px;

justify-content: start;
align-items: stretch;
margin-top: 0px;
background-color: #ddd;
position: relative;
display: flex;
}

.midCont:first-child {
margin-top: 45px;
z-index: 20000;
}

.midCont:last-child {
margin-bottom: 25px;
}

.midCont p {
padding: 0px 35px 10px 45px;
font-size: 14px;
line-height: 26px;
flex: 0 0 500px;
}

.midCont img {
height: auto;
width: 350px;
}

.wrap {
flex: 0 0 700px;
height: auto;
}

.wrap h1 {
font-family: "Bebas Neue";
color: var(--primary-color);
letter-spacing: .03em;
margin-top: 20px;
margin-left: 45px;
padding: 0;
} 

div.whatWeRec {
text-align: left;
margin-top: 15px;
font-size: 18px;
line-height: 27px;
padding: 0 55px;
}

#qr {
margin-top: 15px;
}

.advice {
width: 100%;
height: auto;
font-size: 22px;
color: white;
text-align: center;
background-color: red;
margin-top: 30px;
padding: 6px 0 9px 0;
}

.homeowners {
width: 1010px;
height: auto;
position: relative;
z-index: 99999;
font-family: arial;
font-weight: 400;
font-size: 22px;
text-align: center;
margin-top: 9px;
margin-bottom: 12px;;
color: blue;
}

.homeowners a:visited {
color: blue;    
}

/* Tablets and under */

@media (max-width: 400px) {

.grid,
.container .grid,
.showcase .grid,
.stats .grid,
.cloud .grid,
.midCont {
grid-template-columns: 1fr;
grid-template-rows: 1fr;
width: 100%;
}

.container {
width: 100%;
margin: 0 auto;
overflow: auto;
padding: 0px;
}

.container .flex {
flex-direction: column;
grid-template-columns: 1fr;
grid-template-rows: 1fr;
}

.flex {
flex-direction: column;
}

#qr {
display: none;
}

.navbar {
height: 130px;
padding-bottom: 0px;
}

.navbar ul {
font-size: 1.3rem;
padding: 10px 25px 15px 25px;
background-color: rgba(0,0,0,0.1);
}

.navbar h1 {
font-size: 2.3rem;
font-weight: 400;
margin-top: 23px;
margin-bottom: 10px;
color: #ffffa5;
}

.showcase-text {
width: 100%;
text-align: center;
padding: 0 0;
margin: 0;
}

.showcase-text h1 {
width: 100%;
margin-top: 18px;
padding: 0 3rem;
line-height: 39px;
font-size: 2rem;
}

.showcase-text p {
width: 100%;
height: auto;
font-size: 1.2rem;
line-height: 26px;
padding: 0 3.2rem;
margin-top: 13px;
}

.showcase-text .btn {
position: relative;
width: 120px;
padding: 10px 15px;
top: -40px;
left: 0px;
cursor: pointer;
background-color: #ffffa5;
color: var(--primary-color);
border: none;
border-radius: 5px;
font-weight: 400;
z-index: 99999;
}

.showcase-text img {
max-width: 100%;
margin-top: 0px;
}

.card {
width: 100%;
height: auto;
background-color: #ffffa5;
color: #333;
margin-top: 8px;
line-height: 1.6rem;
border-radius: none;
box-shadow: none;
position: relative;
}

.showcase-form {
position: relative;
margin-top: -55px;
}

.showcase-form .card {
margin-top: 0;
position: relative;
}

.showcase-form p {
font-size: 1.2rem;
padding: 0 0 25px 5px;
text-align: center;
}

.stats h3 {
width: 100%;
font-size: 1.3rem;
line-height: 26px;
text-align: center;
position: relative;
margin-top: 750px;
padding: 0 34px;
color: #333;
}

.flex-container1 {
display: flex;
width: 200px;
height: 150px;
position: relative;
flex-direction: column;
justify-content: center;
align-items: center;
margin: auto;
padding: 0;
top: -85px;
left: 0px;
pointer-events: auto;
}

.flex-container1 #pdfIcon {
width: 56px;
padding: 0;
margin-top: 220px;
margin-bottom: 10px;
}

.flex-container1 .btn {
width: 150px;
display: inline-block;
padding: 10px 30px;
margin-top: 50px;
cursor: pointer;
background-color: var(--primary-color);
color: #fff;
border-radius: 5px;
}

.btn-outline {
display: none;
}

.stats h4 {
font-size: 20px;
color: #ff0000;
margin-top: 0px;
margin-bottom: -5px;
text-align: center;
padding: 0 35px;
line-height: 26px;
position: relative;
}

.stats h5 {
font-size: 20px;
margin-top: 10px;
margin-bottom: 10px;
text-align: center;
padding: 0 35px;
line-height: 26px;
}

#cdphBrochure {
font-size: 1.2rem;
font-weight: bold;
padding: 0 35px;
}

.container .grid-container {
width: 100%;
position: relative;
background-color: var(--primary-color);
margin-top: 23px;
}

.grid-item {
font-size: .9rem;
}

#lawsuitPhoto {
max-width: 100%;
position: relative;
margin: 0px 0;
}

#suitPhotoText {
font-size: 1.1rem;
margin-top: 40px;
padding: 12px 25px 25px 30px;
line-height: 1.7rem;
color: white;
display: block;
}

.cloud a {
position: absolute;
margin: auto;
top:300px;
left: 50px;
z-index: 99999;
}

.footer h1 {
width: 100%;
height: auto;
padding: 20px 0 0 0;
}

.footer ul {
font-size: 1.4em;
margin-top: -5px;
}

.footer ul li {
padding: 10px;
}

.social {
padding-bottom: 25px;
};

/* Details page */

.midCont {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr;
gap: 0;
justify-content: center;
align-items: start;
margin-top: 0px;
background-color: #ddd;
position: relative;
}

.botCont {
position: relative;
margin-top: 800px;
height: auto;
}

.midCont:last-child {
margin-bottom: 25px;
}

.midCont img {
max-width: 100%;
margin: auto;
}



.midCont p {
padding: 0px 35px 10px 35px;
font-size: 1.2rem;
line-height: 26px;
}

.inspHeader {
text-align: center;
padding: 3px 0 6px 0 ;
font-size: 17px;;
}

.testText {
display: none;
}

.whatWeRec {
text-align: center;
margin-top: 15px;
margin-bottom: 0;
padding: 0 35px;
font-size: 1.3rem;
font-weight: bold;
}

}