/*
GOV.UK-inspired Elementor Components.
Inspired by GOV.UK Design System. Not official.
*/

:root{
  --cm-govuk-blue:#1d70b8;
  --cm-govuk-black:#0b0c0c;
  --cm-govuk-white:#ffffff;
  --cm-govuk-green:#00703c;
  --cm-govuk-red:#d4351c;
  --cm-govuk-yellow:#ffdd00;
  --cm-govuk-light-grey:#f3f2f1;
  --cm-govuk-mid-grey:#b1b4b6;
  --cm-govuk-dark-grey:#505a5f;
  --cm-govuk-font:Arial,Helvetica,sans-serif;
}

.cm-govuk-widget{
  font-family:var(--cm-govuk-font);
  color:var(--cm-govuk-black);
  font-size:19px;
  line-height:1.31579;
}

.cm-govuk-widget a{color:var(--cm-govuk-blue);text-decoration:underline;text-underline-offset:.12em}
.cm-govuk-heading-xl{font-size:48px;line-height:1.04167;font-weight:700;margin:0 0 30px}
.cm-govuk-heading-l{font-size:36px;line-height:1.11111;font-weight:700;margin:0 0 20px}
.cm-govuk-heading-m{font-size:24px;line-height:1.25;font-weight:700;margin:0 0 15px}
.cm-govuk-heading-s{font-size:19px;line-height:1.31579;font-weight:700;margin:0 0 15px}
.cm-govuk-body{font-size:19px;line-height:1.31579;margin:0 0 20px}
.cm-govuk-caption{display:block;color:var(--cm-govuk-dark-grey);font-size:27px;margin-bottom:5px}

