@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap);
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
main,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
    display: block
}

[hidden] {
    display: none
}

body {
    line-height: 1
}

menu,
ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: '';
    content: none
}

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

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
address,
blockquote,
h1,
h2,
h3,
h4,
h5,
h6,
p,
pre {
    margin-bottom: 24px
}

* {
    font-family: Poppins, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizelegibility
}

a {
    transition: all .3s ease-out;
    text-decoration: none;
    color: #44595e
}

a:hover {
    color: #f5812a
}

.h1,
h1 {
    font-size: 48px;
    line-height: 54px
}

@media only screen and (max-width:768px) {
    .h1,
    h1 {
        font-size: 32px;
        line-height: 38px
    }
}

.h2,
h2 {
    font-size: 36px;
    line-height: 36px
}

@media only screen and (max-width:768px) {
    .h2,
    h2 {
        font-size: 24px;
        line-height: 30px
    }
}

.h3,
h3 {
    font-size: 30px;
    line-height: 36px
}

@media only screen and (max-width:768px) {
    .h3,
    h3 {
        font-size: 21px;
        line-height: 27px
    }
}

.h4,
h4 {
    font-size: 22px;
    line-height: 24px
}

.h5,
h5 {
    font-size: 20px;
    line-height: 22px
}

.h6,
h6 {
    font-size: 18px;
    line-height: 20px
}

strong {
    font-weight: 700
}

blockquote,
li,
p {
    font-size: 18px;
    line-height: 26px;
    font-weight: 400
}

@media only screen and (max-width:768px) {
    blockquote,
    li,
    p {
        font-size: 16px;
        line-height: 24px
    }
}

blockquote p {
    margin: 0;
    font-style: italic
}

article ol,
article ul {
    margin-left: 25px;
    margin-bottom: 20px
}

article ol li,
article ul li {
    margin-bottom: 8px;
    font-size: 15px;
    font-weight: 500;
    line-height: 23px
}

article ol li {
    list-style: decimal
}

article ul li {
    list-style: disc
}

.last-child-no-margin>:last-child,
article>:last-child {
    margin-bottom: 0
}

.float-left {
    float: left !important
}

.float-right {
    float: right !important
}

.text-center {
    text-align: center
}

.cover-link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100
}

.text-replace {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.clearfix:after,
.clearfix:before {
    content: " ";
    display: table
}

.clearfix:after {
    clear: both
}

.btn {
    font-size: 19px;
    line-height: 1;
    border-radius: 50px;
    background-color: #fff;
    border: 3px solid #000;
    padding: 15px 64px 15px 30px;
    position: relative
}

.btn::after {
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    height: 21px;
    width: 21px;
    content: "";
    background-color: #000;
    mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/feather-arrow-right.svg);
    -webkit-mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/feather-arrow-right.svg);
    mask-size: contain;
    -webkit-mask-size: contain
}

@media screen and (max-width:768px) {
    .btn {
        font-size: 15px
    }
}

.btn.btn-orange {
    border: 3px solid #f5812a;
    padding: 15px 64px 15px 30px;
    color: #f5812a;
    width: 220px;
    font-weight: 600;
    display: inline-block
}

.btn.btn-orange:after {
    background-color: #f5812a
}

.load-more-btn {
    font-size: 15px;
    line-height: 1;
    border-radius: 28px;
    background-color: #fff;
    border: 3px solid #000;
    padding: 10px 17px;
    position: relative;
    border: 3px solid #000;
    cursor: pointer;
    font-weight: 600;
    display: flex;
    align-items: center
}

.load-more-btn img,
.load-more-btn svg {
    margin-left: 17px
}

.modal-content {
    background-color: #fff;
    width: 100%;
    max-width: 776px;
    height: calc(100vh - 50px);
    max-height: 525px;
    padding: 38px 41px;
    border-radius: 40px;
    border: 3px solid #f5812a;
    z-index: 1000
}

.modal-content__wrapper {
    display: flex;
    position: relative;
    height: 100%
}

.modal-content__wrapper--left {
    margin-right: 45px;
    display: flex;
    align-items: flex-start
}

.modal-content__wrapper--left img {
    width: 252px;
    height: auto;
    -o-object-fit: contain;
    object-fit: contain
}

@media screen and (max-width:768px) {
    .modal-content__wrapper--left {
        margin-right: 0;
        margin-bottom: 30px;
        justify-content: center
    }
    .modal-content__wrapper--left img {
        width: 70%;
        max-height: 200px;
        -o-object-fit: contain;
        object-fit: contain
    }
}

.modal-content__wrapper--right {
    overflow-y: scroll;
    margin: 21px 0 0;
    padding-right: 15px
}

.modal-content__wrapper--right::-webkit-scrollbar {
    width: 30px
}

.modal-content__wrapper--right::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: #f2f0f0
}

.modal-content__wrapper--right::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: #d5d5d5
}

.modal-content__wrapper--right h3 {
    font-size: 25px;
    line-height: 33px;
    font-weight: 700;
    margin-bottom: 0
}

.modal-content__wrapper--right .meta-info {
    font-size: 25px;
    line-height: 33px;
    font-weight: 500;
    margin-bottom: 0
}

.modal-content__wrapper--right .meta-info:last-of-type {
    margin-bottom: 19px
}

.modal-content__wrapper--right p {
    font-size: 15px;
    line-height: 23px;
    font-weight: 500;
    margin-bottom: 19px
}

@media screen and (max-width:768px) {
    .modal-content__wrapper {
        flex-direction: column
    }
}

@media screen and (max-width:768px) {
    .modal-content {
        max-height: 650px
    }
}

.lightbox-btn-close {
    right: 27px;
    top: 22px;
    border: none
}

.headings-black h3,
.headings-black h4 {
    color: #000;
    font-size: 18px;
    line-height: 27px;
    font-weight: 600;
    margin-bottom: 23px
}

.headings-purple h3,
.headings-purple h4 {
    color: #70559f;
    font-size: 18px;
    line-height: 27px;
    font-weight: 600;
    margin-bottom: 23px
}

.headings-orange h3,
.headings-orange h4 {
    color: #f5812a;
    font-size: 18px;
    line-height: 27px;
    font-weight: 600;
    margin-bottom: 23px
}

.headings-red h3,
.headings-red h4 {
    color: #e52a20;
    font-size: 18px;
    line-height: 27px;
    font-weight: 600;
    margin-bottom: 23px
}

.headings-blue h3,
.headings-blue h4 {
    color: #169fe3;
    font-size: 18px;
    line-height: 27px;
    font-weight: 600;
    margin-bottom: 23px
}

.headings-yellow h3,
.headings-yellow h4 {
    color: #f2c245;
    font-size: 18px;
    line-height: 27px;
    font-weight: 600;
    margin-bottom: 23px
}

.accent-color-black .bottom-arc path {
    fill: #000
}

.accent-color-black .gform_button.button {
    background-color: #000
}

.accent-color-purple .bottom-arc path {
    fill: #70559f
}

.accent-color-purple .gform_button.button {
    background-color: #70559f
}

.accent-color-orange .bottom-arc path {
    fill: #f5812a
}

.accent-color-orange .gform_button.button {
    background-color: #f5812a
}

.accent-color-red .bottom-arc path {
    fill: #e52a20
}

.accent-color-red .gform_button.button {
    background-color: #e52a20
}

.accent-color-blue .bottom-arc path {
    fill: #169fe3
}

.accent-color-blue .gform_button.button {
    background-color: #169fe3
}

.accent-color-yellow .bottom-arc path {
    fill: #f2c245
}

.accent-color-yellow .gform_button.button {
    background-color: #f2c245
}

.lightbox-btn-close {
    background-image: none;
    font-weight: 800;
    color: #fff
}

.lightbox-btn-close::after {
    content: "X";
    font: inherit;
    color: inherit;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
    font-weight: 700
}

#gform_wrapper_4 span.gfield_required {
    display: none !important
}

.lightbox-container {
    z-index: 1000000000
}

.lightbox-video-container .lightbox-btn-close {
    position: fixed
}

#one-column-text-block_6318e95ee1938 .site-container {
    padding-bottom: 0
}

#gform_4 .gform_body {
    margin-bottom: 50px
}

#gform_4 .gform_body p {
    margin-bottom: 0
}

.page-title-hidden {
    height: 0;
    overflow: hidden;
    display: block
}

.alignleft {
    float: left;
    margin: 0 10px 10px 0
}

.alignright {
    float: right;
    margin: 0 0 10px 10px
}

.alignnone {
    float: none;
    margin: 10px auto
}

.aligncenter {
    display: block;
    margin: 10px auto
}

.site-container {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    padding: 25px !important
}

@media screen and (max-width:1050px) {
    .site-container {
        width: calc(100% - 50px)
    }
}

.site-header .site-container {
    padding: 0 !important
}

section {
    margin: 0 auto !important
}

::-moz-selection {
    background-color: #44595e;
    color: #fff;
    text-shadow: none
}

::selection {
    background-color: #44595e;
    color: #fff;
    text-shadow: none
}

* {
    box-sizing: border-box
}

body,
html {
    color: #000;
    font-family: Poppins, sans-serif !important;
    font-size: 100%
}

html {
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #000
}

html.modal-active {
    overflow: hidden
}

body {
    background: #fff
}

html.scroll-blocked {
    overflow: hidden;
    height: 100%
}

.site-main {
    display: block
}

.site-wrapper {
    overflow: hidden
}

.archive-hero {
    width: 100%;
    min-height: 565px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
    margin-bottom: 75px;
    position: relative
}

.archive-hero .site-container {
    display: flex;
    justify-content: flex-start;
    width: calc(100% - 50px);
    max-width: 920px
}

.archive-hero__title {
    margin-top: 26px;
    margin-left: 140px;
    padding: 10px 33px 10px 27px;
    background-color: #000;
    color: #fff;
    font-size: 44px;
    line-height: 52px;
    border-radius: 15px;
    font-weight: 600;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto
}

.archive-hero__title.training-archive {
    background-color: #70559f
}

@media screen and (max-width:1024px) {
    .archive-hero {
        min-height: 450px
    }
    .archive-hero__title {
        margin-left: 50px
    }
}

@media screen and (max-width:576px) {
    .archive-hero {
        min-height: 300px
    }
    .archive-hero__title {
        margin-left: 0;
        font-size: 28px;
        line-height: 40px
    }
}

.archive-hero.news-hero h1 {
    max-width: 363px
}

.archive-hero .bottom-arc {
    position: absolute;
    bottom: -5px;
    left: 0;
    pointer-events: none;
    transform: translateY(25%);
    width: 100%;
    display: flex;
    z-index: 2;
    background-size: contain;
    background-size: 100%;
    background-repeat: no-repeat;
    z-index: 0
}

@media only screen and (max-width:1024px) {
    .archive-hero .bottom-arc {
        transform: translateY(30%)
    }
}

@media only screen and (max-width:768px) {
    .archive-hero .bottom-arc {
        transform: translateY(-20%)
    }
}

@media only screen and (max-width:650px) {
    .archive-hero .bottom-arc {
        transform: translateY(-15%)
    }
}

.archive-hero .bottom-arc img {
    height: 100%
}

.archive-hero .bottom-arc svg {
    min-height: 220px;
    width: 100%
}

@media screen and (max-width:768px) {
    .archive-hero .bottom-arc {
        height: 40%;
        max-height: 120px
    }
    .archive-hero .bottom-arc svg {
        height: 120px
    }
}

.sf-field-category,
.sf-field-taxonomy-case-study-categories {
    width: 100%;
    margin-bottom: 44px
}

.sf-field-category ul,
.sf-field-taxonomy-case-study-categories ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center
}

.sf-field-category ul li,
.sf-field-taxonomy-case-study-categories ul li {
    margin-right: 20px
}

.sf-field-category ul li:last-child,
.sf-field-taxonomy-case-study-categories ul li:last-child {
    margin-right: 0
}

.sf-field-category ul li .sf-input-radio,
.sf-field-taxonomy-case-study-categories ul li .sf-input-radio {
    display: none
}

.sf-field-category ul li .sf-label-radio,
.sf-field-taxonomy-case-study-categories ul li .sf-label-radio {
    cursor: pointer;
    padding: 8px 18px;
    color: #fff;
    background-color: #f5812a;
    font-size: 15px;
    border-radius: 23px;
    font-weight: 600
}

@media only screen and (max-width:700px) {
    .sf-field-category ul,
    .sf-field-taxonomy-case-study-categories ul {
        flex-direction: column;
        align-items: center;
        justify-content: center
    }
    .sf-field-category ul li,
    .sf-field-taxonomy-case-study-categories ul li {
        margin-right: 0
    }
}

.case-studies-archive,
.news-archive,
.training-archive {
    width: 100%;
    max-width: 830px;
    margin: 0 auto
}

.case-studies-archive.archive-hero__title,
.news-archive.archive-hero__title,
.training-archive.archive-hero__title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    margin-left: 0
}

.case-studies-archive__description,
.news-archive__description,
.training-archive__description {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 24px
}

.case-studies-archive__description p,
.news-archive__description p,
.training-archive__description p {
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
    margin-bottom: 24px;
    text-align: center;
    margin-bottom: 0;
    width: 100%;
    max-width: 795px
}

.case-studies-archive__description.taxonomy-listing,
.news-archive__description.taxonomy-listing,
.training-archive__description.taxonomy-listing {
    margin-bottom: 6px
}

.case-studies-archive__filters,
.news-archive__filters,
.training-archive__filters {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 44px
}

.case-studies-archive #news-and-views-archive,
.case-studies-archive #use-case-archive,
.news-archive #news-and-views-archive,
.news-archive #use-case-archive,
.training-archive #news-and-views-archive,
.training-archive #use-case-archive {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 58px
}

.case-studies-archive #news-and-views-archive .site-container,
.case-studies-archive #use-case-archive .site-container,
.news-archive #news-and-views-archive .site-container,
.news-archive #use-case-archive .site-container,
.training-archive #news-and-views-archive .site-container,
.training-archive #use-case-archive .site-container {
    display: flex;
    flex-direction: column;
    align-items: center
}

.case-studies-archive .post-list,
.news-archive .post-list,
.training-archive .post-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 10px
}

.case-studies-archive .post-list__entry,
.news-archive .post-list__entry,
.training-archive .post-list__entry {
    width: calc(33% - 22px);
    margin-right: 36px;
    display: flex;
    flex-direction: column;
    color: #000;
    margin-bottom: 31px
}

.case-studies-archive .post-list__entry:nth-child(3n),
.news-archive .post-list__entry:nth-child(3n),
.training-archive .post-list__entry:nth-child(3n) {
    margin-right: 0
}

.case-studies-archive .post-list__entry--content,
.news-archive .post-list__entry--content,
.training-archive .post-list__entry--content {
    border-radius: 28px;
    flex-grow: 1;
    overflow: hidden;
    position: relative
}

.case-studies-archive .post-list__entry--content .arrow,
.news-archive .post-list__entry--content .arrow,
.training-archive .post-list__entry--content .arrow {
    position: absolute;
    right: 17px;
    bottom: 16px;
    height: 15px;
    width: 15px;
    mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    -webkit-mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    mask-size: contain;
    -webkit-mask-size: contain
}

.case-studies-archive .post-list__entry .entry-category,
.news-archive .post-list__entry .entry-category,
.training-archive .post-list__entry .entry-category {
    margin-bottom: 14px;
    font-size: 15px;
    line-height: 23px;
    font-weight: 500
}

@media screen and (max-width:992px) {
    .case-studies-archive .post-list__entry,
    .news-archive .post-list__entry,
    .training-archive .post-list__entry {
        width: calc(50% - 20px);
        margin-right: 20px
    }
    .case-studies-archive .post-list__entry:nth-child(3n),
    .news-archive .post-list__entry:nth-child(3n),
    .training-archive .post-list__entry:nth-child(3n) {
        margin-right: 20px
    }
    .case-studies-archive .post-list__entry:nth-child(2n),
    .news-archive .post-list__entry:nth-child(2n),
    .training-archive .post-list__entry:nth-child(2n) {
        margin-right: 20px
    }
}

