@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 */

html { scroll-behavior: smooth; }

#pricing-plans { scroll-margin-top: 80px; }

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;
}

strong { font-weight: 700; }

a { color: #000; }

.ctr { text-align: center; }

h1 { font-size: 2.5rem; line-height: 1.3; }
h2 { font-size: 1.6rem; line-height: 1.3; }
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; }

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; padding: 0; box-sizing: border-box; }

ul.tiles li { flex: 0 0 270px; 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: 1.8rem; line-height: 2.25rem; color: var(--green); margin-bottom: 5px; }
.timeline > div h4 { font-size: 1.4rem; line-height: 1.75rem; 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; }

/* Mobile */
@media(max-width:768px){
  .timeline::before { left:20px; }
  .timeline > div::after { left:0; }
  .timeline > div:nth-child(odd) { flex-direction: row; }
  .timeline > div:nth-child(even) { flex-direction: row; }
  .timeline > div > div { width: 100%; }
  .timeline > div:nth-child(odd) > div { margin:0 0 0 40px; text-align: left; }
  .timeline > div:nth-child(even) > div { margin:0 0 0 40px; text-align: left; }
  .timeline > div:nth-child(odd) h3 { justify-content: flex-start; }
  .timeline > div:nth-child(odd) h3 span { order: 1; }
  .timeline > div:nth-child(odd) h3 span::after { content: ""; }
  .timeline > div:nth-child(odd) h3 span::before { content: "\00B7"; padding: 0 5px; color: #000; }
}


/* 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;
  }
}



.blocker { z-index: 1001; }
.modal { z-index: 1002; }



/* 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 {
  position: sticky;
  top: 0;
  background: #002048;
  color: #ffffff;
  z-index: 1000;
}

header > div {
  max-width: 1200px;
  margin: 0 auto;
  height: 80px;
  padding: 0 20px;

  display: flex;
  align-items: center;
  gap: 20px;

  overflow: hidden;
}

header .logo {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

header .logo img {
  height: 60px;
  width: auto;
  display: block;
}

header h1 {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;

  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.1;
  font-weight: 300;
}

header h1 a {
  display: block;
  color: #ffffff;
  text-decoration: none;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#User {
  margin-left: auto;
  flex: 0 0 auto;

  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
}

#User .button {
  margin: 0;
  white-space: nowrap;
  min-width: 100px;
}

header .iconLogin {
  display: none;
}

/* mobile header */
@media (max-width: 700px) {
  header > div {
    height: 80px;
    min-height: 80px;
    padding: 0 14px;
    gap: 10px;

    flex-wrap: nowrap;
    justify-content: flex-start;
    text-align: left;
  }

  header .logo img {
    height: 48px;
  }

  header h1 {
    flex: 1 1 auto;
    font-size: clamp(22px, 6vw, 30px);
  }

  #User {
    width: auto;
    margin-left: auto;
    gap: 0;
  }

  #User .button {
    display: none;
  }

  header .iconLogin {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 80px;

    color: #ffffff;
    text-decoration: none;
  }

  header .iconLogin i,
  header .iconLogin svg {
    width: 30px;
    height: 30px;
    color: #ffffff;
    stroke: currentColor;
    stroke-width: 1.5;
  }

  header .iconLogin:hover,
  header .iconLogin:focus {
    color: #ffffff;
    outline: none;
  }
}

/* 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; }

}

@media only screen and (max-width: 380px) {

}