.cm-govuk-button{display:inline-block;background:var(--cm-govuk-green);color:#fff!important;padding:8px 10px 7px;border:0;box-shadow:0 2px 0 #002d18;text-decoration:none!important;font-weight:700;font-size:19px;line-height:1.31579}
.cm-govuk-button--secondary{background:var(--cm-govuk-light-grey);color:var(--cm-govuk-black)!important;box-shadow:0 2px 0 #929191}
.cm-govuk-button--warning{background:var(--cm-govuk-red);box-shadow:0 2px 0 #55150b}

.cm-govuk-warning{display:flex;gap:12px;align-items:flex-start;font-weight:700;margin-bottom:20px}
.cm-govuk-warning__icon{border:3px solid var(--cm-govuk-black);border-radius:50%;width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.cm-govuk-inset{border-left:10px solid var(--cm-govuk-mid-grey);padding:15px;margin:0 0 20px}
.cm-govuk-panel{background:var(--cm-govuk-blue);color:#fff;text-align:center;padding:35px;margin-bottom:30px}
.cm-govuk-panel *{color:#fff}
.cm-govuk-notification{border:5px solid var(--cm-govuk-blue);margin-bottom:20px}
.cm-govuk-notification__title{background:var(--cm-govuk-blue);color:#fff;padding:8px 15px;font-weight:700}
.cm-govuk-notification__body{padding:15px}
.cm-govuk-details summary{cursor:pointer;color:var(--cm-govuk-blue);text-decoration:underline}
.cm-govuk-details__text{border-left:5px solid var(--cm-govuk-mid-grey);padding:15px;margin-top:10px}
.cm-govuk-tag{display:inline-block;background:var(--cm-govuk-blue);color:#fff;font-weight:700;padding:2px 8px;text-transform:uppercase;letter-spacing:1px;font-size:16px}
.cm-govuk-tag--grey{background:var(--cm-govuk-dark-grey)}
.cm-govuk-tag--green{background:var(--cm-govuk-green)}
.cm-govuk-tag--red{background:var(--cm-govuk-red)}
.cm-govuk-phase-banner{border-bottom:1px solid var(--cm-govuk-mid-grey);padding:10px 0;font-size:16px;margin-bottom:20px}

.cm-govuk-summary-list{border-top:1px solid var(--cm-govuk-mid-grey);margin:0 0 20px}
.cm-govuk-summary-list__row{display:grid;grid-template-columns:30% 1fr auto;gap:15px;padding:12px 0;border-bottom:1px solid var(--cm-govuk-mid-grey)}
.cm-govuk-summary-list__key{font-weight:700}
.cm-govuk-table{width:100%;border-collapse:collapse;margin-bottom:20px}
.cm-govuk-table th,.cm-govuk-table td{border-bottom:1px solid var(--cm-govuk-mid-grey);padding:10px;text-align:left}
.cm-govuk-breadcrumbs ol,.cm-govuk-pagination ul,.cm-govuk-tabs ul{list-style:none;margin:0;padding:0}
.cm-govuk-breadcrumbs li{display:inline;font-size:16px}
.cm-govuk-breadcrumbs li+li:before{content:"›";margin:0 8px;color:var(--cm-govuk-dark-grey)}
.cm-govuk-pagination li{display:inline-block;margin-right:20px}
.cm-govuk-tabs__list{border-bottom:1px solid var(--cm-govuk-mid-grey)}
.cm-govuk-tabs__item{display:inline-block;margin-right:5px}
.cm-govuk-tabs__link{display:block;padding:10px 15px;background:var(--cm-govuk-light-grey)}
.cm-govuk-tabs__panel{border:1px solid var(--cm-govuk-mid-grey);border-top:0;padding:20px}
.cm-govuk-accordion__item{border-top:1px solid var(--cm-govuk-mid-grey)}
.cm-govuk-accordion__button{width:100%;background:transparent;color:var(--cm-govuk-black);border:0;padding:15px 0;text-align:left;font-weight:700;cursor:pointer;font-size:19px}
.cm-govuk-accordion__content{display:none;padding:0 0 15px}
.cm-govuk-accordion__item.is-open .cm-govuk-accordion__content{display:block}

.cm-govuk-input,.cm-govuk-select,.cm-govuk-textarea{width:100%;border:2px solid var(--cm-govuk-black);padding:8px;font-family:var(--cm-govuk-font);font-size:19px;margin-bottom:15px}
.cm-govuk-label{display:block;font-weight:700;margin-bottom:5px}
.cm-govuk-hint{display:block;color:var(--cm-govuk-dark-grey);margin-bottom:10px}
.cm-govuk-error-message{color:var(--cm-govuk-red);font-weight:700;margin-bottom:10px}
.cm-govuk-error-summary{border:5px solid var(--cm-govuk-red);padding:20px;margin-bottom:30px}
.cm-govuk-card{border:1px solid var(--cm-govuk-mid-grey);padding:20px;margin-bottom:20px;background:#fff}
.cm-govuk-card--grey{background:var(--cm-govuk-light-grey)}
.cm-govuk-card--blue{background:var(--cm-govuk-blue);color:#fff}
.cm-govuk-card--blue *{color:#fff}

@media(max-width:768px){
  .cm-govuk-widget,.cm-govuk-body,.cm-govuk-button,.cm-govuk-input,.cm-govuk-select,.cm-govuk-textarea{font-size:16px;line-height:1.25}
  .cm-govuk-heading-xl{font-size:36px;line-height:1.11111}
  .cm-govuk-heading-l{font-size:27px;line-height:1.11111}
  .cm-govuk-heading-m{font-size:21px;line-height:1.19048}
  .cm-govuk-summary-list__row{display:block}
}


/* v4 demo-mode improvements */
.cm-govuk-demo-note{
  display:block;
  color:var(--cm-govuk-dark-grey);
  font-size:16px;
  margin-top:8px;
}

.cm-govuk-demo-form{
  margin:0;
}

.cm-govuk-fieldset{
  border:0;
  padding:0;
  margin:0 0 20px;
}

.cm-govuk-fieldset legend{
  padding:0;
}

.cm-govuk-checkboxes label,
.cm-govuk-radios label{
  display:block;
  position:relative;
  padding:8px 0 8px 38px;
  margin-bottom:5px;
  cursor:pointer;
}

.cm-govuk-checkboxes input,
.cm-govuk-radios input{
  position:absolute;
  left:0;
  top:9px;
  width:24px;
  height:24px;
}

.cm-govuk-date-input__item{
  display:inline-block;
  margin-right:15px;
}

.cm-govuk-date-input__item label{
  display:block;
  font-weight:700;
  margin-bottom:5px;
}

.cm-govuk-date-input__item input{
  width:80px;
}

.cm-govuk-character-count__message{
  color:var(--cm-govuk-dark-grey);
  font-size:16px;
  margin-top:-5px;
}

.cm-govuk-task-list{
  list-style:none;
  padding:0;
  margin:0 0 20px;
  border-top:1px solid var(--cm-govuk-mid-grey);
}

.cm-govuk-task-list__item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
  padding:15px 0;
  border-bottom:1px solid var(--cm-govuk-mid-grey);
}

.cm-govuk-cookie-banner{
  background:var(--cm-govuk-light-grey);
  padding:20px;
  border-bottom:2px solid var(--cm-govuk-mid-grey);
}

.cm-govuk-service-nav{
  border-bottom:1px solid var(--cm-govuk-mid-grey);
  padding:12px 0;
  margin-bottom:20px;
}

.cm-govuk-service-nav strong{
  margin-right:20px;
}

.cm-govuk-header-demo{
  background:var(--cm-govuk-blue);
  color:#fff;
  padding:15px 20px;
  font-weight:700;
}

.cm-govuk-footer-demo{
  background:var(--cm-govuk-light-grey);
  padding:25px;
  border-top:1px solid var(--cm-govuk-mid-grey);
}

.cm-govuk-file-upload{
  border:2px solid var(--cm-govuk-black);
  padding:8px;
  width:100%;
}

.cm-govuk-exit-button{
  background:var(--cm-govuk-red);
  box-shadow:0 2px 0 #55150b;
}

.cm-govuk-start-button::after{
  content:" ›";
  font-weight:700;
}

.cm-govuk-pagination{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin:20px 0;
}

@media(max-width:768px){
  .cm-govuk-task-list__item{display:block}
  .cm-govuk-pagination{display:block}
  .cm-govuk-pagination a{display:block;margin-bottom:15px}
}


/* v5 closer GOV.UK component styling */
.cm-govuk-widget{
  max-width:960px;
  box-sizing:border-box;
}

.cm-govuk-widget *,
.cm-govuk-widget *::before,
.cm-govuk-widget *::after{
  box-sizing:border-box;
}

.cm-govuk-component-title{
  font-size:36px;
  line-height:1.11111;
  font-weight:700;
  margin:0 0 20px;
}

.cm-govuk-start-page{
  padding:0;
  border:0;
  background:#fff;
}

.cm-govuk-start-page .cm-govuk-heading-xl{
  margin-top:0;
}

.cm-govuk-question-page{
  max-width:640px;
}

.cm-govuk-check-answers{
  max-width:760px;
}

.cm-govuk-sign-in{
  max-width:640px;
}

.cm-govuk-confirmation{
  background:#1d70b8;
  color:#fff;
  padding:35px;
  text-align:center;
}

.cm-govuk-confirmation *{
  color:#fff;
}

.cm-govuk-error-page{
  max-width:640px;
}

.cm-govuk-search-box{
  display:flex;
  max-width:640px;
}

.cm-govuk-search-box input{
  flex:1;
  min-width:0;
  border:2px solid #0b0c0c;
  padding:8px;
  font-size:19px;
}

.cm-govuk-search-box button{
  background:#1d70b8;
  color:#fff;
  border:0;
  padding:8px 14px;
  font-weight:700;
  box-shadow:none;
}

.cm-govuk-address-fields,
.cm-govuk-payment-fields{
  max-width:640px;
}

.cm-govuk-section-break{
  border:0;
  border-top:1px solid #b1b4b6;
  margin:30px 0;
}

.cm-govuk-colour-swatch{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}

.cm-govuk-colour-swatch div{
  min-height:70px;
  padding:10px;
  color:#fff;
  font-weight:700;
}

.cm-govuk-colour-blue{background:#1d70b8}
.cm-govuk-colour-black{background:#0b0c0c}
.cm-govuk-colour-green{background:#00703c}
.cm-govuk-colour-red{background:#d4351c}

.cm-govuk-style-demo{
  border-left:10px solid #1d70b8;
  padding:15px 20px;
  background:#f3f2f1;
}

.cm-govuk-page-template-demo{
  border-top:10px solid #1d70b8;
  padding-top:20px;
}

.cm-govuk-link-list{
  list-style:none;
  padding:0;
  margin:0 0 20px;
}

.cm-govuk-link-list li{
  margin-bottom:8px;
}

@media(max-width:768px){
  .cm-govuk-component-title{font-size:27px;line-height:1.11111}
  .cm-govuk-colour-swatch{grid-template-columns:1fr 1fr}
}