@media screen and (max-width:576px) {
    .case-studies-archive .post-list__entry,
    .news-archive .post-list__entry,
    .training-archive .post-list__entry {
        width: 100%;
        margin-right: 0 !important
    }
    .case-studies-archive .post-list__entry:nth-child(3n),
    .news-archive .post-list__entry:nth-child(3n),
    .training-archive .post-list__entry:nth-child(3n) {
        margin-right: 0
    }
}

.case-studies-archive .post-list__entry.partner-entry .post-list__entry--content,
.news-archive .post-list__entry.partner-entry .post-list__entry--content,
.training-archive .post-list__entry.partner-entry .post-list__entry--content {
    border: 3px solid #f5812a
}

.case-studies-archive .post-list__entry.partner-entry .post-list__entry--content .arrow,
.news-archive .post-list__entry.partner-entry .post-list__entry--content .arrow,
.training-archive .post-list__entry.partner-entry .post-list__entry--content .arrow {
    background-color: #f5812a
}

.case-studies-archive .post-list__image,
.news-archive .post-list__image,
.training-archive .post-list__image {
    width: 100%;
    height: 100%;
    max-height: 163px;
    border-radius: 0 0 28px 28px;
    margin-bottom: 14px;
    overflow: hidden
}

.case-studies-archive .post-list__image img,
.news-archive .post-list__image img,
.training-archive .post-list__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top
}

@media screen and (max-width:992px) {
    .case-studies-archive .post-list__image img,
    .news-archive .post-list__image img,
    .training-archive .post-list__image img {
        -o-object-fit: cover;
        object-fit: cover
    }
}

.case-studies-archive .post-list__title,
.news-archive .post-list__title,
.training-archive .post-list__title {
    width: 100%;
    padding: 0 24px 0 20px;
    margin-bottom: 11px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600
}

.case-studies-archive .post-list__excerpt,
.news-archive .post-list__excerpt,
.training-archive .post-list__excerpt {
    padding: 0 29px 32px 20px
}

.case-studies-archive .post-list__excerpt p,
.news-archive .post-list__excerpt p,
.training-archive .post-list__excerpt p {
    font-size: 10px;
    line-height: 16px;
    font-weight: 500;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    text-overflow: ellipsis
}

.case-studies-archive .post-list.partners-list,
.news-archive .post-list.partners-list,
.training-archive .post-list.partners-list {
    margin-top: 36px;
    margin-bottom: 22px
}

#news-and-views-archive .post-list__entry--content {
    min-height: 354px;
    display: flex;
    flex-direction: column
}

#news-and-views-archive .post-list__image {
    height: 163px
}

#news-and-views-archive .post-list__image img {
    height: 100%
}

#news-and-views-archive .post-list__title {
    letter-spacing: -.5px
}

#news-and-views-archive .post-list__excerpt p {
    font-weight: 500;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    text-overflow: ellipsis
}

.team-members {
    width: 100%;
    padding-top: 41px
}

.team-members__list {
    width: 100%;
    max-width: 835px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    gap: 35px 48px
}

@media only screen and (max-width:768px) {
    .team-members__list {
        justify-content: center
    }
}

.team-members__list--entry {
    width: 20%;
    max-width: 170px;
    text-align: center;
    margin-bottom: 8px
}

.team-members__list--entry h3 {
    font-size: 15px;
    line-height: 21px;
    font-weight: 700;
    margin-bottom: 0;
    color: #000
}

.team-members__list--entry p {
    margin-bottom: 0;
    font-size: 15px;
    line-height: 21px;
    font-weight: 500;
    color: #000
}

.team-members__list--entry img {
    width: 100%;
    height: auto;
    max-width: 170px;
    margin-bottom: 15px
}

@media screen and (max-width:576px) {
    .team-members__list--entry {
        width: 45%;
        margin-right: 20px
    }
    .team-members__list--entry:nth-of-type(4n) {
        margin-right: 20px
    }
    .team-members__list--entry:nth-of-type(2n) {
        margin-right: 0
    }
}

.buttons {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
    margin-bottom: 34px
}

.partners-single-meta .case-study-meta__information {
    margin-bottom: 10px
}

.partners-single-meta .case-study-meta__information img {
    margin-bottom: 0 !important
}

.partners-list {
    gap: 20px 38px
}

.partners-list .partner-entry {
    margin: unset !important;
    width: calc(calc(100% / 3) - calc(76px / 3))
}

@media only screen and (max-width:830px) {
    .partners-list .partner-entry {
        width: calc(50% - calc(39px / 2))
    }
}

@media only screen and (max-width:767px) {
    .partners-list .partner-entry {
        width: 100%
    }
}

.training-sub-text {
    text-align: center
}

.training-sub-text p {
    font-weight: 600;
    font-size: 20px;
    line-height: 30px
}

.site-footer {
    width: 100%;
    padding: 41px 0;
    background-color: #000
}

.site-footer .site-container {
    width: calc(100% - 50px);
    max-width: 1107px
}

.site-footer__wrapper {
    display: flex;
    width: 100%;
    justify-content: space-between
}

.site-footer__wrapper--menus {
    width: 80%;
    max-width: 810px
}

.site-footer__wrapper--menus__cols {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px
}

.site-footer__wrapper--menus__cols--col {
    width: 33%;
    max-width: 215px
}

.site-footer__wrapper--menus__cols--col h3 {
    color: gray;
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
    margin-bottom: 13px
}

.site-footer__wrapper--menus__cols--col p {
    color: #fff;
    font-size: 12px;
    line-height: 18px;
    font-weight: 600;
    display: flex;
    flex-direction: column;
    margin-bottom: 19px
}

.site-footer__wrapper--menus__cols--col p:last-child {
    margin-bottom: 0
}

.site-footer__wrapper--menus__cols--col p a {
    color: #fff
}

.site-footer__wrapper--menus__cols--col p a:hover {
    color: #f5812a !important
}

.site-footer__wrapper--menus__cols--col nav ul {
    margin-bottom: 19px
}

.site-footer__wrapper--menus__cols--col nav li {
    line-height: 18px;
    font-size: 12px
}

.site-footer__wrapper--menus__cols--col nav a {
    color: #fff;
    font-size: 12px;
    line-height: 18px;
    font-weight: 600
}

.site-footer__wrapper--menus__cols--col nav a:hover {
    color: #f5812a !important
}

@media screen and (max-width:576px) {
    .site-footer__wrapper--menus__cols--col {
        width: 100%;
        margin-bottom: 20px
    }
}

@media screen and (max-width:576px) {
    .site-footer__wrapper--menus__cols {
        flex-direction: column
    }
}

.site-footer__wrapper--menus__support-info p {
    color: #fff;
    font-size: 12px;
    line-height: 18px;
    font-weight: 500;
    margin-bottom: 0
}

.site-footer__wrapper--menus__support-info--top a,
.site-footer__wrapper--menus__support-info--top p {
    color: #fff;
    font-size: 12px;
    line-height: 18px;
    font-weight: 500;
    margin-bottom: 0
}

.site-footer__wrapper--menus__support-info--bottom {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    max-width: 710px
}

.site-footer__wrapper--menus__support-info--bottom p {
    font-size: 8px;
    line-height: 12px;
    margin-right: auto;
    font-weight: 500
}

.site-footer__wrapper--menus__support-info--bottom nav {
    margin-right: 40px
}

.site-footer__wrapper--menus__support-info--bottom nav ul {
    display: flex
}

.site-footer__wrapper--menus__support-info--bottom nav ul li {
    margin-bottom: 0;
    margin-right: 8px;
    line-height: 12px;
    position: relative
}

.site-footer__wrapper--menus__support-info--bottom nav ul li a {
    font-size: 8px;
    line-height: 12px;
    color: #fff;
    font-weight: 600;
    cursor: pointer
}

.site-footer__wrapper--menus__support-info--bottom nav ul li a:hover {
    color: #f5812a !important
}

.site-footer__wrapper--menus__support-info--bottom__social-icons a {
    margin-right: 5px
}

.site-footer__wrapper--menus__support-info--bottom__social-icons a:last-child {
    margin-right: 0
}

@media screen and (max-width:576px) {
    .site-footer__wrapper--menus__support-info--bottom {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start
    }
    .site-footer__wrapper--menus__support-info--bottom p {
        margin-bottom: 20px
    }
    .site-footer__wrapper--menus__support-info--bottom nav {
        margin-right: 0;
        margin-bottom: 20px
    }
}

@media screen and (max-width:992px) {
    .site-footer__wrapper--menus {
        width: 100%;
        margin-bottom: 60px
    }
}

.site-footer__wrapper--logo {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    position: relative;
    width: 20%;
    height: 180px;
    align-self: end
}

.site-footer__wrapper--logo:after {
    position: absolute;
    top: 0;
    left: 50%;
    width: 374px;
    height: 374px;
    background-color: #fff;
    border-radius: 50%;
    content: "";
    z-index: 0;
    transform: translateX(-40%)
}

.site-footer__wrapper--logo img {
    max-width: 100% !important
}

@media screen and (max-width:1050px) {
    .site-footer__wrapper--logo img {
        max-height: 70px !important
    }
    .site-footer__wrapper--logo:after {
        height: 290px;
        width: 290px;
        bottom: -130px;
        left: calc(100% - 70px);
        top: unset
    }
}

.site-footer__wrapper--logo .logo-container {
    z-index: 3;
    position: relative;
    isolation: isolate
}

@media screen and (max-width:992px) {
    .site-footer__wrapper--logo {
        width: 100%
    }
    .site-footer__wrapper--logo .logo-container {
        width: 140px
    }
    .site-footer__wrapper--logo .logo-container img {
        width: 100%
    }
    .site-footer__wrapper--logo .logo-container:after {
        height: 210px;
        width: 210px;
        transform: translate(-9%, -25%)
    }
}

@media screen and (max-width:992px) {
    .site-footer__wrapper {
        flex-direction: column
    }
}

@-webkit-keyframes validationMessageFadeOut {
    0% {
        opacity: 1
    }
    75% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@keyframes validationMessageFadeOut {
    0% {
        opacity: 1
    }
    75% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

.subscribe-form {
    width: 100%;
    background-color: #f5812a;
    padding: 21px 0 23px 0
}

.subscribe-form h4,
.subscribe-form p {
    color: #fff;
    margin-bottom: 0
}

.subscribe-form h4 {
    margin-right: 30px;
    font-size: 20px;
    line-height: 30px;
    font-weight: 600
}

@media screen and (max-width:650px) {
    .subscribe-form h4 {
        margin-bottom: 24px
    }
}

.subscribe-form .gform_confirmation_message,
.subscribe-form p {
    width: 50%;
    max-width: 163px;
    font-size: 12px;
    line-height: 18px;
    font-weight: 600
}

@media screen and (max-width:768px) {
    .subscribe-form .gform_confirmation_message,
    .subscribe-form p {
        max-width: unset
    }
}

@media screen and (max-width:650px) {
    .subscribe-form .gform_confirmation_message,
    .subscribe-form p {
        width: 100%
    }
}

.subscribe-form .gform_confirmation_message {
    color: #fff;
    font-size: 16px;
    line-height: 24px;
    margin-right: 0;
    max-width: unset
}

.subscribe-form .site-container {
    display: flex;
    align-items: center;
    width: calc(100% - 92px);
    max-width: 1100px
}

@media screen and (max-width:1050px) {
    .subscribe-form .site-container {
        width: calc(100% - 50px)
    }
}

@media screen and (max-width:768px) {
    .subscribe-form .site-container {
        flex-direction: column;
        align-items: flex-start
    }
}

.subscribe-form__text-container {
    display: flex;
    align-items: center
}

@media screen and (max-width:768px) {
    .subscribe-form__text-container {
        width: 100%;
        margin-bottom: 30px
    }
}

@media screen and (max-width:650px) {
    .subscribe-form__text-container {
        flex-direction: column;
        align-items: flex-start
    }
}

.subscribe-form__container {
    width: 65%;
    max-width: 780px;
    position: relative;
    flex-grow: 1
}

.subscribe-form__container #gform_1 {
    display: flex;
    align-items: center
}

.subscribe-form__container #gform_1 input[type=email],
.subscribe-form__container #gform_1 input[type=text] {
    border: none;
    border-radius: 50px;
    height: 38px;
    padding: 10px 18px;
    background-color: #fff;
    font-weight: 600
}

.subscribe-form__container #gform_1 input[type=email]::-moz-placeholder,
.subscribe-form__container #gform_1 input[type=text]::-moz-placeholder {
    color: #000;
    font-size: 12px;
    line-height: 18px;
    opacity: 1;
    font-weight: 600
}

.subscribe-form__container #gform_1 input[type=email]:-ms-input-placeholder,
.subscribe-form__container #gform_1 input[type=text]:-ms-input-placeholder {
    color: #000;
    font-size: 12px;
    line-height: 18px;
    opacity: 1;
    font-weight: 600
}

.subscribe-form__container #gform_1 input[type=email]::-ms-input-placeholder,
.subscribe-form__container #gform_1 input[type=text]::-ms-input-placeholder {
    color: #000;
    font-size: 12px;
    line-height: 18px;
    opacity: 1;
    font-weight: 600
}

.subscribe-form__container #gform_1 input[type=email]::placeholder,
.subscribe-form__container #gform_1 input[type=text]::placeholder {
    color: #000;
    font-size: 12px;
    line-height: 18px;
    opacity: 1;
    font-weight: 600
}

.subscribe-form__container #gform_1 label {
    display: none
}

.subscribe-form__container #gform_1 .gform_body {
    width: 100%
}

.subscribe-form__container #gform_1 .gform_body .gfield_error {
    position: relative
}

.subscribe-form__container #gform_1 .gform_body .gfield_error .validation_message {
    position: absolute;
    top: 100%;
    padding: 5px;
    z-index: 10;
    -webkit-animation: validationMessageFadeOut;
    animation: validationMessageFadeOut;
    opacity: 0;
    -webkit-animation-duration: 4s;
    animation-duration: 4s;
    margin-top: -8px
}

.subscribe-form__container #gform_1 .gform_fields {
    display: flex;
    width: 100%
}

.subscribe-form__container #gform_1 .gform_fields fieldset {
    margin-top: 0 !important
}

.subscribe-form__container #gform_1 .gform_fields .gfield {
    width: 50%
}

@media screen and (max-width:650px) {
    .subscribe-form__container #gform_1 .gform_fields .gfield {
        width: 100%
    }
}

@media screen and (max-width:650px) {
    .subscribe-form__container #gform_1 .gform_fields {
        flex-direction: column
    }
}

.subscribe-form__container #gform_1 .gform_footer {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    isolation: isolate
}

.subscribe-form__container #gform_1 .gform_footer input[type=submit] {
    margin-bottom: 0;
    border: none;
    background: 0 0;
    cursor: pointer;
    position: relative;
    width: 40px;
    height: 30px;
    opacity: 0
}

.subscribe-form__container #gform_1 .gform_footer:after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    width: 20px;
    height: 15px;
    z-index: -1
}

@media screen and (max-width:650px) {
    .subscribe-form__container #gform_1 .gform_footer {
        max-height: 38px;
        bottom: 0;
        top: unset;
        transform: unset
    }
}

.subscribe-form__container .gform_validation_errors {
    display: none
}

@media screen and (max-width:768px) {
    .subscribe-form__container {
        width: 100%
    }
}

.site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100
}

.site-header__nav-container {
    width: calc(100% - 50px);
    max-width: 1200px;
    display: flex;
    justify-content: flex-start;
    margin: 0 auto 0 50px
}

