@import url(https://fonts.googleapis.com/css?family=Lexend+Deca:100,200,300,400,500,600,700,800,900);
/* 400 normal, 700 bold */

:root
    {
    --white: #ffffff;
    --black: #000000;
    --blue-light: #e1e4ef;
    --yellow-hover: #f2ac3c;

    --blue: #002048;
    --green: #28C57B;
    --green-hover: #22A86A;
    --yellow: #fee000;
    --orange: #f3ac3c;

    --radius-large: 18px;
    --radius-medium: 12px;
    --radius-small: 6px;
    --shadow-weak: 0 2px 8px rgba(0,0,0,0.05);
    --shadow-strong: 0 6px 15px rgba(0,0,0,0.1)
    --text-dark: #181818;
    }

/* normal = 400, bold = 700 */

body { margin: 0; padding: 0; font-family: 'Lexend Deca',Arial,sans-serif; background: #eee; font-size: 16px; line-height: 1.5; color: var(--text-dark); }

* { box-sizing: border-box; margin: 0; padding: 0; -webkit-appearance: none; }

textarea, input, button {
    font-family: inherit;
    font-weight: inherit;
    font-size: 16px;
    padding: 3px 6px;
    dborder: 1px solid #002048;
    dborder-radius: 4px;
}

strong { font-weight: 700; }

a { color: #000; }

.ctr { text-align: center; }

h1 { font-size: 2.8rem; }
h2 { font-size: 2.0rem; }
h3 { font-size: 1.125rem; }
h4 { font-size: 1.0rem; }

p,h1,h2,h3,h4 { margin-bottom: 15px; }

section
    {
    width: 100%;
    background-color: #fff;
    padding: 0 20px;
    }

footer { background: var(--blue); color: var(--white); text-align: center; padding: 20px 0; }
footer p { font-size: 0.8rem; margin: 3px; }
footer a { color: #fff; text-decoration: none; }
footer a:hover { text-decoration: underline; }

header > div { max-width: 1200px; margin: 0 auto; }

section > div, footer > div
    {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 0;
    }

ul { padding: 0; margin: 0; }


svg { stroke-width: 2.5; }




/* tiles */

ul.tiles { list-style:none; display: flex; flex-wrap: wrap; justify-content: center; gap: 40px; text-align: center; margin: 0 auto 30px auto; box-sizing: border-box; }

ul.tiles li { flex: 0 0 260px; background: #fff; border-radius: var(--radius-large); padding: 20px; transition: transform 0.3s ease, box-shadow 0.3s ease; box-shadow: var(--shadow-weak); }
ul.tiles.two li { flex: 0 0 480px; }

ul.tiles h3 { margin-bottom: 10px; }
ul.tiles p { margin: 0 10px; }
ul.tiles svg { width: 64px; height: 64px; stroke: var(--black); stroke-width: 1.6; padding: 12px; background: var(--blue-light); border-radius: var(--radius-medium); margin-bottom: 10px; }

ul.tiles li:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-strong);
}

div.tiles li { flex: 0 0 250px; }


/* Timeline */

.timeline { position: relative; max-width:1000px; margin:30px auto; padding:40px 20px 1px 20px; }
/* Vertical line */
.timeline::before { content:''; position:absolute; top:0; bottom:0; left:50%; width:3px; background: var(--black); transform:translateX(-50%); z-index:1; }
/* Timeline item wrapper */
.timeline > div { display: flex; justify-content: flex-start; position: relative; margin-bottom:30px; }
/* Alternate sides */
.timeline > div:nth-child(odd) { flex-direction: row; }
.timeline > div:nth-child(even) { flex-direction: row-reverse; }
/* Circle */
.timeline > div::after { content:''; position:absolute; top:25px; left:50%; transform:translateX(-50%); width:24px; height:24px;
  border-radius: 99px; background: var(--green); border:3px solid #fff; box-shadow:0 0 0 3px var(--black); z-index:2;
}
/* Content box */
.timeline > div > div { background:#f4f4f4; padding:20px; border-radius: var(--radius-large); width: 45%; position:relative; z-index:3; transition:0.3s; }

.timeline > div h3 { font-size: 2.125rem; line-height: 2.625rem; color: var(--green); margin-bottom: 5px; }
.timeline > div h4 { font-size: 1.5rem; line-height: 2rem; margin-bottom: 5px; }
.timeline > div p { margin: 0; }

.timeline > div:nth-child(odd) > div { margin-right:40px; text-align: right; }
.timeline > div:nth-child(even) > div { margin-left:40px; text-align: left; }


/* Pricing Plans */
.pricing-grid { margin: 40px 0; display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:30px; justify-items:center; }

.plan { display: flex; flex-direction: column; background:#fff; border-radius:10px; padding:20px; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,0.05); transition:0.3s; width:100%; max-width:280px; }
.plan h3 { font-size:1.3rem; margin:0; color var(--black); }
.plan .price { font-size:2rem; font-weight:700; margin: 20px 0; color: var(--green); }
.plan p { font-size:0.95rem; color:#555555; margin:0; }
.plan ul { list-style:none; margin:20px 0; padding-left:0; }
.plan ul li { margin:10px 0; }
.plan a.button { margin-top: auto; }
.plan:hover { transform:scale(1.05); }

.plan.popular {
  position: relative;
  border: 2px solid var(--blue);
  overflow: hidden;
}

.plan.popular::before {
  content: "MOST POPULAR";
  position: absolute;
  top: 124px;
  right: -55px;
  background: var(--blue);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 5px 80px;
  text-align: center;
  white-space: nowrap;
  transform: rotate(45deg);
  transform-origin: top right;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  z-index: 10;
}



@media (max-width: 400px) {
  .plan.popular::before {
    padding: 4px 60px;
    font-size: 0.65rem;
    right: -40px;
  }
}






/* Feature Comparison Table */
table.feature-comparison { margin: 40px 0; width:100%; border-collapse:collapse; background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,0.05); }
thead { background: var(--blue); color:#fff; }
thead th { padding:20px; text-align:center; font-size:1.1rem; }
tbody td { padding:20px; text-align:center; border-bottom:1px solid #ddd; }
tbody svg { width:24px; height: 24px; }
tbody tr:hover { background:#f1f5f9; }
.check { color:#10b981; font-weight:700; font-size:1.2rem; }
.cross { color:#ef4444; font-weight:700; font-size:1.2rem; }






table { border: 0; border-collapse: collapse; }

td { padding: 6px 3px; }

ul, ol { padding-left: 15px; margin: 10px 0; }

.bg-white { background:#ffffff; color:#000; }
.bg-grey { background:#f4f4f4; color:#000; }

.bg-blue { background: var(--blue); color: #fff; }
.bg-blue-light { background: var(--blue-light); color: #000; }
.bg-red { background:#d23531; color:#fff; }
.bg-yellow { background:#f2be0c; color:#fff; }


/* header - LHS */
header { position: sticky; top:0; left:0; right:0; height:80px; background: #334466; background: #002048; color: #ffffff; z-index: 1000; }
header .logo { height: 60px; margin: 10px; float: left; }
header h1 { font-size: 44px; line-height: 75px; font-weight: 300; vertical-align: top; color: #fff; }
header h1 a { text-decoration: none; color: #fff; }

/* header - RHS */

#User { float: right; line-height: 80px; }
#User a { margin: 20px 20px 20px 0; }

/* page frame */

#Outer { margin-top: 60px; background: #eee; padding: 20px; }
#Inner { padding: 20px; background: #fff; border-bottom: 1px solid #ddd; }


/* certificate list */

#certTable td, th { height: 30px; border-bottom: 1px solid #ccc; padding: 6px 4px; text-align: left; }
#certTable th { font-weight: 500; }
#certTable td:first-of-type, th:first-of-type { text-align: center; }
#certTable td a { text-decoration: none; }
#certTable td a:hover { color: #000; }
#certTable td span { display: block; width: 40px; color: #fff; }
#certTable tr:nth-child(odd) { background: #ffffff; }
#certTable tr:nth-child(even) { background: #f8f8f8; }
#certTable tbody tr:hover { background: #e0e0e0; }

/* coloured backgrounds */

.green { background: #049544 !important; }
.yellow { background: #eebb08 !important; }
.red { background: #dc2c20 !important; }
.grey { background: #cccccc !important; }
.black { background: #000000 !important; color: #fff; }

.lozenge { background:#f4f4f4;border-radius:10px 50px 10px 50px; padding:20px; margin-bottom:20px }
.lozenge img { width: 60px; }

/* stat box */

.statBox { display:inline-block;margin:10px;width:200px;border-radius:10px;padding:16px 18px; }
.statBox p:nth-of-type(1) { font-weight:500;line-height:20px;margin:0;margin-bottom:10px; }
.statBox p:nth-of-type(2) { font-size:40px;margin:0;line-height:40px; }

/* certificate data box */

.dataBox { background: #ddd; width:200px; height:110px; border: 0; border-radius: 10px; text-align: center; margin: 10px; display: inline-block; font-size: 17px; line-height: 22px; }
.dataBox img { width: 40px; height: 40px; margin-top: 10px; vertical-align: top; }
.dataBox p { font-weight: 700; font-size: 13px; margin: 4px; }

/* action */

input,textarea { padding: 4px 6px; border-width:1px; border-style: solid; border-color: #ccc #ddd #ddd #ccc; background: #f0f0f0; border-radius: 0; }

button, input[type="submit"], a.button
    {
    -webkit-appearance: none;
    text-align: center;
    display: inline-block; color: #000; cursor: pointer;
    white-space: nowrap; text-decoration:none; font-size: 16px; padding:0 ; font-weight: 500; height: 40px; line-height: 38px; background-color: var(--green); 
    transition: background-color 0.3s ease 0s;
    border-radius: 6px;
    min-width: 120px;
    border: 1px solid transparent;
    }
a.button.medium { min-width: 150px; }
a.button.large { min-width: 180px; }

button:hover, input[type="submit"]:hover, a.button:hover {  background-color: var(--green-hover); }

.field { width: 260px; }

.modal { width: 320px !important; padding: 20px 30px 30px 30px !important; }

.modal p { margin: 0; }

p.hdr { font-size: 14px; font-weight: bold; margin-bottom: 5px; }
p.sml { font-size: 13px; }

label { font-weight: 500; display: block; margin: 5px 0px; }

/* other */

deadbody{  background-image:url(/img/background.png); background-size: 80px; }
#dPage { clear: both; }

.dpanel { padding: 20px; background: #fff; opacity: 1; border: 1px solid #000; box-shadow: 0px 0px 15px 4px rgba(0,0,0,0.75); }

/* responsive */

@media only screen and (max-width: 560px) {
#Outer { padding: 0; }
#dInner { padding: 20px; }
#dHeader h1 { font-size: 54px; line-height: 54px; }

}

@media only screen and (max-width: 380px) {
#dHeader h1 { font-size: 40px; line-height: 40px; }

}


