* { margin: 0; padding: 0; box-sizing: border-box; font-size:16px; line-height:1.5; }
:root {
                --dark-grey: #333333;
                --medium-grey: #636363;
                --light-grey: #eeeeee;
                --ash: #f4f4f4;
                --offwhite: #F9F9F9;
                --logo-blue: #21264D;
                --logo-blue2: #2E356B;
                --logo-red:#B4000F;
                --shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}
html { scroll-behavior: smooth; }
body { font-family: "Open Sans", sans-serif; }
img {  width: 100%;}
p { margin:0 0 1rem;}
a { text-decoration: none; color:inherit; }
ul.nodot { list-style-type: none; }

.text-red { color:red; }
.text-logored { color:var(--logo-red); }
.centerit { margin:0 auto; text-align:center; display:flex; justify-content:center; }
.ulit { text-decoration: underline; }
.boldit { font-weight:bolder; }
.bordertest1 { border:1px solid red; }
.bordertest2 { border:1px solid yellow; }
.bordertest3 { border:1px solid green; }
.bordertest4 { border:1px solid blue; }

.container { max-width:1300px; margin:0 auto; }
@media (max-width: 1300px) {
    .container { max-width: 1000px; }
}
@media (max-width: 767px) {
}
@media (max-width: 479px) {
}

/********************************/
/*    HEADER NAVIGATION        */
/*******************************/
.wrap-nav
    { background:url("img/shutterstock-columns1-temp.png") no-repeat; background-size: cover; background-position: center 65%;
    position:relative;  }
.wrap-navtop
    { display:flex; justify-content: space-between; align-items:center; background: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 100%);
     padding:.3rem 5rem; }
.nav-logo
    { width:433px; }
.cta-btn1
    { background:var(--logo-red); color:white; font-weight:bolder; padding:.5rem 1.5rem; border-radius:15px; border:1px solid white;
     cursor:pointer; letter-spacing: .05rem; text-align:center; }
.cta-btn1:hover
    {  background:var(--logo-blue); color:white; }
.cta-btn2
    { background:var(--logo-blue); color:white; font-weight:bolder; padding:.5rem 1.5rem; border-radius:15px; border:1px solid white;
     cursor:pointer; letter-spacing: .05rem; text-align:center; }
.cta-btn2:hover
    {  background:var(--logo-red); color:white; }
#navbar
    { width:100%; transition:all 1s;  }
.nav
    { width:100%; transition:all 1s; width:100%; padding:0 1rem; background: rgba(0, 0, 46, 0.7); position:relative;  display:flex;
    justify-content:center; align-items:center;   /*box-shadow: 0px 5px 10px 0px #aaa;*/  }
.nav .nav-title img
    { max-width:100%; }
.nav > .nav-btn
    { display:none; }
.nav > .nav-links
    { display:flex; justify-content:center; align-items:flex-end; gap:1.5rem; text-align:center;  }
.nav > .nav-links > a
    { font-size:1.1rem; max-width:180px; color:white; font-weight:bold; margin:0; position:relative; padding:0;
    font-weight:900; border:5px solid transparent; transition:all 0.2s ease-in-out;  }
.nav > .nav-links > a::after
    { content: ""; position:absolute; top:calc(100% + -4px); left:-5px; width:100%; height:0px; border-top: 8px solid #FF200A;
      border-left: 8px solid transparent; border-right: 8px solid transparent; /*z-index: -1;*/ transition: all 0.2s ease-in-out; opacity:0;  }
.nav > .nav-links > a:hover
    { cursor: pointer; }
.nav > .nav-links > a:hover::after
    {  top: calc(100% + 5px); opacity:1;}
.nav > #nav-check
    { display: none;  }