@media only screen and (min-width:1366px) {
    .site-header__nav-container {
        max-width: 1600px;
        margin: auto
    }
}

@media only screen and (min-width:1920px) {
    .site-header__nav-container {
        max-width: 1600px;
        margin: auto
    }
}

.site-header .site-container.menu-container {
    max-width: 1163px;
    width: 100%;
    position: relative;
    margin: auto
}

.site-header .site-container.menu-container .site-logo {
    position: absolute;
    width: 374px;
    height: 374px;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    justify-content: center;
    top: -168px;
    left: -92px;
    z-index: 1000
}

.site-header .site-container.menu-container .site-logo img {
    display: block;
    height: 93px;
    width: auto;
    margin-top: 192px
}

@media screen and (max-width:1250px) {
    .site-header .site-container.menu-container .site-logo {
        height: 374px;
        width: 374px;
        left: -70px
    }
    .site-header .site-container.menu-container .site-logo img {
        margin-top: 205px;
        height: 90px
    }
}

@media screen and (max-width:1199px) {
    .site-header .site-container.menu-container .site-logo {
        height: 220px;
        width: 220px;
        top: -110px
    }
    .site-header .site-container.menu-container .site-logo img {
        margin-top: 135px;
        height: 45px
    }
}

@media screen and (max-width:600px) {
    .site-header .site-container.menu-container .site-logo {
        height: 200px;
        width: 200px;
        top: -110px;
        left: -80px
    }
    .site-header .site-container.menu-container .site-logo img {
        margin-top: 125px;
        height: 45px
    }
}

.site-header .site-container.menu-container .search-container {
    position: absolute;
    bottom: 5px;
    right: 0;
    height: 32px;
    display: flex;
    justify-content: center
}

@media only screen and (max-width:1250px) {
    .site-header .site-container.menu-container .search-container {
        right: 47px
    }
}

.site-header .site-container.menu-container .search-container a.search-icon {
    height: 32px;
    width: 32px;
    border-radius: 50px;
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0
}

.site-header .site-container.menu-container .search-container .searchandfilter {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    border-radius: 50px
}

.site-header .site-container.menu-container .search-container .searchandfilter ul {
    height: 100%
}

.site-header .site-container.menu-container .search-container .searchandfilter ul li.sf-field-search {
    padding: 0;
    height: 26px;
    width: 32px;
    transition: all .3s;
    transform: translateY(1px)
}

.site-header .site-container.menu-container .search-container .searchandfilter ul li.sf-field-search label {
    width: 100%;
    height: 100%
}

.site-header .site-container.menu-container .search-container .searchandfilter ul li.sf-field-search input {
    width: 100%;
    height: 100%;
    border-radius: 50px;
    border: 1px solid;
    padding: 3px 15px 3px 13px
}

.site-header .site-container.menu-container .search-container .searchandfilter ul li.sf-field-search.search-open {
    width: 232px
}

@media screen and (max-width:1199px) {
    .site-header .site-container.menu-container .search-container {
        display: none
    }
}

@media screen and (max-width:1199px) {
    .site-header .site-container.menu-container {
        display: flex;
        justify-content: flex-end
    }
}

.site-header__navigation {
    background-color: #000;
    padding-right: 26px;
    width: 100%;
    max-width: 1163px;
    box-sizing: border-box;
    border-bottom-right-radius: 15px;
    display: flex;
    padding-left: 321px
}

@media only screen and (max-width:1250px) {
    .site-header__navigation {
        width: 96%
    }
}

@media screen and (max-width:1199px) {
    .site-header__navigation {
        display: none
    }
}

.site-header__menu {
    display: flex;
    align-items: center;
    height: 62px;
    justify-content: space-between;
    width: 100%
}

.site-header__menu li {
    position: relative
}

.site-header__menu li:hover a {
    color: #169fe3
}

.site-header__menu li:first-of-type {
    margin: 0
}

.site-header__menu li a {
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    transition: all .3s;
    text-transform: capitalize
}

@media screen and (max-width:1050px) {
    .site-header__menu li {
        margin-left: 25px
    }
}

.site-header__menu .menu-item-has-children {
    position: relative
}

.site-header__menu .menu-item-has-children ul.sub-menu {
    position: absolute;
    top: 0;
    transform: translateY(45px);
    min-width: 300px;
    background-color: #f5812a;
    padding: 17px 0 21px 0;
    border-radius: 0 0 15px 15px;
    display: none
}

.site-header__menu .menu-item-has-children ul.sub-menu li {
    margin-left: 0;
    padding: 0 38px 0 16px;
    transition: all .3s;
    white-space: nowrap
}

.site-header__menu .menu-item-has-children ul.sub-menu li:hover {
    background-color: #ce6c23
}

.site-header__menu .menu-item-has-children ul.sub-menu a {
    color: #fff;
    font-size: 14px;
    line-height: 34px;
    font-weight: 600;
    white-space: nowrap
}

.site-header__menu li.bg-red:hover a {
    color: #e52a20
}

.site-header__menu li.bg-red .sub-menu {
    background-color: #e52a20 !important
}

.site-header__menu li.bg-red .sub-menu a {
    color: #fff
}

.site-header__menu li.bg-red .sub-menu li:hover {
    background-color: #be231b !important
}

.site-header__menu li.bg-blue:hover a {
    color: #169fe3
}

.site-header__menu li.bg-blue .sub-menu {
    background-color: #169fe3 !important
}

.site-header__menu li.bg-blue .sub-menu a {
    color: #fff
}

.site-header__menu li.bg-blue .sub-menu li:hover {
    background-color: #1490ce !important
}

.site-header__menu li.bg-purple:hover a {
    color: #70559f
}

.site-header__menu li.bg-purple .sub-menu {
    background-color: #70559f !important
}

.site-header__menu li.bg-purple .sub-menu a {
    color: #fff
}

.site-header__menu li.bg-purple .sub-menu li:hover {
    background-color: #503d72 !important
}

.site-header .socials-container {
    box-sizing: border-box;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background-color: #f5812a;
    height: 45px;
    padding: 11px 20px 15px 323px;
    border-bottom-right-radius: 15px
}

.site-header .socials-container a:not(:first-of-type) {
    margin-left: 11px
}

@media screen and (max-width:1200px) {
    .site-header .socials-container {
        padding: 11px 20px 15px 321px
    }
}

@media screen and (max-width:1199px) {
    .site-header .socials-container {
        display: none
    }
}

.site-header__hamburger {
    display: none
}

@media screen and (max-width:1199px) {
    .site-header__hamburger {
        height: 50px;
        width: 50px;
        display: flex;
        align-items: center;
        margin-top: 20px;
        margin-right: 30px;
        cursor: pointer;
        z-index: 10;
        padding: 10px;
        border-radius: 50%;
        background-color: #fff
    }
    .site-header__hamburger span {
        width: 100%;
        height: 3px;
        background-color: #000;
        position: relative;
        transition: all .15s ease-in-out
    }
    .site-header__hamburger span:before {
        position: absolute;
        top: -10px;
        left: 0;
        height: 3px;
        width: 100%;
        background-color: #000;
        content: "";
        transition: all .2s ease-out
    }
    .site-header__hamburger span:after {
        position: absolute;
        top: 10px;
        left: 0;
        height: 3px;
        width: 100%;
        background-color: #000;
        content: "";
        transition: all .2s ease-out
    }
    .site-header__hamburger.menu-open span {
        background-color: transparent
    }
    .site-header__hamburger.menu-open span:before {
        transform: translateY(10px) rotate(-45deg)
    }
    .site-header__hamburger.menu-open span:after {
        transform: translateY(-10px) rotate(45deg)
    }
}

.site-header__mobile {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    background-color: #000;
    z-index: 11;
    display: flex;
    flex-direction: column;
    padding-top: 125px;
    align-items: center;
    transform: translateX(100%);
    transition: transform .2s ease-in-out
}

.site-header__mobile.menu-open {
    transform: translateX(0)
}

.site-header__mobile--search {
    width: calc(100% - 50px);
    max-width: 350px;
    margin-bottom: 50px
}

.site-header__mobile--search label {
    width: 100%
}

.site-header__mobile--search input {
    width: 100%;
    padding: 10px 20px;
    border-radius: 23px
}

.site-header__mobile .socials-container {
    margin-top: 50px
}

.site-header__mobile .socials-container a {
    margin-right: 10px
}

.site-header__mobile .socials-container a:last-of-type {
    margin-right: 0
}

.site-header__mobile-menu {
    display: flex;
    flex-direction: column;
    text-align: center
}

.site-header__mobile-menu li {
    margin-left: 0;
    margin-bottom: 15px
}

.site-header__mobile-menu li a {
    font-size: 20px;
    line-height: 26px;
    color: #fff
}

.site-header__mobile-menu .sub-menu {
    display: none;
    margin-top: 10px;
    border-top: solid 1px #fffFFF28;
    padding-top: 5px
}

.site-header__mobile-menu .menu-item-has-children:after {
    content: '';
    display: inline-block;
    border-bottom: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    width: 8px;
    height: 8px;
    margin-left: 5px;
    margin-bottom: 5px;
    transition: ease-in-out .3s
}

.site-header__mobile-menu .menu-item-has-children:hover .sub-menu {
    display: none
}

.site-header__mobile-menu .menu-item-has-children.active:after {
    transform: rotate(-135deg)
}

.admin-bar .site-header {
    top: 32px !important
}

.site-page {
    padding: 60px 0
}

@media only screen and (max-width:768px) {
    .site-page {
        padding: 30px 0
    }
}

.error-page {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80vh;
    min-height: 500px;
    max-height: 950px
}

.error-page article {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    flex-direction: column
}

.single-post-meta {
    width: 100%
}

.single-post-meta .site-container {
    width: calc(100% - 50px);
    max-width: 958px;
    margin: 0 auto
}

.single-post-meta__container {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%
}

.single-post-meta__container a {
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 400
}

@media screen and (max-width:768px) {
    .single-post-meta__container a {
        margin-bottom: 15px
    }
}

.single-post-meta__container a img {
    margin-right: 11px
}

.single-post-meta__container span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 8px 15px;
    border-radius: 23px;
    color: #fff;
    font-size: 15px;
    font-weight: 600
}

@media screen and (max-width:768px) {
    .single-post-meta__container span {
        position: relative;
        top: unset;
        left: unset;
        transform: translate(0, 0)
    }
}

@media screen and (max-width:768px) {
    .single-post-meta__container {
        flex-direction: column
    }
}

.single-post-meta__container.taxonomy-listing {
    margin-bottom: 10px;
    margin-top: 50px;
}

.single-post-meta__container.single-training {
    margin-bottom: 6px
}

.case-study-meta {
    width: 100%
}

.case-study-meta .site-container {
    width: calc(100% - 50px);
    max-width: 958px;
    margin: 0 auto
}

.case-study-meta a {
    color: #000
}

.case-study-meta__information {
    width: 100%;
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 17px;
    z-index: 10;
    position: relative
}

@media only screen and (max-width:1450px) {
    .case-study-meta__information {
        margin-top: 25px
    }
}

.case-study-meta__information img {
    width: 100%;
    max-width: 277px;
    margin-bottom: 10px;
    z-index: 10;
    border-radius: 28px
}

.case-study-meta__information h1 {
    font-size: 30px;
    line-height: 46px;
    color: #000;
    font-weight: 600;
    text-align: center;
    margin-bottom: 0
}

@media screen and (max-width:375px) {
    .case-study-meta__information h1 {
        font-size: 26px;
        line-height: 40px;
        margin-bottom: 30px
    }
}

.case-study-meta__information.partner-info h1 {
    margin-bottom: -20px;
    margin-top: 20px
}

.case-study-meta__information h3 {
    font-size: 18px;
    line-height: 27px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 0
}

.case-study-meta__information.single-training {
    margin-bottom: 25px
}

.case-study-meta__information.single-training p {
    width: 100%;
    text-align: center
}

.partner {
    width: 100%
}

.partner .partner-text {
    width: 100%;
    max-width: 958px;
    margin: 0 auto;
    margin-bottom: 39px;
    text-align: center
}

.partner .partner-text p {
    font-size: 15px;
    line-height: 23px;
    font-weight: 500;
    color: #000
}

.partner .partner-text strong {
    font-weight: 600
}

@media only screen and (max-width:1366px) {
    .training-hero .page-hero__slider--single {
        max-height: 550px
    }
}

@media only screen and (max-width:1365px) and (min-width:1200px) {
    .training-hero .page-hero__slider--single__text {
        max-width: 804px
    }
    .training-hero .page-hero__slider--single__text br {
        display: none
    }
    .training-hero .page-hero__slider--single {
        max-height: 500px
    }
}

.training-meta.single-post-meta {
    width: 100%
}

.training-meta.single-post-meta .site-container {
    width: calc(100% - 50px);
    max-width: 958px;
    margin: 0 auto
}

.training-meta.single-post-meta__container {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%
}

.training-meta.single-post-meta__container a {
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 400
}

@media screen and (max-width:768px) {
    .training-meta.single-post-meta__container a {
        margin-bottom: 15px
    }
}

.training-meta.single-post-meta__container a img {
    margin-right: 11px
}

.training-meta.single-post-meta__container h1,
.training-meta.single-post-meta__container span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 8px 15px;
    border-radius: 23px;
    color: #fff;
    font-size: 15px;
    font-weight: 600
}

@media screen and (max-width:768px) {
    .training-meta.single-post-meta__container h1,
    .training-meta.single-post-meta__container span {
        position: relative;
        top: unset;
        left: unset;
        transform: translate(0, 0)
    }
}

@media screen and (max-width:768px) {
    .training-meta.single-post-meta__container {
        flex-direction: column
    }
}

.training-meta.single-post-meta__container.taxonomy-listing {
    margin-bottom: 10px
}

.training-meta.single-post-meta__container.single-training {
    margin-bottom: 6px
}

.training-meta {
    width: 100%
}

.training-meta .site-container {
    width: calc(100% - 50px);
    max-width: 958px;
    margin: 0 auto
}

.training-meta .site-container.no-p-t {
    padding-top: 0 !important
}

.training-meta a {
    color: #000
}

.training-meta h1 {
    font-size: 30px;
    line-height: 46px;
    color: #000;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px
}

@media screen and (max-width:375px) {
    .training-meta h1 {
        font-size: 26px;
        line-height: 40px;
        margin-bottom: 30px
    }
}

.training-meta__information {
    width: 100%;
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 17px;
    z-index: 10;
    position: relative
}

@media only screen and (max-width:1450px) {
    .training-meta__information {
        margin-top: 25px
    }
}

.training-meta__information img {
    width: 100%;
    max-width: 959px;
    margin-bottom: 10px
}

.training-meta__information h2 {
    font-size: 30px;
    line-height: 46px;
    color: #000;
    font-weight: 600;
    text-align: center;
    margin-bottom: 35px
}

@media screen and (max-width:375px) {
    .training-meta__information h2 {
        font-size: 26px;
        line-height: 40px;
        margin-bottom: 30px
    }
}

.training-meta__information h3 {
    font-size: 18px;
    line-height: 27px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 0
}

.training-meta__information .description {
    font-size: 15px;
    line-height: 23px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 41px
}

.training-meta__information .details-container {
    display: flex;
    justify-content: space-between;
    align-content: center;
    flex-wrap: wrap;
    margin-bottom: 34px;
    padding-bottom: 47px;
    border-bottom: solid 2px #e3e3e3
}

.training-meta__information .details-container__left {
    max-height: 415px;
    min-height: 415px;
    border-radius: 28px;
    overflow: hidden
}

.training-meta__information .details-container__left .featured-image {
    min-height: 100%;
    min-width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.training-meta__information .details-container__right {
    display: flex;
    flex-direction: column;
    align-self: center
}

.training-meta__information .details-container__right--inner {
    display: flex;
    align-items: center
}

.training-meta__information .details-container__right--inner:not(:last-of-type) {
    border-bottom: solid 2px #e3e3e3;
    padding-bottom: 10px;
    margin-bottom: 20px
}

.training-meta__information .details-container__right .icon {
    max-width: 30px;
    height: auto;
    justify-self: center
}

.training-meta__information .details-container__right .text {
    margin-left: 17px
}

.training-meta__information .details-container__right .text .title {
    margin-bottom: 6px;
    font-weight: 700
}

.training-meta__information .details-container__right .text .subtext {
    margin-bottom: 0;
    font-weight: 500
}

.training-meta__information .details-container__right .text .subtext,
.training-meta__information .details-container__right .text .title {
    font-size: 18px;
    line-height: 27px
}

.training-meta__information .details-container__right .dates .icon {
    margin-top: 5px;
    align-self: flex-start
}

.training-meta__information .details-container__right .dates .subtext p:not(:last-of-type) {
    margin-bottom: 5px
}

.training-meta__information .details-container__right .dates .subtext p:last-of-type {
    margin-bottom: 0
}

.training-meta__information .details-container__left,
.training-meta__information .details-container__right {
    width: calc(50% - 19px)
}

@media only screen and (max-width:768px) {
    .training-meta__information .details-container__left,
    .training-meta__information .details-container__right {
        width: 80%;
        margin: auto;
        min-height: unset
    }
}

@media only screen and (max-width:500px) {
    .training-meta__information .details-container__left,
    .training-meta__information .details-container__right {
        width: 100%
    }
}

.single-training {
    margin-bottom: 0
}

.single-training .fw-text p {
    width: 100%;
    font-weight: 500
}

.single-training .fw-text h3 {
    font-size: 18px;
    line-height: 27px;
    font-weight: 700
}

.single-training img {
    max-width: 666px
}

.single-post-meta {
    width: calc(100% - 50px);
    margin: auto
}

.single-post-meta__container .btn-back {
    font-weight: 500
}

.single-post-meta__container .btn-back svg {
    margin-right: 11px
}

.single-post-meta__container h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 8px 15px;
    border-radius: 23px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1
}

@media screen and (max-width:768px) {
    .single-post-meta__container h1 {
        position: relative;
        top: unset;
        left: unset;
        transform: translate(0, 0)
    }
}

.news-meta.single-post-meta .site-container {
    max-width: 958px;
    margin: 0 auto
}

.news-meta.single-post-meta__container {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%
}

.news-meta.single-post-meta__container a {
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 400
}

@media screen and (max-width:768px) {
    .news-meta.single-post-meta__container a {
        margin-bottom: 15px
    }
}

.news-meta.single-post-meta__container a img {
    margin-right: 11px
}

.news-meta.single-post-meta__container span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 8px 15px;
    border-radius: 23px;
    color: #fff;
    font-size: 15px;
    font-weight: 600
}

@media screen and (max-width:768px) {
    .news-meta.single-post-meta__container span {
        position: relative;
        top: unset;
        left: unset;
        transform: translate(0, 0)
    }
}

@media screen and (max-width:768px) {
    .news-meta.single-post-meta__container {
        flex-direction: column
    }
}

.news-meta.single-post-meta__container.taxonomy-listing {
    margin-bottom: 10px
}

.news-meta.single-post-meta__container.single-training {
    margin-bottom: 6px
}

.news-meta {
    width: calc(100% - 50px)
}

.news-meta .site-container {
    max-width: 958px;
    margin: 0 auto
}

.news-meta a {
    color: #000
}

.news-meta__information {
    width: 100%;
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 17px;
    z-index: 10;
    position: relative
}

@media only screen and (max-width:1450px) {
    .news-meta__information {
        margin-top: 25px
    }
}

.news-meta__information img {
    width: 100%;
    max-width: 959px;
    margin-bottom: 10px;
    border-radius: 28px
}

.news-meta__information h1 {
    font-size: 30px;
    line-height: 46px;
    color: #000;
    font-weight: 600;
    text-align: center;
    margin-bottom: 27px
}

@media screen and (max-width:375px) {
    .news-meta__information h1 {
        font-size: 26px;
        line-height: 40px;
        margin-bottom: 30px
    }
}

.news-meta__information h3 {
    font-size: 18px;
    line-height: 27px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 0
}

.single-news {
    margin-bottom: 25px
}

.single-news .fw-text p {
    width: 100%;
    font-weight: 500
}

.single-news .fw-image .site-container img {
    max-width: 666px
}

.single-news .social-shares {
    margin-top: 33px
}

.single-news .social-shares .site-container {
    max-width: 958px
}

.single-case-study {
    margin-bottom: 25px
}

.single-case-study .fw-text p {
    width: 100%;
    font-weight: 500
}

.single-case-study .fw-image .site-container img {
    max-width: 958px
}

.single-case-study .social-shares {
    margin-top: 33px
}

.single-case-study .social-shares .site-container {
    max-width: 958px
}

.one-column-image .site-container {
    max-width: 960px
}

.one-column-image .site-container .flex-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.one-column-image .site-container .flex-container h1 {
    font-size: 20px
}

.one-column-image .site-container .flex-container img {
    margin-bottom: 43px
}

.one-column-image .site-container .flex-container p {
    text-align: center;
    font-size: 15px
}

.one-column-image .site-container .flex-container li {
    font-size: 15px
}

@media only screen and (max-width:600px) {
    .one-column-image .site-container .flex-container li,
    .one-column-image .site-container .flex-container p {
        font-size: 12px
    }
    .one-column-image .site-container .flex-container img {
        max-width: 90%
    }
}

.three-block-cta .site-container {
    max-width: 795px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 50px;
    padding-top: 23px
}

@media only screen and (max-width:600px) {
    .three-block-cta .site-container {
        padding-top: 0;
        padding-bottom: 30px
    }
}

.three-block-cta .site-container .grid-container {
    margin-left: -20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px
}

.three-block-cta .site-container .grid-container .header {
    text-align: center;
    margin-top: 13px;
    font-size: 25px;
    font-weight: 600;
    line-height: 52px;
    margin-bottom: 0
}

.three-block-cta .site-container .cta_button {
    color: #000 !important
}

.three-block-cta .site-container .cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #f5812a;
    border: 3px solid #f5812a;
    font-size: 19px;
    font-weight: 600;
    border-radius: 28px;
    margin-left: auto;
    margin-right: auto;
    padding: 12px 25px;
    margin-bottom: 53px;
    margin-top: 52px;
    max-width: 220px
}

@media only screen and (max-width:900px) {
    .three-block-cta .site-container {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto
    }
    .three-block-cta .site-container .grid-container {
        max-width: 100%;
        gap: 10px
    }
    .three-block-cta .site-container .grid-container a {
        display: flex;
        align-items: center;
        flex-direction: column
    }
    .three-block-cta .site-container .grid-container img {
        max-width: 90%
    }
}

@media only screen and (max-width:600px) {
    .three-block-cta .site-container {
        margin-left: auto;
        margin-right: auto
    }
    .three-block-cta .site-container .grid-container {
        max-width: 80%;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-left: auto;
        margin-right: auto;
        gap: 0
    }
    .three-block-cta .site-container .grid-container img {
        max-width: 245.5px
    }
}

.accordion-block .site-container {
    padding-bottom: 48px
}

.accordion-block .site-container h2 {
    font-size: 30px;
    line-height: 40px
}

@media only screen and (max-width:1024px) {
    .accordion-block .site-container h2 {
        font-size: 20px;
        line-height: 30px
    }
}

.accordion-block .site-container h3 {
    font-size: 38px;
    text-align: center;
    line-height: 40px;
    font-weight: 600;
    padding-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
    max-width: 950px
}

.accordion-block .site-container .grid-container {
    display: grid;
    grid-template-columns: 1fr;
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
    gap: 15px
}

.accordion-block .site-container .grid-container .header {
    display: flex;
    position: relative;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    font-size: 19px;
    font-weight: 600;
    margin: 0;
    line-height: 25px;
    padding: 14px 60px 15px 36px;
    border-width: 3px;
    border-style: solid;
    border-radius: 28px;
    cursor: pointer;
    transition: all .7s
}

.accordion-block .site-container .grid-container .header::before {
    display: block;
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background-color: #fff;
    left: 0;
    border-radius: 25px;
    transition: all .7s
}

.accordion-block .site-container .grid-container .header .text {
    z-index: 10
}

.accordion-block .site-container .grid-container .header svg {
    position: absolute;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3px;
    transition: all .7s;
    font-size: 0;
    height: 25px;
    flex-grow: 1;
    right: 25px
}

.accordion-block .site-container .grid-container .header:hover {
    color: #fff !important
}

.accordion-block .site-container .grid-container .header:hover svg {
    stroke: #fff !important
}

.accordion-block .site-container .grid-container .header:hover::before {
    display: block;
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background-color: #fff;
    left: 0;
    border-radius: 28px;
    opacity: 0
}

.accordion-block .site-container .grid-container .active {
    color: #fff !important
}

.accordion-block .site-container .grid-container .active svg {
    stroke: #fff !important;
    transform: rotate(90deg)
}

.accordion-block .site-container .grid-container .active::before {
    z-index: -10
}

.accordion-block .site-container .grid-container .sub-heading li,
.accordion-block .site-container .grid-container .sub-heading p,
.accordion-block .site-container .grid-container .sub-heading ul {
    margin-top: 25px
}

.accordion-block .site-container .grid-container .sub-heading p {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 25px;
    font-weight: 500;
    font-size: 15px
}

.accordion-block .site-container .grid-container .sub-heading ul {
    max-width: calc(90% - 30px);
    margin-left: auto;
    margin-right: auto
}

.accordion-block .site-container .grid-container .sub-heading li {
    font-size: 15px;
    line-height: 1.2
}

.accordion-block .site-container .grid-container .sub-heading li,
.accordion-block .site-container .grid-container .sub-heading ul {
    margin-top: 10px
}

@media only screen and (max-width:768px) {
    .accordion-block .site-container .grid-container .header {
        font-size: 17px
    }
}

@media only screen and (max-width:600px) {
    .accordion-block .site-container .grid-container .header {
        font-size: 14px
    }
    .accordion-block .site-container .grid-container .sub-heading p {
        font-size: 12px
    }
}

.accreditations-block {
    border-top: 1px solid #000
}

.accreditations-block .site-container {
    padding: 0 !important
}

@media only screen and (max-width:1050px) {
    .accreditations-block .site-container {
        width: 100%;
        margin: 0
    }
}

.accreditations-block .site-container .flex-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    min-height: 130px;
    overflow: hidden
}

.accreditations-block .site-container .flex-container .heading {
    background-color: #313131;
    padding: 40px 34px 40px 54px;
    height: 100%;
    z-index: 10;
    max-width: 234px
}

.accreditations-block .site-container .flex-container .heading h1,
.accreditations-block .site-container .flex-container .heading h2 {
    margin-bottom: 0;
    min-width: 234px;
    color: #fff;
    font-size: 20px;
    line-height: 25px;
    font-weight: 700;
    display: flex;
    align-items: center
}

.accreditations-block .site-container .flex-container .images-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 47px;
    width: calc(100% - 234px)
}

.accreditations-block .site-container .flex-container .images-container .swiper-wrapper {
    align-items: center
}

.accreditations-block .site-container .flex-container .images-container img {
    max-height: 130px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center
}

@media only screen and (max-width:1024px) {
    .accreditations-block .site-container .flex-container h1 {
        margin: 0;
        min-width: 184px;
        font-size: 20px;
        line-height: 25px
    }
    .accreditations-block .site-container .flex-container .images-container {
        justify-content: space-between;
        padding: 0 47px 0 15px
    }
    .accreditations-block .site-container .flex-container .images-container .swiper-wrapper {
        align-items: center
    }
}

@media only screen and (max-width:960px) {
    .accreditations-block .site-container .flex-container * {
        box-sizing: border-box
    }
    .accreditations-block .site-container .flex-container .images-container {
        padding: 0 10px
    }
}

@media only screen and (max-width:768px) {
    .accreditations-block .site-container .flex-container {
        flex-direction: column
    }
    .accreditations-block .site-container .flex-container .heading {
        width: 100%;
        text-align: center;
        max-width: unset
    }
    .accreditations-block .site-container .flex-container h1 {
        text-align: center;
        padding: 30px;
        max-width: 100%;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: auto
    }
    .accreditations-block .site-container .flex-container h1 br {
        content: ''
    }
    .accreditations-block .site-container .flex-container .images-container {
        padding: 20px 20px;
        width: 100%;
        overflow: hidden
    }
    .accreditations-block .site-container .flex-container .images-container img {
        max-height: 140px
    }
}

@media only screen and (max-width:768px) {
    .accreditations-block .site-container .flex-container h1 {
        min-width: 144px;
        background-color: #313131;
        color: #fff;
        font-size: 15px;
        line-height: 25px;
        padding: 40px 34px 40px 20px
    }
    @-webkit-keyframes travel {
        0% {
            transform: translateX(100vw)
        }
        100% {
            transform: translateX(0)
        }
    }
    @keyframes travel {
        0% {
            transform: translateX(100vw)
        }
        100% {
            transform: translateX(0)
        }
    }
}

.assesment-cta .site-container {
    max-width: 100%
}

.assesment-cta .site-container .flex-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 180px;
    max-width: calc(1200px - 92px);
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto
}

.assesment-cta .site-container .flex-container .logo {
    display: flex;
    flex-direction: row;
    align-items: center
}

.assesment-cta .site-container .flex-container .logo .headers {
    margin-left: 50px
}

.assesment-cta .site-container .flex-container .logo .headers h3 {
    font-size: 61px;
    line-height: 61px;
    margin: 0;
    font-weight: 600;
    max-width: 533px;
    color: #fff
}

.assesment-cta .site-container .flex-container .logo .headers h3 span {
    color: #e52a20
}

.assesment-cta .site-container .flex-container .logo .headers h2 {
    line-height: 52px;
    font-size: 38px;
    max-width: 507px;
    color: #fff;
    font-weight: 600;
    margin: 0
}

.assesment-cta .site-container .flex-container a {
    display: flex;
    align-items: center;
    border-radius: 28px;
    padding: 12.5px 72px 12.5px 56px;
    font-size: 19px;
    border: 3px solid #fff;
    color: #fff;
    white-space: nowrap
}

.assesment-cta .site-container .flex-container a :last-child {
    margin-left: 30px
}

@media only screen and (max-width:960px) {
    .assesment-cta .site-container {
        max-width: 100%;
        width: calc(100%)
    }
    .assesment-cta .site-container .flex-container {
        padding-top: 20px;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
        max-width: 85%;
        justify-content: center;
        flex-wrap: wrap
    }
    .assesment-cta .site-container .flex-container :not(:last-child) {
        margin-bottom: 30px
    }
    .assesment-cta .site-container .flex-container .logo {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin-top: 20px
    }
    .assesment-cta .site-container .flex-container .logo .headers {
        margin-left: 50px
    }
    .assesment-cta .site-container .flex-container .logo .headers h2 {
        font-size: 41px;
        line-height: 50px;
        margin: 0;
        font-weight: 600;
        max-width: 350px;
        color: #fff
    }
    .assesment-cta .site-container .flex-container .logo .headers h1 {
        line-height: 38px;
        font-size: 26px;
        max-width: 507px
    }
    .assesment-cta .site-container .flex-container a {
        flex: 100%;
        display: flex;
        align-items: center;
        justify-content: space-around;
        border-radius: 28px;
        padding: 12.5px 21px 12.5px 21px;
        max-height: 60px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        margin-top: 0;
        margin-bottom: 20px
    }
    .assesment-cta .site-container .flex-container a :last-child {
        margin-left: 10px
    }
    .assesment-cta .site-container .flex-container a img {
        max-width: 21px;
        height: 21px
    }
}