@media (max-width:900px) {
    #navbar { position:relative!important; top:0!important;  box-shadow: 0px 5px 10px 0px #aaa; }
    .nav { padding:0 .3rem; background: rgba(0, 0, 46, 0.7); z-index:100; }
    .nav > .nav-btn { display:inline-block;   }
    .nav > .nav-btn > label { display:inline-block; width:50px; height:50px; padding:13px 12px;   }
    .nav > .nav-btn > label:hover,
    .nav  #nav-check:checked ~ .nav-btn > label {        }
    .nav > .nav-btn > label > span { display:block; width:25px; height:10px; border-top:3px solid white;    }
    .nav > .nav-links { position:absolute; display:block; width:100%; background:var(--logo-blue); height:0px; transition:all 0.3s ease-in; overflow-y:hidden; top:50px; left:0px;   }
    .nav > .nav-links > a { display:block; max-width:100%; width:100%; text-align:center; font-size:1.5rem; margin:1rem 0; border-bottom:1px solid #D4D4D4;  }
    .nav > .nav-links a.contact-btn { margin:1rem auto; width:200px;  }
    .nav > #nav-check:not(:checked) ~ .nav-links { height: 0px;   }
    .nav > #nav-check:checked ~ .nav-links { height:100vh; padding:.5rem 0; overflow-y: auto;     }
    .nav-btn .line { display:block; height:4px; width:100%;  }
    .nav-btn .line1 { transition: transform 0.4s ease-in-out;    }
    .nav-btn .line2 { transition: transform 0.2s ease-in-out;    }
    .nav-btn .line3 { transition: transform 0.4s ease-in-out;    }
    input[type="checkbox"]:checked ~ .nav-btn .line1 { transform: rotatez(-45deg) translate(0, 10px); }
    input[type="checkbox"]:checked ~ .nav-btn .line2 { transform: scaleY(0);      }
    input[type="checkbox"]:checked ~ .nav-btn .line3 { transform: rotatez(45deg) translate(-7px, -10px) }
}
@media (max-width:1200px) {
    .wrap-navtop { padding:.3rem 2rem; }
}
@media (max-width:750px) {
    .cta-btn1 {  display:none; }
}
/**********************************************/
/*  ALL PAGES
/**********************************************/
h1
    { position: relative; padding: 0; margin: 0; font-weight: 300; font-size: 40px; color: #080808;
            -webkit-transition: all 0.4s ease 0s; -o-transition: all 0.4s ease 0s; transition: all 0.4s ease 0s; }
h1 span
    { display:block; font-size:0.5em; line-height: 1.3; }
h1 em
    { font-style: normal; font-weight: 600; }
.wrap-title h1
    { font-weight:700;  letter-spacing:1px; text-transform:uppercase; width:80%; text-align:center; margin:auto; white-space:nowrap;
        padding-bottom:13px; }
.wrap-title h1:before
    { background-color: #c50000; content: ''; display: block; height: 3px; width: 35%; margin-bottom: 5px;}
.wrap-title h1:after
    { background-color:#c50000; content:''; display:block; position:absolute; right:0; bottom:0; height:3px; width:35%; margin-bottom: 0.25em; }
h1.sectitle
    { background-color:#002060; background-image:none; background-repeat:repeat; font-size:2rem; text-align:center; font-weight:bold; text-transform:       uppercase; font-weight:800; -webkit-background-clip:text; -webkit-text-fill-color:transparent; -webkit-font-smoothing: antialiased;  }
.pad2
    { padding:0 2rem; }
/**********************************************/
/*  LANDING PAGE MAIN TITLE
/**********************************************/
.page-wrap-landing {width:100%; background:transparent;  }
.wrap-maintitle
    { position:relative; padding:2rem 0; }
.maintitle
    { display:flex; justify-content:space-between; align-items:center; gap:2rem;  }
.maintitle-heading
    { max-width:50%; }
.bluebold
    { font-size:20px; font-weight:bolder; color:#0000E6; text-align:left; line-height:1.1; padding:0 1rem; }
.maintitle-txt
    { font-size:18px; font-weight:normal; color:#002060; text-align:left; line-height:1.1; padding:0 1rem;}
.maintitle-txt a
   { color:#0000E6;  }
.maintitle-txt a:hover
   { color:#002060;  }

.maintitle-img
    { max-width:50%; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2); margin:0 0 1rem 0;  }
.maintitle-img:hover
    { box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2); }
.signature p {
   font-family:"WindSong", cursive; font-size:2.3rem; text-align:left; }

@media (max-width: 750px) {
    .wrap-maintitle { margin:0 auto;  }
    .maintitle { width:100%; flex-direction:column; justify-content:center;  }
    .maintitle-heading { max-width:100%; }
    .bluebold { font-size:20px; text-align:center; padding:0 2rem 0;  }
    .maintitle-txt { max-width:100%; text-align:center; padding:0 2rem;  }
    .maintitle-img { max-width:90%; }
}
/**********************************************/
/*  LANDING PAGE ROW OF PICS
/**********************************************/
.wrap-fedpics
    { background:var(--logo-blue); margin:0;  }
.fedpics
    { display:flex; padding:1.5rem 0;   }
.fedpic
    { padding:.3rem 4rem 0; flex:1; }
.fedpic img
    { border:3px solid white; }

@media (max-width: 1700px) {
    .fedpic { padding:.3rem 3rem 0; flex:1; }
}
@media (max-width: 1500px) {
    .fedpic { padding:.3rem 1.7rem 0; flex:1; }
}
@media (max-width: 1200px) {
    .fedpic { padding:.3rem 1rem 0; flex:1; }
}
@media (max-width: 750px) {
    .fedpics { flex-direction:column; padding:1rem 2rem;    }
    .fedpic { padding:1rem 2rem;   }
}
/**********************************************/
/*  LANDING PAGE BANNER TEXT
/**********************************************/
.wrap-banner
    { background:var(--logo-red); padding:1rem 0; margin:0; border-top:5px solid var(--logo-red); }
.banner
    { font-size:26px; font-weight:bolder; color:white; max-width:800px; padding:0 1rem; text-align:center; margin:0 auto; }
/**********************************************/
/*  LANDING PAGE BOTTOM TEXT
/**********************************************/
.wrap-landing-bot
    { background: #f5f5f5; padding:3rem 0; margin-top:-10px; }
.cert-col
    { display:flex; flex-direction:column; justify-content:flex-start; align-items:center; }
.wrap-landing-bot .certs img
    { max-width:200px; }
/**********************************************/
/*  ABOUT PAGE
/**********************************************/
.page-wrap-about
    { background: #f4f4f4;  }
.wrap-about
    { padding:0 0 4rem;}
.wrap-row
    { width:100%; margin:0 auto; padding:1rem; display:flex;  }
.aboutimg
    { padding:0 2rem; flex:1; margin:0 auto;}
.abouttxt
    { padding:0 2rem; flex:3; }
.aboutimg img
    { border-radius: 10%; border:3px solid rgba(0, 0, 46, 0.8);  }
.certs
    { padding:.3rem 1rem 0; flex:1;  }
.contact-link { color:red; cursor:pointer; }
.contact-link:hover { color:var(--logo-blue); }
@media (max-width: 750px) {
    .wrap-title h1 { white-space: normal;}
    .wrap-row { flex-direction:column;     }
    .abouttxt { padding:1rem 2rem 2rem;     }
    .certs { padding:1rem 2rem;   }
}
/***************************************************/
/*   CURRENT SERVICES PAGE
/**************************************************/
.page-wrap-cur-services
    { background: #f4f4f4; padding:0 0 4rem; }
.wrap-cur-services
    { display:grid; place-items:center;  }
.wrap-freeval
    { max-width:400px;  }
.cur-service-row
    {  display:flex;  flex-wrap:wrap;  }
.cur-service-column
    { width:100%; padding:0 1em 1em 1em; text-align:center;  }
/*.service-card
        { width: 100%; height: 100%; padding: 2em 1.5em; background: linear-gradient(#ffffff 50%, var(--logo-blue) 50%); background-size: 100% 200%;
            background-position: 0 2.5%; border-radius: 5px; box-shadow: 0 0 35px rgba(0, 0, 0, 0.12); cursor: pointer; transition: 0.5s; } */
.cur-service-card
    { width: 100%; height: 100%; padding: 2em 1.5em; background: linear-gradient(var(--logo-blue) 50%, #ffffff 50% ); background-size:100% 200%;
      background-position: 0 97.5%; border-radius: 5px; box-shadow: 0 0 35px rgba(0, 0, 0, 0.12); transition: 1s; text-align:left; }
.cur-service-column:nth-child(2) .cur-service-card
    { width: 100%; height: 100%; padding: 2em 1.5em; background: linear-gradient(var(--logo-red) 50%, #ffffff 50% ); background-size: 100% 200%;
      background-position: 0 97.5%; border-radius: 5px; box-shadow: 0 0 35px rgba(0, 0, 0, 0.12); transition: 1s; }
.cur-service-card:hover
    {  background-position: 0 0;  }
.cur-service-column:nth-child(2) .cur-service-card:hover
    {  background-position: 0 0;  }
.cur-service-card h3
    { text-align:center; }
.icon-wrapper
    { background-color:var(--logo-blue); position:relative; margin:auto; font-size:30px; height:2.5em; width:2.5em; color:#ffffff; border-radius:50%;
     display:grid; place-items:center; transition:0.5s; }
.cur-service-card a { color:#20B2AA; font-weight:bolder; }
.cur-service-card a:hover { color:yellow; }
.cur-service-card:hover .icon-wrapper { background-color: #ffffff; color:var(--logo-blue); }
.cur-service-column:nth-child(2) .cur-service-card:hover .icon-wrapper { background-color: #ffffff; color:var(--logo-red); }
.cur-service-card:hover h3
    {  color: #ffffff;   }
.cur-service-card:hover p
    {  color: #f0f0f0;  }
@media screen and (min-width: 768px) {
    .cur-wrap-services { padding: 0 2em;     }
    .cur-service-column { flex:0 50%;  max-width:50%;      }
}
@media screen and (min-width: 992px) {
    .cur-wrap-services { padding: 1em 3em;    }
    .cur-service-column { flex: 0 0 33.33%; max-width: 33.33%;  }
}
/***************************************************/
/*   NEW SERVICES PAGE
/**************************************************/
.page-wrap-new-services
    { background: #f4f4f4; padding:0 0 4rem; }
.wrap-new-services
    { display:grid; margin:0 auto;  }
.wrap-new-services ol > li,
.wrap-new-services ul > li {
    margin-left: 40px;
}
.new-service-row
    {  display:flex;   }
.new-service-row img
    { max-height:250px; width:auto;}
.new-service-text
    { min-width:280px; }
.text-title
    { font-size: 1.5rem; color:var(--logo-blue); font-weight:bold; }
.new-service-card:nth-child(odd)
    { width:100%; height:100%; padding:1em 1.5em; background:white; border-radius:5px; border-top:10px solid var(--logo-blue); box-shadow: 0 0 35px rgba(0, 0, 0, 0.12); }
.new-service-card:nth-child(even)
    {  width:100%; height:100%; padding:1em 1.5em; background:white; border-radius:5px; border-top:10px solid var(--logo-red); box-shadow: 0 0 35px rgba(0, 0, 0, 0.12); margin:1.5rem 0; }
.wrap-new-services a { color:#20B2AA; font-weight:bolder; }
.wrap-new-services a:hover { color:red; }

.new-service-card-hor:nth-child(odd)
    { width:100%; padding:1em 1.5em; background:white; border-radius:5px; border-top:10px solid var(--logo-blue); box-shadow: 0 0 35px rgba(0, 0, 0, 0.12); }
.new-service-card-hor:nth-child(even)
    {  width:100%; padding:1em 1.5em; background:white; border-radius:5px; border-top:10px solid var(--logo-red); box-shadow: 0 0 35px rgba(0, 0, 0, 0.12); margin:1.5rem 0; }

@media screen and (min-width: 768px) {
   .new-wrap-services { padding: 0 2em;     }
}
@media screen and (min-width: 992px) {
    .new-wrap-services { padding: 1em 3em;    }
}
.new-service-card ol,
.new-service-card ul {
    margin-bottom: 20px;
}
.new-service-card ol > li,
.new-service-card ul > li {
    margin-left: 40px;
}

.new-service-card ul.checkmark {
  list-style: none;
}

.new-service-card ul.checkmark li:before {
  content:"\2713\0020";
}
/***************************************************/
/*  CONTACT PAGE
/**************************************************/
.page-wrap-contact
    { background: url(img/whitesky4a.jpg) no-repeat; background-size:cover; padding:0 0 5rem;  }
.wrap-contact
    { margin:0 auto; }
.form { width:100%; margin:0 auto; max-width:820px; background-color:#fff; border-radius:10px; box-shadow:0 0 20px 1px rgba(0, 0, 0, 0.1);
    z-index:1000; overflow:hidden; display:grid; grid-template-columns:repeat(2, 1fr); }
.contact-form
    { background-color:#C2C2C2; position: relative;  }
.contact-form:before
    { content:""; position:absolute; width:26px; height:26px; background-color:#C2C2C2; transform:rotate(45deg); top:50px; left:-13px; }
form
    { padding: 2.3rem 2.2rem; z-index: 10; overflow: hidden; position: relative; }
.title
    { color:var(--logo-red); font-weight:bolder; font-size: 1.5rem; line-height: 1; margin-bottom: 0.7rem; }
.input-container
    { position: relative; margin: 1rem 0; }
.input
    { width:100%; outline:none; border:1px solid black; background:none; padding:0.6rem 1.2rem; color:black; font-weight:500; font-size:0.95rem; letter-spacing:0.5px; border-radius:5px; transition:0.3s;  }
textarea.input
    { padding:0.8rem 1.2rem; min-height:150px; border-radius:5px; resize:none; overflow-y:auto; }
.input-container label
    { position:absolute; top:50%; left:15px; transform:translateY(-50%); padding:0 0.4rem; color:black; font-size:0.9rem; font-weight:400;
      pointer-events:none; z-index:1000; transition:0.5s; }
.input-container.textarea label
    { top:1rem;  transform:translateY(0);   }
.contact-btn
    { padding:0.6rem 1.3rem; font-size:0.95rem; line-height:1; background-color:var(--logo-blue); color: #fff; border:1px solid black;
    border-radius:5px; outline:none; cursor:pointer; transition:0.3s; margin:0; width:100%; }
.contact-btn:hover
    { background-color:#fff; color:var(--logo-red);  }
.input-container span
    { position:absolute; top:0; left:25px; transform:translateY(-50%); font-size:0.8rem; padding:0 0.4rem; color:transparent; pointer-events:none;
      z-index: 500; }
.input-container span:before,
.input-container span:after
    { content:""; position:absolute; width:10%; opacity:0; transition:0.3s; height:5px; background-color:#C2C2C2; top:50%;
    transform: translateY(-50%);   }
.input-container span:before
    { left: 50%; }
.input-container span:after
    {  right: 50%; }
.input-container.focus label
    { top: 0; transform: translateY(-50%); left: 25px; font-size: 0.8rem; }
.input-container.focus span:before,
.input-container.focus span:after
    { width: 50%; opacity: 1;  }
.contact-info
    { padding: 2.3rem 2.2rem; position: relative;  }
.contact-info .title
    {  color: var(--logo-red); font-weight:bolder; font-size: 1.5rem; line-height: 1; }
.text
    { color: #333; margin: 1.5rem 0 2rem 0; }
.information
    {  display: flex; color:var(--logo-blue); margin: 0.7rem 0; align-items:flex-start; font-size: 0.95rem;  }
.information i
    { color: var(--logo-blue); margin: .2rem 0; }
.icon
    { width: 28px; margin-right: 0.7rem;  }
.social-media
    { padding: 2rem 0 0 0;  }
.social-media p
    {  color: #333; }
.social-icons
    {  display: flex; margin-top: 0.5rem; }
.social-icons a
    { width:35px; height:35px; border-radius:5px; background:linear-gradient(45deg, var(--logo-red), #191970); color:#fff; text-align:center;
    line-height: 35px; margin-right:0.5rem; transition:0.3s;  }
.social-icons a:hover
    { transform: scale(1.05); }
.contact-info:before
    { content:""; position:absolute; width:110px; height:100px; border:22px solid var(--logo-blue); border-radius:50%; bottom:-77px; right:50px;
     opacity:0;}
.sendmsg { color:var(--logo-blue)!important; font-weight:bolder; }
.square
    { position: absolute; height: 400px; top: 50%; left: 50%; transform: translate(181%, 11%); opacity: 0.2;  }

@media (max-width: 850px) {
    .form { grid-template-columns: 1fr;    }
    .contact-info:before { bottom: initial; top: -75px; right: 65px; transform: scale(0.95); }
    .contact-form:before { top: -13px; left: initial; right: 70px;      }
    .square { transform: translate(140%, 43%); height: 350px;      }
    .big-circle { bottom: 75%; transform: scale(0.9) translate(-40%, 30%); right: 50%;     }
    .text { margin: 1rem 0 1.5rem 0;     }
    .social-media { padding: 1.5rem 0 0 0;     }
}

@media (max-width: 480px) {
    .contact-info:before { display: none;  }
    .square,
    .big-circle {  display: none;     }
    form,
    .contact-info { padding: 1.7rem 1.6rem;     }
    .text,
    .information,
    .social-media p { font-size: 0.8rem;     }
    .title { font-size: 1.15rem;     }
    .social-icons a { width: 30px; height: 30px; line-height: 30px;   }
    .icon { width: 23px;     }
    .input { padding: 0.45rem 1.2rem;  }
    .contact-btn { padding: 0.45rem 1.2rem;  }
}

.wrap-privacy
    { display:grid; place-items:left;  }

/****************************************************/
/*  FOOTER
/****************************************************/
footer
    { width:100%; background: rgba(0, 0, 46, 0.8); color:white; display:flex; margin:0; padding:2rem; border-top:5px solid var(--logo-red);  }
footer .wrap-row
    { max-width:100%; justify-content:space-between; align-items:center; }
footer .col1
    { flex:1; padding:0 1rem; text-align:center; max-width:300px; }
footer .col2
    { flex:1; padding:0 1rem; text-align:center; max-width:325px; }
.contacticons
    { padding:1rem; 0; }
.contacticons i
    { margin-right:5px; }
.socialicons
    { display:flex; width:100%; padding:.5rem 0;  }
.socialicons a, .contacticons a
    { flex:1; color:white; text-align:center;  }
.socialicons a:hover, .contacticons a:hover
    { color:red; }
.socialicons i
    { margin:0; }
.copyright
    { width:100%; background:black; color:white; text-align:center; padding:1rem;}
.copyright a
    { text-decoration:none; color:white; display:inline; }
.copyright a:hover
    { color:red; }