@media only screen and (max-width:620px) {
    .assesment-cta .site-container {
        max-width: 100%;
        width: calc(100% - 30px)
    }
    .assesment-cta .site-container .flex-container {
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
        max-width: 95%;
        margin-left: auto;
        margin-right: auto
    }
    .assesment-cta .site-container .flex-container :not(:last-child) {
        margin-bottom: 10px
    }
    .assesment-cta .site-container .flex-container .logo {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        margin-top: 20px;
        width: 100%
    }
    .assesment-cta .site-container .flex-container .logo :last-child {
        margin-left: 10px
    }
    .assesment-cta .site-container .flex-container .logo img {
        width: 90px;
        height: 90px
    }
    .assesment-cta .site-container .flex-container .logo .headers {
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content
    }
    .assesment-cta .site-container .flex-container .logo .headers h2 {
        display: inline;
        font-size: 26px;
        line-height: 32px;
        max-width: 300px;
        margin: 0;
        font-weight: 600;
        color: #fff
    }
    .assesment-cta .site-container .flex-container .logo .headers h1 {
        line-height: 28px;
        font-size: 14px;
        max-width: 507px
    }
    .assesment-cta .site-container .flex-container a {
        flex: 100%;
        display: flex;
        align-items: center;
        border-radius: 28px;
        padding: 12.5px 21px 12.5px 21px;
        max-height: 60px;
        font-size: 14px;
        max-width: 100%;
        margin-top: 0;
        max-width: 80%
    }
    .assesment-cta .site-container .flex-container a :last-child {
        margin-left: 10px
    }
}

.contact-page .site-container {
    margin-bottom: 151px;
    margin-top: 45px
}

.contact-page .site-container h2 {
    font-size: 25px;
    font-weight: 600;
    line-height: 52;
    width: 498px;
    line-height: 52px;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 20px
}

.contact-page .site-container .subheading {
    width: 713px;
    margin: 0 auto;
    text-align: center;
    font-size: 15px;
    line-height: 21px;
    font-weight: 600;
    margin-bottom: 50px
}

.contact-page .site-container .grid-container {
    margin: 0 auto;
    max-width: 877px;
    grid-gap: 89px;
    display: grid;
    grid-template-columns: auto 297px
}

.contact-page .site-container .grid-container .contact-info .address p {
    font-size: 18px;
    color: #000;
    font-weight: 600;
    line-height: 27px;
    margin-bottom: 30px
}

.contact-page .site-container .grid-container .contact-info .phone-email {
    display: flex;
    flex-direction: column;
    margin-bottom: 32px
}

.contact-page .site-container .grid-container .contact-info .phone-email a {
    font-size: 18px;
    color: #000;
    font-weight: 600;
    line-height: 27px
}

.contact-page .site-container .grid-container .contact-info .sm h3 {
    font-size: 18px;
    line-height: 27px;
    font-weight: 400;
    color: #000
}

.contact-page .site-container .grid-container .contact-info .sm .links {
    display: flex;
    flex-direction: row;
    align-items: center
}

.contact-page .site-container .grid-container .contact-info .sm .links :not(:last-child) {
    margin-right: 19px
}

.contact-page .site-container #gform_submit_button_2 {
    background-color: #f5812a
}

@media only screen and (max-width:760px) {
    .contact-page .site-container {
        margin-bottom: 80px
    }
    .contact-page .site-container h1 {
        width: 70%;
        font-size: 20px;
        line-height: 27px
    }
    .contact-page .site-container .subheading {
        width: 90%;
        font-size: 13px
    }
    .contact-page .site-container .grid-container {
        grid-template-columns: auto;
        align-items: center
    }
    .contact-page .site-container .grid-container>:not(:last-child) {
        margin-bottom: 20px
    }
    .contact-page .site-container .grid-container .contact-info {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: center;
        flex-direction: row;
        margin: auto
    }
    .contact-page .site-container .grid-container .contact-info .address {
        margin-right: 40px
    }
    .contact-page .site-container .grid-container .contact-info .address p {
        margin-bottom: 0
    }
    .contact-page .site-container .grid-container .contact-info .phone-email {
        margin-bottom: 0
    }
}

@media only screen and (max-width:760px) and (max-width:500px) {
    .contact-page .site-container .grid-container .contact-info {
        flex-direction: column
    }
    .contact-page .site-container .grid-container .contact-info .address,
    .contact-page .site-container .grid-container .contact-info .phone-email {
        margin-bottom: 20px
    }
    .contact-page .site-container .grid-container .contact-info .address {
        margin-right: 0
    }
}

.contact-form {
    margin-top: 33px;
    width: 100%
}

.contact-form .site-container {
    padding-bottom: 60px
}

@media only screen and (max-width:830px) {
    .contact-form {
        margin-bottom: 30px
    }
}

@media only screen and (max-width:60px) {
    .contact-form {
        margin-bottom: 20px
    }
}

.contact-form__wrapper {
    padding-top: 33px;
    width: 100%;
    max-width: 958px;
    margin: 0 auto
}

.contact-form__wrapper h2 {
    font-size: 30px;
    font-weight: 600;
    line-height: 40px;
    text-align: center;
    width: 100%
}

.gform_body .gfield input,
.gform_body .gfield textarea {
    border: none;
    background-color: #e6e6e6;
    padding: 16px 29px !important;
    border-radius: 28px;
    font-family: Poppins, sans-serif !important
}

.gform_body .gfield input::-moz-placeholder,
.gform_body .gfield textarea::-moz-placeholder {
    font-size: 16px !important;
    color: #000;
    font-family: Poppins, sans-serif !important;
    font-weight: 400
}

.gform_body .gfield input:-ms-input-placeholder,
.gform_body .gfield textarea:-ms-input-placeholder {
    font-size: 16px !important;
    color: #000;
    font-family: Poppins, sans-serif !important;
    font-weight: 400
}

.gform_body .gfield input::-ms-input-placeholder,
.gform_body .gfield textarea::-ms-input-placeholder {
    font-size: 16px !important;
    color: #000;
    font-family: Poppins, sans-serif !important;
    font-weight: 400
}

.gform_body .gfield input::placeholder,
.gform_body .gfield textarea::placeholder {
    font-size: 16px !important;
    color: #000;
    font-family: Poppins, sans-serif !important;
    font-weight: 400
}

.gform_body .gfield textarea {
    resize: none
}

.gform_body .gfield textarea::-moz-placeholder {
    font-size: 16px !important
}

.gform_body .gfield textarea:-ms-input-placeholder {
    font-size: 16px !important
}

.gform_body .gfield textarea::-ms-input-placeholder {
    font-size: 16px !important
}

.gform_body .gfield textarea::placeholder {
    font-size: 16px !important
}

.gform_body .gfield .datepicker {
    width: 100% !important
}

.gform_body .gfield .ginput_container {
    position: relative
}

.gform_body .gfield .ginput_container_date {
    position: relative
}

.gform_body .gfield .ginput_container_date input {
    background-position: calc(100% - 26px) 50%;
    background-size: 15px;
    background-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-down.svg);
    background-repeat: no-repeat
}

.gform_body .gfield .ginput_container_radio {
    margin-top: 11px
}

.gform_body .gfield .ginput_container_radio .gchoice {
    margin-bottom: 19px;
    font-size: 16px;
    line-height: 21px;
    display: flex
}

.gform_body .gfield .ginput_container_radio .gchoice:last-child {
    margin-bottom: 0
}

.gform_body .gfield .ginput_container_radio .gchoice input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    border: solid 1px #000;
    background-color: transparent;
    padding: 0 !important;
    margin-right: 10px;
    flex-shrink: 0
}

.gform_body .gfield .ginput_container_radio .gchoice input:checked {
    background-color: #169fe3
}

.gform_body .gfield p {
    font-size: 18px;
    line-height: 27px;
    font-style: italic;
    font-weight: 700;
    color: #169fe3
}

.gform_body fieldset {
    margin-top: 35px !important
}

.gform_footer {
    margin: 0;
    padding: 0 !important
}

.gform_footer input[type=submit] {
    width: 100%;
    padding: 15px 29px;
    background-color: #169fe3;
    color: #fff;
    font-size: 19px;
    font-weight: 700;
    border: none;
    border-radius: 50px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.cta-banner .site-container {
    max-width: 100%
}

.cta-banner .site-container .flex-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 180px;
    max-width: calc(1200px - 92px);
    justify-content: center;
    margin-left: auto;
    margin-right: auto
}

.cta-banner .site-container .flex-container .headers {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 22px;
    margin-right: 76px;
    flex-direction: column
}

.cta-banner .site-container .flex-container .headers h2 {
    font-size: 30px;
    line-height: 52px;
    margin: 0;
    font-weight: 600
}

.cta-banner .site-container .flex-container .headers h3 {
    font-size: 47px;
    line-height: 50px;
    margin: 0;
    font-weight: 600
}

.cta-banner .site-container .flex-container p {
    font-size: 25px;
    line-height: 32px;
    margin: 0;
    font-weight: 600;
    max-width: 222px;
    margin-right: 68px
}

.cta-banner .site-container .flex-container a {
    display: flex;
    align-items: center;
    border-radius: 28px;
    padding: 12.5px 21px 12.5px 56px;
    font-size: 19px;
    font-weight: 600
}

.cta-banner .site-container .flex-container a svg {
    width: 21px;
    height: 21px;
    margin-left: 30px
}

@media only screen and (max-width:1091px) {
    .cta-banner .site-container {
        max-width: 100%;
        width: calc(100% - 30px)
    }
    .cta-banner .site-container .flex-container {
        height: 180px;
        max-width: 100%;
        justify-content: space-between
    }
    .cta-banner .site-container .flex-container .headers {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        flex-direction: column;
        margin-left: -50px
    }
    .cta-banner .site-container .flex-container .headers h1 {
        font-size: 22px;
        line-height: 52px
    }
    .cta-banner .site-container .flex-container .headers h2 {
        font-size: 34px;
        line-height: 50px
    }
    .cta-banner .site-container .flex-container p {
        font-size: 20px;
        line-height: 32px;
        margin: 0;
        font-weight: 600;
        max-width: 200px
    }
    .cta-banner .site-container .flex-container a {
        display: flex;
        align-items: center;
        border-radius: 28px;
        padding: 12.5px 21px 12.5px 21px
    }
    .cta-banner .site-container .flex-container a :last-child {
        margin-left: 10px
    }
}

@media only screen and (max-width:900px) {
    .cta-banner .site-container {
        max-width: 100%;
        width: calc(100% - 30px)
    }
    .cta-banner .site-container .flex-container {
        height: 180px;
        max-width: 100%;
        justify-content: space-between
    }
    .cta-banner .site-container .flex-container .headers {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        flex-direction: column;
        margin-left: -10px;
        margin-right: 10px
    }
    .cta-banner .site-container .flex-container .headers h1 {
        font-size: 18px;
        line-height: 32px
    }
    .cta-banner .site-container .flex-container .headers h2 {
        font-size: 27px;
        line-height: 50px
    }
    .cta-banner .site-container .flex-container p {
        font-size: 16px;
        line-height: 32px;
        margin: 0;
        font-weight: 600;
        max-width: 180px
    }
    .cta-banner .site-container .flex-container a {
        display: flex;
        align-items: center;
        border-radius: 28px;
        padding: 12.5px 21px 12.5px 21px
    }
    .cta-banner .site-container .flex-container a :last-child {
        margin-left: 10px
    }
}

@media only screen and (max-width:760px) {
    .cta-banner .site-container {
        max-width: 100%;
        width: calc(100% - 30px);
        padding-top: 25px;
        padding-bottom: 45px
    }
    .cta-banner .site-container .flex-container {
        padding-top: 20px;
        margin-top: 0;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
        max-width: 85%;
        justify-content: space-between;
        flex-direction: column
    }
    .cta-banner .site-container .flex-container :not(:last-of-type) {
        margin-bottom: 30px
    }
    .cta-banner .site-container .flex-container img {
        -o-object-fit: contain;
        object-fit: contain;
        flex: 113px;
        height: 115px;
        width: auto
    }
    .cta-banner .site-container .flex-container .headers {
        display: flex;
        justify-content: center;
        margin: 0;
        flex-direction: column;
        margin-left: 0;
        margin-right: 0;
        width: 100% !important;
        align-items: center
    }
    .cta-banner .site-container .flex-container .headers h1 {
        font-size: 18px;
        line-height: 32px;
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content;
        text-align: center
    }
    .cta-banner .site-container .flex-container .headers h2 {
        font-size: 27px;
        line-height: 50px;
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content;
        text-align: center
    }
    .cta-banner .site-container .flex-container p {
        font-size: 20px;
        line-height: 32px;
        margin: 0;
        font-weight: 600;
        max-width: 180px;
        flex: 33%
    }
    .cta-banner .site-container .flex-container a {
        flex: 100%;
        display: flex;
        align-items: center;
        justify-content: space-around;
        border-radius: 28px;
        padding: 12.5px 21px 12.5px 21px;
        max-height: 60px;
        max-width: 250px;
        margin-left: auto;
        margin-right: auto;
        margin-top: -30px;
        margin-bottom: 20px
    }
    .cta-banner .site-container .flex-container a :last-child {
        margin-left: 10px
    }
    .cta-banner .site-container .flex-container a img {
        max-width: 21px;
        height: 21px
    }
}

@media only screen and (max-width:760px) {
    .cta-banner .site-container {
        max-width: 100%;
        width: calc(100% - 30px)
    }
    .cta-banner .site-container .flex-container {
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
        max-width: 90%
    }
    .cta-banner .site-container .flex-container :not(:last-child) {
        margin-bottom: 10px
    }
    .cta-banner .site-container .flex-container img {
        height: 85px;
        width: auto
    }
    .cta-banner .site-container .flex-container .headers {
        flex: 50%;
        display: flex;
        margin: 0;
        flex-direction: column;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
    .cta-banner .site-container .flex-container .headers h1 {
        font-size: 16px;
        line-height: 32px;
        text-align: right
    }
    .cta-banner .site-container .flex-container .headers h2 {
        font-size: 24px;
        line-height: 50px;
        text-align: right
    }
    .cta-banner .site-container .flex-container p {
        font-size: 17px;
        line-height: 32px;
        margin: 0;
        font-weight: 600;
        max-width: 100%;
        flex: 100%;
        text-align: center
    }
    .cta-banner .site-container .flex-container a {
        flex: 100%;
        display: flex;
        align-items: center;
        border-radius: 28px;
        padding: 12.5px 21px 12.5px 21px;
        max-height: 60px;
        max-width: 100%;
        margin-top: 0
    }
    .cta-banner .site-container .flex-container a svg {
        margin-left: 10px
    }
    .cta-banner .site-container .flex-container a img {
        max-width: 21px;
        height: 21px
    }
}

.fifty-fifty-image-text .site-container {
    padding-top: 37px;
    padding-bottom: 65px;
    max-width: 958px
}

.fifty-fifty-image-text .site-container h2 {
    font-size: 18px;
    line-height: 27px;
    text-align: center;
    font-weight: 700
}

.fifty-fifty-image-text .site-container li {
    font-size: 15px;
    line-height: 1.2
}

@media only screen and (max-width:650px) {
    .fifty-fifty-image-text .site-container ul {
        margin-left: 0 !important
    }
}

.fifty-fifty-image-text .site-container ul>ul {
    margin-left: 45px
}

@media only screen and (max-width:650px) {
    .fifty-fifty-image-text .site-container ul>ul {
        margin-left: 25px
    }
}

.fifty-fifty-image-text .site-container a.btn {
    background: 0 0;
    border-radius: 28px;
    border: 3px solid #000;
    color: #000;
    font-size: 15px;
    font-weight: 600;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 17px;
    display: block;
    max-width: 251px
}

.fifty-fifty-image-text .site-container a.btn::after {
    transform: translateY(-50%) rotate(90deg);
    right: 15px
}

.fifty-fifty-image-text .site-container .subtext p {
    font-size: 15px;
    line-height: 23px;
    font-weight: 500;
    text-align: center
}

.fifty-fifty-image-text .site-container .flex-container {
    display: flex;
    flex-direction: row;
    min-height: 244px;
    max-width: 856px;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
    justify-content: center
}

.fifty-fifty-image-text .site-container .flex-container>:not(:last-child) {
    margin-right: 38px
}

.fifty-fifty-image-text .site-container .flex-container .text {
    min-width: 40%;
    margin-left: 0
}

.fifty-fifty-image-text .site-container .flex-container .text h1 {
    font-weight: 700;
    font-size: 15px;
    line-height: 23px
}

.fifty-fifty-image-text .site-container .flex-container .text p {
    font-size: 15px;
    line-height: 23px;
    font-weight: 500
}

.fifty-fifty-image-text .site-container .flex-container .text p:last-of-type {
    margin: 0
}

@media only screen and (max-width:856px) {
    .fifty-fifty-image-text .site-container {
        max-width: 95vw
    }
    .fifty-fifty-image-text .site-container .subtext p {
        font-size: 12px;
        line-height: 19px
    }
    .fifty-fifty-image-text .site-container .flex-container {
        margin-top: 20px;
        flex-direction: column;
        height: auto;
        align-items: flex-start
    }
    .fifty-fifty-image-text .site-container .flex-container>:not(:last-child) {
        margin-right: 0;
        margin-bottom: 38px
    }
    .fifty-fifty-image-text .site-container .flex-container img {
        width: 100%
    }
    .fifty-fifty-image-text .site-container .flex-container .text {
        margin-left: 20px;
        width: calc(100% - 20px)
    }
    .fifty-fifty-image-text .site-container .flex-container .text p {
        font-size: 12px
    }
}

#fifty-fifty-image-text-block_6318f7b6d1993 .text {
    margin-left: 0 !important
}

.fifty-fifty-vid-text {
    margin-top: 40px;
    margin-bottom: 41px
}

.fifty-fifty-vid-text .site-container {
    max-width: 960px
}

.fifty-fifty-vid-text .site-container .flex-container {
    display: flex;
    flex-direction: row;
    margin-left: auto;
    margin-right: auto
}

.fifty-fifty-vid-text .site-container .flex-container .video {
    max-width: 426px;
    max-height: 242px;
    overflow: hidden;
    flex-shrink: 0;
    margin-right: 44px
}

.fifty-fifty-vid-text .site-container .flex-container .video img {
    max-height: 100%;
    max-width: 100%
}

@media only screen and (max-width:900px) {
    .fifty-fifty-vid-text .site-container .flex-container .video {
        margin-right: 0;
        margin-bottom: 44px
    }
}

.fifty-fifty-vid-text .site-container .flex-container .text {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 28px
}

@media only screen and (max-width:900px) {
    .fifty-fifty-vid-text .site-container {
        max-width: 80%
    }
    .fifty-fifty-vid-text .site-container .flex-container {
        flex-direction: column;
        margin-left: auto;
        margin-right: auto
    }
    .fifty-fifty-vid-text .site-container .flex-container .video {
        margin-left: auto;
        margin-right: auto;
        max-width: 426px;
        max-height: 242px
    }
    .fifty-fifty-vid-text .site-container .flex-container .video iframe {
        max-width: 426px;
        max-height: 242px
    }
    .fifty-fifty-vid-text .site-container .flex-container .text {
        font-size: 18px;
        text-align: center
    }
}

@media only screen and (max-width:600px) {
    .fifty-fifty-vid-text .site-container {
        max-width: 960px
    }
    .fifty-fifty-vid-text .site-container .flex-container {
        display: flex;
        margin-left: auto;
        margin-right: auto
    }
    .fifty-fifty-vid-text .site-container .flex-container .video {
        max-width: 100%;
        max-height: 180px
    }
    .fifty-fifty-vid-text .site-container .flex-container .video iframe {
        max-width: 100%;
        max-height: 180px
    }
    .fifty-fifty-vid-text .site-container .flex-container .text {
        font-size: 14px;
        line-height: 28px
    }
}

.fw-image {
    width: 100%;
    margin-bottom: 36px;
    margin-top: 36px
}

.fw-image .site-container {
    width: calc(100% - 50px);
    margin: 0 auto;
    display: flex;
    justify-content: center
}

.fw-image .site-container img {
    width: 100%;
    height: auto
}

.fw-text {
    width: 100%;
    margin-bottom: 10px
}

.fw-text .site-container {
    width: calc(100% - 50px);
    max-width: 958px;
    margin: 0 auto
}

.fw-text h4 {
    font-size: 18px;
    line-height: 27px;
    font-weight: 700
}

.fw-text p {
    font-size: 15px;
    font-weight: 500;
    line-height: 23px
}

.fw-text strong {
    font-weight: 600
}

.latest-news {
    background-color: #000;
    color: #fff;
    padding-top: 37px
}

.latest-news .site-container {
    max-width: 926px;
    width: calc(100% - 50px)
}

.latest-news .site-container .text-container {
    text-align: center
}

.latest-news .site-container .text-container__heading {
    font-size: 20px;
    line-height: 30px;
    color: #fff;
    font-weight: 600;
    margin-bottom: 9px
}

.latest-news .site-container .text-container__subtext {
    font-size: 22px;
    line-height: 33px;
    color: grey;
    margin-bottom: 27px
}

.latest-news .site-container .latest-news-carousel {
    overflow: hidden;
    margin-bottom: -5px
}

.latest-news .site-container .latest-news-carousel__wrapper--pagination .progress-bar {
    position: relative;
    display: block;
    transform: translateX(calc(-50vw + 50%));
    height: 6px
}

.latest-news .site-container .latest-news-carousel__wrapper--pagination .progress-bar::after {
    position: absolute;
    content: '';
    top: 50%;
    left: 0;
    height: 1px;
    width: 100vw;
    background-color: #fff;
    transform: translateY(-50%);
    z-index: -1
}

.latest-news .site-container .latest-news-carousel__wrapper--pagination .progress-bar .swiper-pagination-bullet {
    width: calc(calc(100% - 100px)/ 3);
    border-radius: 0;
    z-index: 15;
    background-color: transparent;
    margin: 0
}

.latest-news .site-container .latest-news-carousel__wrapper--pagination .progress-bar .swiper-pagination-bullet-active {
    background-color: #e52a20
}

@media only screen and (max-width:767px) {
    .latest-news .site-container .latest-news-carousel__wrapper--pagination .progress-bar .swiper-pagination-bullet {
        width: calc(calc(100% - 80px)/ 9)
    }
}

.latest-news .site-container .latest-news-carousel__wrapper--pagination .nav-buttons {
    display: flex;
    justify-content: space-between;
    align-content: center;
    height: 58px
}

.latest-news .site-container .latest-news-carousel__navigation {
    display: block
}

.latest-news .site-container .latest-news-carousel__navigation--next,
.latest-news .site-container .latest-news-carousel__navigation--prev {
    display: flex;
    align-items: center;
    position: relative;
    top: 0;
    margin: 0;
    height: 100%;
    outline: unset
}

.latest-news .site-container .latest-news-carousel__navigation--next path,
.latest-news .site-container .latest-news-carousel__navigation--prev path {
    transition: ease-in-out .4s
}

.latest-news .site-container .latest-news-carousel__navigation--next:after,
.latest-news .site-container .latest-news-carousel__navigation--prev:after {
    display: none
}

.latest-news .site-container .latest-news-carousel__navigation--next:hover path,
.latest-news .site-container .latest-news-carousel__navigation--prev:hover path {
    stroke: #f5812a
}

.latest-news .site-container .latest-news-carousel__navigation--next.disabled path,
.latest-news .site-container .latest-news-carousel__navigation--prev.disabled path {
    stroke: #9f9f9f
}

.latest-news .site-container .latest-news-carousel__item {
    height: auto
}

.latest-news .site-container .latest-news-carousel__item--category {
    font-weight: 500;
    margin-bottom: 6px
}

.latest-news .site-container .latest-news-carousel__item .image-container {
    margin-bottom: 21px
}

.latest-news .site-container .latest-news-carousel__item--image {
    max-width: 100%;
    transition: ease-in-out .3s;
    border-radius: 15px;
    min-height: 190px;
    -o-object-fit: cover;
    object-fit: cover
}

.latest-news .site-container .latest-news-carousel__item--image:hover {
    -webkit-filter: grayscale(.6);
    filter: grayscale(.6)
}

.latest-news .site-container .latest-news-carousel__item--title {
    color: #fff;
    font-size: 16px;
    line-height: 25px;
    font-weight: 400
}

.latest-news .site-container .latest-news-carousel__item .image-container {
    position: relative;
    cursor: pointer;
    display: block
}

.latest-news .site-container .latest-news-carousel__item .image-container .arrow {
    position: absolute;
    display: block;
    background-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/news-arrow.png);
    height: 24px;
    width: 24px;
    background-size: 10px;
    border-radius: 50%;
    bottom: 6px;
    right: 6px;
    background-repeat: no-repeat;
    background-position: center
}

.latest-news .site-container .latest-news-carousel__item.swiper-slide-active {
    border-bottom: solid 6px
}

.latest-news .site-container .latest-news-carousel__item.swiper-slide-active.border-black {
    border-color: #000
}

.latest-news .site-container .latest-news-carousel__item.swiper-slide-active.border-purple {
    border-color: #70559f
}

.latest-news .site-container .latest-news-carousel__item.swiper-slide-active.border-orange {
    border-color: #f5812a
}

.latest-news .site-container .latest-news-carousel__item.swiper-slide-active.border-red {
    border-color: #e52a20
}

.latest-news .site-container .latest-news-carousel__item.swiper-slide-active.border-blue {
    border-color: #169fe3
}

.latest-news .site-container .latest-news-carousel__item.swiper-slide-active.border-yellow {
    border-color: #f2c245
}

.legal-page-template .site-container {
    max-width: 960px;
    margin-bottom: 58px;
    margin-top: 75px
}

.legal-page-template .site-container a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: 260px;
    border-radius: 28px;
    border: 3px solid #000;
    position: relative;
    padding: 15px 27px;
    font-size: 19px;
    color: #000;
    font-weight: 600;
    transition: all .5s
}

.legal-page-template .site-container a:hover {
    background-color: #000;
    color: #fff
}

.legal-page-template .site-container a:hover svg {
    stroke: #fff
}

.legal-page-template .site-container svg {
    fill: none;
    position: absolute;
    right: 21px;
    stroke: #000;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3px;
    transition: all .7s;
    font-size: 0;
    height: 21px;
    flex-grow: 1
}

.legal-page-template .site-container p {
    font-size: 15px;
    line-height: 23px
}

.legal-page-template .site-container strong {
    font-size: 18px;
    line-height: 27px
}

@media only screen and (max-width:600px) {
    .legal-page-template .site-container p {
        font-size: 12px;
        line-height: 23px
    }
    .legal-page-template .site-container strong {
        font-size: 14px;
        line-height: 27px
    }
    .legal-page-template .site-container a {
        font-size: 15px;
        padding: 10px 27px;
        width: 80%;
        max-width: 220px
    }
}

.list-block {
    background-color: #e6e6e6
}

.list-block .site-container {
    padding-bottom: 25px
}

.list-block .site-container .section-heading {
    font-size: 30px;
    text-align: center;
    line-height: 40px;
    font-weight: 600;
    padding-top: 50px;
    margin-left: auto;
    margin-right: auto;
    max-width: 713px;
    margin-bottom: 40px
}

.list-block .site-container .main-container {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto
}

.list-block .site-container .main-container .block {
    display: flex;
    flex-direction: row;
    position: relative
}

.list-block .site-container .main-container .block>:not(:last-child) {
    margin-bottom: 15px
}

.list-block .site-container .main-container .block .image {
    position: absolute;
    max-height: auto;
    max-width: 105px;
    flex: 105px;
    flex-basis: 105px;
    flex-grow: 0;
    flex-shrink: 0;
    margin: 0
}

.list-block .site-container .main-container .block .flex-container {
    margin-left: 140px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    max-width: 646px
}

.list-block .site-container .main-container .block .flex-container .header {
    font-size: 20px;
    line-height: 30px;
    font-weight: 600
}

.list-block .site-container .main-container .block .flex-container .list-container {
    display: grid;
    grid-auto-flow: column;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    grid-gap: 0 50px
}

.list-block .site-container .main-container .block .flex-container .list-container .list-line-container {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    margin-bottom: 15px
}

.list-block .site-container .main-container .block .flex-container .list-container .list-line-container img {
    height: 20px;
    max-width: 20px;
    margin-right: 10px
}

.list-block .site-container .main-container .block .flex-container .list-container .list-line-container p {
    margin: 0;
    width: 100%;
    font-size: 15px;
    line-height: 23px;
    font-weight: 500
}

@media only screen and (max-width:768px) {
    .list-block .site-container .section-heading {
        font-size: 20px;
        text-align: center;
        line-height: 30px;
        font-weight: 600;
        padding-top: 50px;
        margin-left: auto;
        margin-right: auto;
        max-width: 713px
    }
    .list-block .site-container .main-container .block .flex-container .list-container {
        grid-template-columns: 1fr
    }
    .list-block .site-container .main-container .block .flex-container .list-container .list-line-container {
        grid-column: 1
    }
    .list-block .site-container .main-container .block .flex-container .list-container .list-line-container p {
        margin-right: 40px
    }
}

@media only screen and (max-width:600px) {
    .list-block .site-container .section-heading {
        font-size: 20px;
        text-align: center;
        line-height: 30px;
        font-weight: 600;
        padding-top: 50px;
        margin-left: auto;
        margin-right: auto;
        max-width: 713px
    }
    .list-block .site-container .main-container .block {
        flex-direction: column
    }
    .list-block .site-container .main-container .block .image {
        position: relative;
        max-height: auto;
        margin-left: auto;
        margin-right: auto;
        flex-grow: 0;
        flex-shrink: 0
    }
    .list-block .site-container .main-container .block .flex-container {
        margin-left: 0
    }
    .list-block .site-container .main-container .block .flex-container .header {
        font-size: 16px;
        line-height: 30px;
        font-weight: 600;
        text-align: center
    }
    .list-block .site-container .main-container .block .flex-container .list-container {
        margin: auto;
        grid-template-columns: 1fr !important
    }
    .list-block .site-container .main-container .block .flex-container .list-container .list-line-container {
        grid-column: 1
    }
    .list-block .site-container .main-container .block .flex-container .list-container .list-line-container p {
        margin-right: 0;
        font-size: 12px
    }
}

.logo-carousel h2 {
    font-size: 30px;
    line-height: 40px;
    text-align: center;
    margin: 60px auto 78px;
    font-weight: 600
}

.logo-carousel .slider {
    position: relative;
    max-width: 1200px;
    width: 100%;
    display: grid;
    place-items: center;
    overflow: hidden
}

.logo-carousel .slider::after,
.logo-carousel .slider::before {
    position: absolute;
    content: '';
    height: 100%;
    width: 25%;
    z-index: 2;
    pointer-events: none
}

.logo-carousel .slider::before {
    left: -30px;
    top: 0
}

.logo-carousel .slider::after {
    right: -10px;
    top: 0;
    transform: rotateZ(180deg)
}

.logo-carousel .slide-track {
    width: calc(180px * 12);
    display: flex;
    -webkit-animation: scroll 10s linear infinite;
    animation: scroll 10s linear infinite;
    justify-content: space-between
}

.logo-carousel .slide {
    height: 100px;
    width: auto;
    display: grid;
    place-items: center;
    transition: .5s;
    cursor: pointer
}

.logo-carousel .slide:hover {
    transform: scale(.8)
}

@-webkit-keyframes scroll {
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(calc(-180px * 6))
    }
}

@keyframes scroll {
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(calc(-180px * 6))
    }
}

@-webkit-keyframes scroll2 {
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(calc(-150px * 5))
    }
}

@keyframes scroll2 {
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(calc(-150px * 5))
    }
}

@media screen and (max-width:768px) {
    .logo-carousel h1 {
        font-size: 20px;
        line-height: 40px;
        text-align: center;
        margin: 60px auto 9px
    }
    @-webkit-keyframes scroll {
        0% {
            transform: translateX(0)
        }
        100% {
            transform: translateX(calc(-150px * 10))
        }
    }
    @keyframes scroll {
        0% {
            transform: translateX(0)
        }
        100% {
            transform: translateX(calc(-150px * 10))
        }
    }
    @-webkit-keyframes scroll2 {
        0% {
            transform: translateX(0)
        }
        100% {
            transform: translateX(calc(-80px * 5))
        }
    }
    @keyframes scroll2 {
        0% {
            transform: translateX(0)
        }
        100% {
            transform: translateX(calc(-80px * 5))
        }
    }
}

.one-column-text {
    margin-top: -2px
}

.one-column-text .site-container {
    display: flex;
    align-items: center;
    flex-direction: column;
    max-width: 100%;
    padding: 43px 0 50px
}

@media only screen and (max-width:600px) {
    .one-column-text .site-container {
        padding: 25px 0
    }
}

.one-column-text .site-container .container {
    max-width: 713px;
    text-align: center;
    margin-left: auto;
    margin-right: auto
}

.one-column-text .site-container .container.white-text * {
    color: #fff
}

.one-column-text .site-container .container [style*=grid] {
    max-width: 550px;
    margin: auto;
    -moz-column-gap: 41px !important;
    column-gap: 41px !important;
    text-align: left
}

.one-column-text .site-container .container [style*=grid]>p {
    display: none
}

@media only screen and (max-width:650px) {
    .one-column-text .site-container .container [style*=grid] {
        grid-template-columns: repeat(1, 1fr) !important
    }
}

.one-column-text .site-container .container.wider-col {
    max-width: 958px;
    width: calc(100% - 50px)
}

.one-column-text .site-container .container .h1 {
    font-size: 25px;
    font-weight: 600;
    line-height: 52px;
    margin-bottom: 19px
}

@media only screen and (max-width:500px) {
    .one-column-text .site-container .container .h1 {
        line-height: 38px
    }
}

.one-column-text .site-container .container h2:not(.h1) {
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
    margin-bottom: 30px
}

.one-column-text .site-container .container h4 {
    font-size: 18px;
    line-height: 27px;
    font-weight: 600;
    margin-top: 30px
}

.one-column-text .site-container .container li,
.one-column-text .site-container .container p {
    font-size: 15px;
    line-height: 23px;
    font-weight: 500
}

.one-column-text .site-container .container ul {
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    text-align: left;
    margin: auto auto 19px
}

.one-column-text .site-container .container ul li {
    text-align: left !important;
    margin-bottom: 0
}

.one-column-text .site-container .container p {
    margin-bottom: 19px;
    line-height: 21px;
    font-weight: 500
}

.one-column-text .site-container .container p {
    margin-bottom: 19px
}

.one-column-text .site-container .container p .fw-600,
.one-column-text .site-container .container p.fw-600 {
    font-weight: 600
}

.one-column-text .site-container a {
    display: flex;
    align-items: center;
    color: #f5812a;
    border: 3px solid #f5812a;
    font-size: 19px;
    font-weight: 600;
    border-radius: 28px;
    margin-left: auto;
    margin-right: auto;
    padding: 12px 25px
}

.one-column-text .site-container a :last-child {
    margin-left: 12px
}

.one-column-text .site-container a path {
    transition: ease-in-out .4s
}

.one-column-text .site-container a:hover {
    background-color: #f5812a;
    color: #fff
}

.one-column-text .site-container a:hover path {
    stroke: #fff
}

@media only screen and (max-width:1050px) {
    .one-column-text .site-container {
        width: 100%
    }
}

@media only screen and (max-width:600px) {
    .one-column-text .site-container {
        width: calc(100% - 50px)
    }
    .one-column-text .site-container .container p {
        line-height: 30px
    }
    .one-column-text .site-container .container ul {
        padding-left: 25px
    }
    .one-column-text .site-container .container.wider-col {
        max-width: 958px;
        width: 100%
    }
}

.one-column-text.grey-bg .site-container .container p {
    color: #000
}

.one-column-text.grey-bg .wider-btn {
    border-color: #000;
    color: #000;
    width: 100%;
    max-width: 264px;
    margin-top: 25px
}

.one-column-text.grey-bg .wider-btn span {
    margin-left: auto;
    margin-right: auto
}

.one-column-text.grey-bg .wider-btn svg path {
    stroke: #000
}

@media only screen and (min-width:768px) {
    #one-column-text-block_63154c7b15ec3,
    .page-hero+.one-column-text {
        z-index: 5;
        position: relative
    }
}

#one-column-text-block_6318dd5041cd3 h1 {
    font-size: 18px;
    line-height: 23px;
    font-weight: 700
}

#one-column-text-block_6318e48c41cd7 .alignnone {
    margin-bottom: 0;
    margin-right: 5px
}

#one-column-text-block_6318e48c41cd7 div br {
    height: 20px;
    margin-top: 5px;
    margin-bottom: 5px;
    display: block
}

.one-column-video-embed {
    margin-top: 40px;
    margin-bottom: 41px
}

.one-column-video-embed .site-container {
    max-width: 960px
}

.one-column-video-embed .site-container h3 {
    font-size: 20px;
    line-height: 30px;
    text-align: center;
    font-weight: 700
}

.one-column-video-embed .site-container h2 {
    font-size: 18px;
    line-height: 27px;
    text-align: center;
    font-weight: 700
}

.one-column-video-embed .site-container p {
    font-size: 15px;
    line-height: 23px;
    font-weight: 500;
    text-align: center
}

.one-column-video-embed .site-container .flex-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    gap: 37px
}

.one-column-video-embed .site-container .flex-container .video {
    max-width: 480px;
    max-height: 273px
}

.one-column-video-embed .site-container .flex-container .video iframe {
    max-width: 480px;
    max-height: 273px
}

.one-column-video-embed .site-container .flex-container p {
    font-size: 15px;
    line-height: 23px;
    text-align: center
}

@media only screen and (max-width:900px) {
    .one-column-video-embed .site-container {
        max-width: 80%
    }
    .one-column-video-embed .site-container h3 {
        font-size: 17px;
        line-height: 26px;
        text-align: center;
        font-weight: 700
    }
    .one-column-video-embed .site-container h2 {
        font-size: 15px;
        line-height: 22px;
        text-align: center;
        font-weight: 700
    }
    .one-column-video-embed .site-container .text p {
        font-size: 12px;
        line-height: 20px;
        font-weight: 500;
        text-align: center
    }
    .one-column-video-embed .site-container .flex-container {
        flex-direction: column;
        margin-left: auto;
        margin-right: auto
    }
    .one-column-video-embed .site-container .flex-container .video {
        margin-left: auto;
        margin-right: auto;
        max-width: 426px;
        max-height: 242px
    }
    .one-column-video-embed .site-container .flex-container .video iframe {
        max-width: 426px;
        max-height: 242px
    }
    .one-column-video-embed .site-container .flex-container .text {
        font-size: 18px;
        text-align: center
    }
}

@media only screen and (max-width:600px) {
    .one-column-video-embed .site-container {
        max-width: 960px
    }
    .one-column-video-embed .site-container .flex-container {
        display: flex;
        margin-left: auto;
        margin-right: auto;
        gap: 44px
    }
    .one-column-video-embed .site-container .flex-container .video {
        max-width: 100%;
        max-height: 230px
    }
    .one-column-video-embed .site-container .flex-container .video iframe {
        max-width: 100%;
        max-height: 230px
    }
    .one-column-video-embed .site-container .flex-container p {
        font-size: 14px;
        line-height: 23px
    }
}

.one-column-video-embed .video {
    width: 100%;
    height: 273px
}

.one-column-video-embed .video a {
    width: 100%;
    height: 100%;
    display: inline-block
}

.page-hero {
    width: 100%;
    position: relative;
    overflow: hidden
}

@media only screen and (max-width:750px) {
    .page-hero {
        margin-bottom: -2px;
        padding-bottom: 0
    }
}

.page-hero__slider {
    position: relative
}

.page-hero__slider--single {
    max-height: 785px;
    width: 110vw;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

@media screen and (min-width:1500px) {
    .page-hero__slider--single {
        width: 120vw
    }
}

.page-hero__slider--single .site-container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-top: 230px !important;
    height: 60vh;
    max-height: 600px;
    width: calc(100vw);
    margin-bottom: 200px
}

@media screen and (max-width:1450px) {
    .page-hero__slider--single .site-container {
        max-height: 565px;
        align-items: flex-start
    }
}

@media screen and (max-width:768px) {
    .page-hero__slider--single .site-container {
        max-height: unset;
        width: calc(100% - 100px);
        padding-top: 150px !important;
        margin-left: auto;
        margin-right: auto;
        height: auto
    }
}

@media only screen and (max-height:800px) {
    .page-hero__slider--single .site-container {
        padding-top: 120px !important
    }
}

.page-hero__slider--single__text {
    padding: 19px 25px 40px;
    margin-left: 140px;
    background-color: #000;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    max-width: 504px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    align-items: flex-start;
    position: relative
}

.page-hero__slider--single__text.no-btn {
    padding: 19px 25px
}

@media only screen and (min-width:1199px) {
    .page-hero__slider--single__text {
        margin-left: 100px;
        max-width: 504px
    }
}

@media screen and (max-width:768px) {
    .page-hero__slider--single__text {
        margin-left: auto;
        margin-right: auto;
        max-width: 85%
    }
}

.page-hero__slider--single__text .h1,
.page-hero__slider--single__text h1 {
    color: #fff;
    font-size: 44px;
    line-height: 50px;
    font-weight: 600;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 0
}

@media screen and (max-width:768px) {
    .page-hero__slider--single__text .h1,
    .page-hero__slider--single__text h1 {
        font-size: 26px;
        line-height: 32px
    }
}

@media only screen and (max-height:768px) {
    .page-hero__slider--single__text .h1,
    .page-hero__slider--single__text h1 {
        font-size: 32px;
        line-height: 40px
    }
}

.page-hero__slider--single__text .hero-btn {
    position: absolute;
    bottom: 0;
    right: 15px;
    z-index: 10;
    transform: translateY(50%);
    font-weight: 600;
    color: #000 !important
}

@media only screen and (max-height:768px) {
    .page-hero__slider--single__text .hero-btn {
        line-height: 40px;
        font-size: 14px;
        padding: 5px 64px 5px 30px
    }
}

@media screen and (max-width:768px) {
    .page-hero__slider--single__text {
        padding: 15px 15px 34px
    }
    .page-hero__slider--single__text.no-btn {
        padding: 15px
    }
}

@media screen and (max-width:1450px) {
    .page-hero__slider--single {
        max-height: 650px
    }
}

@media screen and (max-width:768px) {
    .page-hero__slider--single {
        max-height: 435px
    }
}

.page-hero__slider--navigation {
    width: calc(100% - 50px)
}

@media only screen and (max-width:768px) {
    .page-hero__slider--navigation {
        display: none
    }
}

.page-hero__slider--navigation__next,
.page-hero__slider--navigation__prev {
    outline: unset
}

.page-hero__slider--navigation__next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 32px;
    width: 32px;
    border-radius: 50%;
    background-color: #000;
    cursor: pointer;
    z-index: 10
}

.page-hero__slider--navigation__next::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 15px;
    width: 15px;
    content: "";
    background-color: #fff;
    mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    -webkit-mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    mask-size: contain;
    -webkit-mask-size: contain
}

.page-hero__slider--navigation__next.swiper-button-disabled {
    opacity: .7 !important
}

@media screen and (min-width:1921px) {
    .page-hero__slider--navigation__next {
        right: 300px
    }
}

@media screen and (min-width:2561px) {
    .page-hero__slider--navigation__next {
        right: 25%
    }
}

@media screen and (max-width:1920px) {
    .page-hero__slider--navigation__next {
        right: 100px
    }
}

@media screen and (max-width:1450px) {
    .page-hero__slider--navigation__next {
        right: 40px
    }
}

@media screen and (max-width:768px) {
    .page-hero__slider--navigation__next {
        right: 10px
    }
}

.page-hero__slider--navigation__prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 32px;
    width: 32px;
    border-radius: 50%;
    background-color: #000;
    cursor: pointer;
    z-index: 10
}

.page-hero__slider--navigation__prev::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(180deg);
    height: 15px;
    width: 15px;
    content: "";
    background-color: #fff;
    mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    -webkit-mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    mask-size: contain;
    -webkit-mask-size: contain
}

.page-hero__slider--navigation__prev.swiper-button-disabled {
    opacity: .7 !important
}

@media screen and (min-width:1921px) {
    .page-hero__slider--navigation__prev {
        left: 300px
    }
}

@media screen and (min-width:2561px) {
    .page-hero__slider--navigation__prev {
        left: 25%
    }
}

@media screen and (max-width:1920px) {
    .page-hero__slider--navigation__prev {
        left: 100px
    }
}

@media screen and (max-width:1450px) {
    .page-hero__slider--navigation__prev {
        left: 40px
    }
}

@media screen and (max-width:768px) {
    .page-hero__slider--navigation__prev {
        left: 10px
    }
}

.page-hero.background-white {
    width: 100%
}

.page-hero.background-white::after {
    background-color: #fff
}

.page-hero.background-black {
    width: 100%
}

.page-hero.background-black::after {
    background-color: #000
}

.page-hero .bottom-arc {
    position: absolute;
    bottom: -5px;
    left: 0;
    pointer-events: none;
    width: 100%;
    display: flex;
    z-index: 2;
    background-size: contain;
    background-size: 100%;
    background-repeat: no-repeat
}

.page-hero .bottom-arc img {
    height: 100%
}

.page-hero .bottom-arc svg {
    width: 100%
}

@media screen and (max-width:600px) {
    .page-hero .bottom-arc {
        bottom: 0
    }
    .page-hero .bottom-arc svg {
        min-height: unset
    }
}

.contact-hero .page-hero__slider--single .acf-map {
    position: absolute !important;
    top: -20px;
    height: 130%
}

.contact-hero .page-hero__slider--single .site-container {
    pointer-events: none
}

.contact-hero .page-hero__slider--single__text {
    padding: 19px 25px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.contact-hero .page-hero__slider--single__text .h1,
.contact-hero .page-hero__slider--single__text h1 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media only screen and (max-width:768px) {
    .contact-hero .site-container .page-hero__slider--single__text {
        margin-left: 100px
    }
}

@media only screen and (max-width:600px) {
    .contact-hero .site-container .page-hero__slider--single__text {
        margin-left: 0
    }
}

.page-intro {
    width: 100%;
    padding-top: 75px;
    margin-bottom: 60px
}

.page-intro p {
    font-size: 15px;
    line-height: 23px;
    font-weight: 400;
    text-align: center;
    max-width: 958px;
    margin: 0 auto
}

.page-intro p:first-child {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 30px
}

.page-intro p:last-child {
    margin-bottom: 0
}

.partner-repeater {
    width: 100%;
    margin-bottom: 46px !important;
    position: relative
}

.partner-repeater__slider {
    position: relative;
    width: 100%;
    max-width: 958px;
    margin: 0 auto;
    overflow: hidden
}

.partner-repeater__slider--single {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 300px
}

.partner-repeater__slider--next,
.partner-repeater__slider--prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer
}

.partner-repeater__slider--next img,
.partner-repeater__slider--prev img {
    max-height: 15px;
    max-width: 15px;
    -o-object-position: center;
    object-position: center;
    -o-object-fit: contain;
    object-fit: contain
}

.partner-repeater__slider--prev {
    left: 50px
}

@media screen and (max-width:1024px) {
    .partner-repeater__slider--prev {
        left: -25px
    }
}

.partner-repeater__slider--next {
    right: 50px
}

@media screen and (max-width:1024px) {
    .partner-repeater__slider--next {
        right: -25px
    }
}

.post-testimonial {
    width: 100%;
    margin-bottom: 46px !important
}

.post-testimonial .site-container {
    width: calc(100% - 50px);
    max-width: 958px;
    margin: 0 auto
}

.post-testimonial__wrapper {
    width: 100%;
    border-radius: 30px;
    padding: 30px 69px 31px 29px
}

@media screen and (max-width:768px) {
    .post-testimonial__wrapper {
        padding: 30px 20px
    }
}

.post-testimonial__wrapper * {
    color: #fff
}

.post-testimonial__wrapper h4 {
    font-size: 15px;
    line-height: 23px;
    font-weight: 500
}

.post-testimonial__wrapper p {
    font-size: 18px;
    line-height: 27px;
    font-weight: 700;
    font-style: italic;
    margin-bottom: 0
}

.related-case-studies {
    width: 100%;
    margin-bottom: 56px !important;
    display: flex;
    flex-direction: column;
    align-items: center
}

.related-case-studies .site-container {
    padding-top: 36px;
    border-top: 2px solid #e3e3e3;
    width: calc(100% - 50px);
    max-width: 958px;
    margin: 0 auto
}

.related-case-studies .site-container.no-border {
    border-top: 2px solid transparent
}

.related-case-studies .h1 {
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    line-height: 40px;
    margin-bottom: 38px
}

.related-case-studies__wrapper {
    width: 100%;
    display: flex;
    max-width: 830px;
    margin: 0 auto
}

@media screen and (max-width:700px) {
    .related-case-studies__wrapper {
        flex-direction: column;
        align-items: center
    }
}

.related-case-studies__single {
    width: calc(33% - 20px);
    margin-right: 38px;
    display: flex;
    flex-direction: column;
    color: #000;
    margin-bottom: 0
}

.related-case-studies__single:nth-child(3n) {
    margin-right: 0
}

.related-case-studies__single--content {
    border-radius: 28px;
    flex-grow: 1;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 354px
}

.related-case-studies__single--content .arrow {
    position: absolute;
    right: 17px;
    bottom: 16px;
    height: 15px;
    width: 15px;
    mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    -webkit-mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    mask-size: contain;
    -webkit-mask-size: contain
}

@media screen and (max-width:700px) {
    .related-case-studies__single {
        width: 100%;
        max-width: 375px;
        margin-right: 0;
        margin-bottom: 30px
    }
}

.related-case-studies__image {
    width: 100%;
    height: 163px;
    border-radius: 0 0 28px 28px;
    margin-bottom: 14px;
    overflow: hidden
}

.related-case-studies__image img {
    width: 100%;
    height: 100%;
    max-height: 163px;
    -o-object-fit: cover;
    object-fit: cover
}

.related-case-studies__title {
    width: 100%;
    padding: 0 29px 0 20px;
    margin-bottom: 11px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    text-align: left
}

.related-case-studies__excerpt {
    padding: 0 29px 32px 20px
}

.related-case-studies__excerpt p {
    font-size: 10px;
    line-height: 16px;
    font-weight: 500;
    font-size: 10px;
    line-height: 16px;
    font-weight: 500;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    text-overflow: ellipsis
}

.related-case-studies__excerpt p:last-child {
    margin-bottom: 0
}

.related-case-studies.related-news-posts .entry-category {
    margin-bottom: 11px;
    font-weight: 500
}

.related-case-studies.related-news-posts .related-case-studies__single--content .related-case-studies__excerpt,
.related-case-studies.related-news-posts .related-case-studies__single--content .related-case-studies__title {
    color: #000 !important
}

.related-case-studies.related-news-posts .related-case-studies__single--content:hover .related-case-studies__excerpt,
.related-case-studies.related-news-posts .related-case-studies__single--content:hover .related-case-studies__title {
    color: #000 !important
}

.related-case-studies.related-news-posts .related-case-studies__single--content {
    box-sizing: content-box;
    min-height: 408px
}

.related-case-studies__single:hover {
    color: #000 !important
}

.related-case-studies__title:hover {
    color: #000 !important
}

.related-case-studies__excerpt:hover {
    color: #000 !important
}

.related-training {
    width: 100%;
    margin-bottom: 45px !important;
    display: flex;
    flex-direction: column;
    align-items: center
}

.related-training:last-of-type {
    margin-bottom: 71px !important
}

.related-training .site-container {
    padding-top: 36px;
    width: calc(100% - 50px);
    max-width: 958px;
    margin: 0 auto
}

@media only screen and (max-width:830px) {
    .related-training .site-container {
        padding-top: 25px
    }
}

.related-training h2 {
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    line-height: 40px;
    margin-bottom: 38px
}

.related-training__wrapper {
    width: 100%;
    display: flex;
    max-width: 830px;
    margin: 0 auto 35px;
    justify-content: center;
    gap: 38px
}

@media screen and (max-width:700px) {
    .related-training__wrapper {
        flex-direction: column;
        align-items: center;
        gap: 0
    }
}

.related-training__single {
    width: calc(33% - 20px);
    display: flex;
    flex-direction: column;
    color: #000;
    margin-bottom: 0
}

.related-training__single:nth-child(3n) {
    margin-right: 0
}

.related-training__single--content {
    border-radius: 28px;
    flex-grow: 1;
    overflow: hidden;
    position: relative
}

.related-training__single--content .arrow {
    position: absolute;
    right: 17px;
    bottom: 16px;
    height: 15px;
    width: 15px;
    mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    -webkit-mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    mask-size: contain;
    -webkit-mask-size: contain
}

@media screen and (max-width:700px) {
    .related-training__single {
        width: 100%;
        max-width: 375px;
        margin-right: 0;
        margin-bottom: 30px
    }
}

.related-training__image {
    width: 100%;
    height: 100%;
    max-height: 163px;
    border-radius: 0 0 28px 28px;
    margin-bottom: 14px;
    overflow: hidden
}

.related-training__image img {
    width: 100%;
    height: auto
}

@media screen and (max-width:992px) {
    .related-training__image img {
        -o-object-fit: cover;
        object-fit: cover
    }
}

.related-training__title {
    width: 100%;
    padding: 0 29px 0 20px;
    margin-bottom: 11px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600
}

.related-training .related-training-excerpt-wrapper {
    padding: 0 29px 32px 20px
}

.related-training__excerpt {
    font-size: 10px;
    line-height: 16px;
    font-weight: 400;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #000
}

.related-training__excerpt p {
    font-size: 10px;
    line-height: 16px;
    font-weight: 400
}

.related-training .link {
    width: 100%;
    display: flex;
    justify-content: center
}

.related-training .link .btn-relation {
    padding: 11px 17px;
    min-width: 250px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 600
}

.related-training .link .btn-relation:after {
    display: none
}

.related-training .link .mask {
    width: 18px;
    height: 18px;
    display: inline-block;
    mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    -webkit-mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    mask-size: contain;
    -webkit-mask-size: contain
}

.social-shares .post-share__share-text {
    display: block;
    margin-bottom: 19px;
    font-weight: 500;
    font-size: 18px;
    line-height: 27px
}

.social-shares .post-share__anchor {
    margin-right: 18px
}

.training-information {
    width: 100%;
    margin-bottom: 33px
}

.training-information__wrapper {
    width: 100%;
    max-width: 958px;
    margin: 0 auto;
    padding-bottom: 47px;
    border-bottom: 2px solid #e3e3e3;
    display: flex;
    justify-content: space-between
}

.training-information__wrapper--left,
.training-information__wrapper--right {
    width: 50%;
    max-width: 460px
}

@media screen and (max-width:768px) {
    .training-information__wrapper--left,
    .training-information__wrapper--right {
        width: 100%;
        max-width: unset
    }
}

.training-information__wrapper--left {
    margin-right: 20px
}

.training-information__wrapper--left img {
    width: 100%;
    height: auto
}

@media screen and (max-width:768px) {
    .training-information__wrapper--left {
        margin-right: 0;
        margin-bottom: 30px
    }
}

.training-information__wrapper--right {
    padding-top: 50px
}

.training-information__wrapper--right__row {
    display: flex;
    padding-bottom: 15px;
    padding-top: 20px;
    border-bottom: 2px solid #e3e3e3
}

.training-information__wrapper--right__row:last-of-type {
    padding-bottom: 0;
    border-bottom: none
}

.training-information__wrapper--right__row:first-of-type {
    padding-top: 0
}

.training-information__wrapper--right__row img {
    margin-right: 7px;
    width: 30px
}

.training-information__wrapper--right__row .information-container {
    display: flex;
    flex-direction: column
}

.training-information__wrapper--right__row .information-container span {
    font-size: 18px;
    line-height: 27px;
    font-weight: 700
}

.training-information__wrapper--right__row .information-container span:last-child {
    font-weight: 400
}

@media screen and (max-width:992px) {
    .training-information__wrapper--right {
        padding-top: 0
    }
}

@media screen and (max-width:768px) {
    .training-information__wrapper {
        flex-direction: column
    }
}

.case-relation {
    width: 100%;
    margin-top: 41px;
    margin-bottom: 38px
}

.case-relation .site-container {
    max-width: 1110px;
    width: calc(100% - 50px)
}

.case-relation .site-container h1 {
    font-size: 30px;
    text-align: center;
    font-weight: 600;
    line-height: 40px;
    margin-top: 15px;
    margin-bottom: 30px
}

@media only screen and (max-width:550px) {
    .case-relation .site-container h1 {
        font-size: 20px
    }
}

.case-relation__slider {
    overflow: hidden
}

.case-relation__grid {
    display: grid;
    margin-bottom: 50px;
    grid-template-columns: 1fr 70px 1fr;
    grid-template-rows: 50px minmax(355px, 1fr) 50px
}

.case-relation__grid--image-container {
    grid-column: 1/3;
    grid-row: 1/2;
    z-index: 1
}

.case-relation__grid--image-container img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 15px
}

@media screen and (max-width:768px) {
    .case-relation__grid--image-container {
        grid-column: 1/-1;
        grid-row: 1/2
    }
}

.case-relation__grid--text-container {
    grid-column: 2/-1;
    grid-row: 2/-1;
    padding: 40px 37px 0 104px;
    border-radius: 15px;
    height: 100%;
    position: relative
}

.case-relation__grid--text-container>* {
    color: #fff
}

.case-relation__grid--text-container .btn-usecase {
    position: absolute;
    bottom: 0;
    right: 31px;
    transform: translateY(50%);
    padding: 15px 72px 15px 56px;
    font-weight: 600
}

.case-relation__grid--text-container .btn-usecase:after {
    display: none
}

.case-relation__grid--text-container .btn-usecase .rect {
    display: block;
    position: absolute;
    top: 50%;
    right: 27px;
    height: 21px;
    width: 21px;
    transform: translateY(-50%);
    mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    -webkit-mask-image: url(https://elecsafety.co.uk/wp-content/themes/esuk/dist/../assets/arrow-right.svg);
    mask-size: contain;
    -webkit-mask-size: contain
}

.case-relation__grid--text-container span {
    font-size: 15px;
    line-height: 23px;
    font-weight: 500;
    margin-bottom: 5px
}

.case-relation__grid--text-container h2 {
    font-size: 40px;
    line-height: 49px;
    font-weight: 700;
    margin-bottom: 12px
}

@media screen and (max-width:992px) {
    .case-relation__grid--text-container h2 {
        font-size: 30px;
        line-height: 39px
    }
}

.case-relation__grid--text-container p {
    font-size: 15px;
    line-height: 21px;
    font-weight: 700;
    margin-bottom: 35px
}

@media screen and (max-width:992px) {
    .case-relation__grid--text-container {
        padding: 30px 20px 0 78px
    }
}

@media screen and (max-width:768px) {
    .case-relation__grid--text-container {
        grid-column: 1/-1;
        grid-row: 2/-1
    }
}

@media screen and (max-width:768px) {
    .case-relation__grid--text-container {
        padding: 30px 20px
    }
}

@media screen and (max-width:992px) {
    .case-relation__grid {
        grid-template-rows: 50px minmax(310px, 1fr) 50px
    }
}

@media screen and (max-width:768px) {
    .case-relation__grid {
        grid-template-rows: repeat(2, auto)
    }
}

.case-relation__link {
    width: 100%;
    display: flex;
    justify-content: center
}

.case-relation__link a {
    font-size: 19px;
    line-height: 52px;
    font-weight: 600;
    color: #000;
    display: flex;
    align-items: center
}

.case-relation__link a img {
    margin-left: 6px;
    width: 21px;
    height: 21px
}

.who-needs-training .site-container {
    padding-top: 37px;
    padding-bottom: 65px;
    max-width: 980px
}

.who-needs-training .site-container h2 {
    font-size: 18px;
    line-height: 27px;
    text-align: center;
    font-weight: 700
}

.who-needs-training .site-container .text p {
    font-size: 15px;
    line-height: 23px;
    font-weight: 500;
    text-align: center
}

.who-needs-training .site-container h3 {
    font-size: 15px;
    line-height: 23px;
    text-align: center;
    font-weight: 700
}

.who-needs-training .site-container .proffesions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin: auto;
    margin-top: 27px;
    margin-bottom: 45px
}

.who-needs-training .site-container .proffesions>* {
    margin-bottom: 15px
}

.who-needs-training .site-container .proffesions>:not(:last-child) {
    margin-right: 15px
}

@media only screen and (max-width:430px) {
    .who-needs-training .site-container .proffesions {
        flex-direction: column
    }
    .who-needs-training .site-container .proffesions>:not(:last-child) {
        margin-right: 0
    }
}

.who-needs-training .site-container .proffesions .proffesion {
    width: 171px;
    height: 171px;
    position: relative
}

.who-needs-training .site-container .proffesions .proffesion p {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 100%;
    height: 49px;
    font-weight: 700;
    background-color: #e52a20;
    text-align: center;
    font-size: 13px;
    color: #fff;
    line-height: 20px;
    margin: 0;
    bottom: 0;
    padding-left: 15px;
    padding-right: 15px
}

.who-needs-training .site-container .underlined-text {
    font-size: 15px;
    line-height: 23px;
    font-weight: 700;
    text-decoration: underline;
    text-align: center;
    color: #000;
    transition: ease-in-out .4s
}

.who-needs-training .site-container a .underlined-text:hover {
    color: #f5812a
}

@media only screen and (max-width:856px) {
    .who-needs-training .site-container {
        max-width: 95vw
    }
    .who-needs-training .site-container h3 {
        font-size: 12px
    }
    .who-needs-training .site-container .text p {
        font-size: 12px;
        line-height: 19px
    }
    .who-needs-training .site-container .flex-container {
        margin-top: 20px;
        flex-direction: column;
        height: auto;
        align-items: flex-start
    }
    .who-needs-training .site-container .flex-container img {
        width: 100%
    }
    .who-needs-training .site-container .flex-container .text {
        margin-left: 20px
    }
    .who-needs-training .site-container .flex-container .text p {
        font-size: 12px
    }
    .who-needs-training .site-container .underlined-text {
        font-size: 12px;
        line-height: 20px;
        font-weight: 700;
        text-decoration: underline;
        text-align: center
    }
}