/*
Theme Name: src
Theme URI: http://www.thirdsectorlab.co.uk
Version: 1.0.2
Description: SRC WordPress Theme
Author: TSL
Author URI: http://www.thirdsectorlab.co.uk
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Tags: custom-background, threaded-comments, translation-ready, custom-menu
Text Domain: insight
*/

/* General */
html {
  overflow-x: hidden;
}
img {
  max-width: 100%;
  height: auto;
}
.d-none.d-flex {
  display: none !important;
}
.breadcrumb.text-center {
  justify-content: center;
}
p:empty {
  display: none;
}
.card:not(.col-lg-5) {
  min-width: 100%;
}
.admin-bar .sticky-top {
	top: 32px;
}
.disable-sticky-menu .sticky-top {
	-webkit-position: static;
	position: static;
}

/* Nav */
.navbar-brand img {
  max-height: 31px;
  width: auto;
}
.navbar-brand {
    font-size: 31px;
    font-weight: 700;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
  background-color: transparent !important;
}
.list-group-item-action > i {
  color: #495057 !important;
}
.nav-tabs .nav-item {
  margin-bottom: 0;
}
nav .dropdown.list-group {
  min-width: 15em;
}
@media all and (min-width: 992px) {
  nav ul ul .dropdown-menu,
  .navbar-dark ul ul .dropdown-menu {
    position: absolute;
    top: 0;
    left: 80%;
  }
}
@media all and (max-width: 991px) {
  .dropdown-menu {
    box-shadow: none;
  }
  nav ul ul ul li:first-child {
    border-top: 1px solid #e9ecef;
  }
  nav ul ul ul .list-group-item {
    padding-left: 3rem;
  }
}
.dropdown-menu .dropdown .dropdown-toggle {
  padding-right: 1.25rem;
}
nav ul li .list-group-item,
nav ul li .list-group-item:first-child,
nav ul li .list-group-item:last-child {
  border-radius: 0;
}
nav ul li:first-child > .list-group-item {
  border-radius: 0.375rem 0.375rem 0 0;
}
nav ul li:last-child > .list-group-item {
  border-radius: 0 0 0.375rem 0.375rem;
}
.dropdown-menu.list-group {
  display: none;
}
.dropdown-menu.list-group.show {
  display: flex;
}
.navbar.bg-light .navbar-nav li:first-child a {
	padding-left: 0;
}

/* WP Caption Styles */
.wp-block-image {
  margin: 40px 0;
}
.wp-block-image.rounded {
  border-radius: 0 !important;
}
.wp-block-image.rounded img {
  border-radius: 0.375rem;
}
.wp-block-image.shadow-sm {
  box-shadow: none !important;
}
.wp-block-image.shadow-sm img {
  box-shadow: 0 0.125rem 0.25rem rgba(52, 58, 64, 0.075);
}
.wp-caption {
  max-width: 100%;
}
.wp-caption figcaption {
  font-size: 0.75rem;
  color: #6c757d;
  text-align: center;
  margin-top: 0.75rem;
}
.wp-caption.alignnone figcaption {
  text-align: left;
}
body:not(.has-sidebar) .alignfull,
body:not(.has-sidebar) .alignwide {
    margin-left  : calc( -100vw / 2 + 100% / 2 );
    margin-right : calc( -100vw / 2 + 100% / 2 );
    max-width    : 100vw;
	width: auto;
}
@media only screen and ( min-width: 950px ) {
    body:not(.has-sidebar) .alignwide {
        margin-left  : -125px;
        margin-right : -125px;
        max-width    : calc(100% + 250px);
    }
}

/* Votes */
[data-js-upvote-count]:before,
[data-js-downvote-count]:before {
  content: '(';
}
[data-js-upvote-count]:after,
[data-js-downvote-count]:after {
  content: ')';
}
[data-js-upvote-count="0"],
[data-js-downvote-count="0"] {
  display: none;
}

/* Blog */
[rel="category tag"] {
  margin-bottom: 0.75rem;
  display: inline-block;
}
.single [data-theme-mod="show_post_single_author"] [rel="category tag"], .single [data-theme-mod="show_post_single_author"] [rel="category"] {
  margin: 0 12px 0 6px;
  display: inline-block;
}
.card-body.bg-dark.text-white p {
  color: #fff;
}
.sidebar .searchform button {
  display: none;
}
.sidebar .searchform .mr-2 {
  margin-right: 0 !important;
}
.comment-reply-initial {
  border: 1px solid #ced4da;
  border-radius: 0 0 0.375rem 0.375rem;
}
li + #respond {
    padding: 20px 0 50px
}
.tagcloud .badge {
  font-size: 75% !important;
}
.widget .menu > li {
  list-style: none;
}
#comments .children {
	border-top: 1px solid #e9ecef;
	padding: 20px 0 0 0;
	margin: 20px 0 0 40px;
}

/* Visual Composer */
.vc_section,
.vc_section.vc_section-has-fill, 
.vc_section.vc_section-has-fill + .vc_row-full-width + .vc_section, 
.vc_section.vc_section-has-fill + .vc_section {
  padding: 4.5rem 0;
}
.vc_section.vc_section-has-fill.bg-dark, 
.vc_section.vc_section-has-fill.bg-dark.bg-dark + .vc_row-full-width + .vc_section, 
.vc_section.vc_section-has-fill.bg-dark + .vc_section {
  padding: 7.5rem 0;
}
.wpb_button:last-child, 
.wpb_content_element:last-child, 
ul.wpb_thumbnails-fluid > li:last-child {
  margin-bottom: 0;
}
[data-vc-full-width="true"] [class*="-12"] .vc_column-inner {
  padding-left: 0;
  padding-right: 0;
}
.wpb_gmaps_widget {
  overflow: hidden;
}
.wpb_gmaps_widget .wpb_wrapper {
  padding: 0px;
}
.wpb_single_image .vc_figure-caption {
    text-align: right;
}
.vc_section[data-vc-full-width]>.vc_row[data-vc-full-width]{
  overflow: visible;
}
.wpb_gmaps_widget .wpb_wrapper {
    padding: 0 !important;
}
.window-loading [data-vc-full-width-init="false"],
.window-loading .vc_row[data-vc-full-width-init="false"],
.window-loading .vc_section[data-vc-full-width-init="false"],
.window-loading [data-vc-full-width-init="true"],
.window-loading .vc_row[data-vc-full-width-init="true"],
.window-loading .vc_section[data-vc-full-width-init="true"] {
   margin-left: calc( -100vw / 2 + 100% / 2 );
   margin-right: calc( -100vw / 2 + 100% / 2 );
   max-width: 100vw;
   padding-left: 0 !important;
   padding-right: 0 !important;
   width: auto !important;
   left: 0 !important;
}
.window-loading .vc_section[data-vc-full-width][data-vc-full-width-init="false"] > .vc_row,
.window-loading .vc_section[data-vc-full-width][data-vc-full-width-init="true"] > .vc_row {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
}

/* CF7 */
div.wpcf7 .ajax-loader {
  display: none;
}
.form-control.wpcf7-not-valid {
  border: 1px solid red;
}

/* Widget Styles */
.widget > ul,
.widget > div > ul,
.sidebar #calendar_wrap,
.sidebar .tagcloud,
.sidebar .textwidget {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  overflow: hidden;
  border-radius: 0.375rem;
}
.widget > ul,
.widget > div > ul {
  border-radius: 9px;
}
.widget > ul li,
.widget > div > ul > li,
.sidebar .tagcloud,
.sidebar .textwidget {
  position: relative;
  display: block;
  padding: 1rem 1.25rem;
}
.widget > ul li + li {
  border-top: #e9ecef;
}
.widget > ul li li,
.widget > div > ul li li {
  padding: 0.6rem 0 0.6rem;
}
.footer-widget > ul li {
  padding: 0.6rem 0 0.6rem;
}
.footer-widget > ul > li + li {
	padding-top: 0;
}
.footer-widget > div > ul > li {
	padding-left: 0;
	padding-bottom: 0.3rem;
}
.widget > ul li li:last-of-type {
  padding-bottom: 0;
}
.footer-widget .input-group-prepend i {
  color: #152a49;
}
footer {
  color: #9ca9b5;
}
.widget .children,
.widget .sub-menu {
	padding: 0 0 0 30px;
}
.widget .children li,
.widget .sub-menu li {
	padding-bottom: 0;
}

/* Icons */
i[class*="insight-insight"] {
  display: inline-block;
}
i[class*="insight-insight"].insight-v-large {
  font-size: 4.5rem;
}
i[class*="insight-insight"].insight-large {
  font-size: 48px;
}
i[class*="insight-insight"].insight-mid-large {
  font-size: 34px;
}
i[class*="insight-insight"].insight-medium {
  font-size: 28px;
}
i[class*="insight-insight"].insight-small {
  font-size: 22px;
}

/* Typography */
blockquote:not(.text-center) {
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 2.25rem;
  font-size: 1.5rem;
  text-align: center;
  font-style: none;
}
.card-body div p:last-child,
.insight-medium + h6:last-child {
  margin-bottom: 0;
}
.portfolio-content img, .portfolio-content .alignfull, .portfolio-content .alignwide {
  max-width: 100%;
  width: 100%;
  height: auto;
    margin-left: auto;
    margin-right: auto;
}
.icon-rounded + .h2 {
    line-height: 18px;
}
/* Tweaks */
.disable-link {
  cursor: default;
}
.single-featured-image, 
.post-slider img {
  height: auto;
  margin-right: auto;
  margin-left: auto;
  display: block;
}
img {
  max-height: 90vh;
}
.icon {
  width: auto !important;
}
.remove-p-margin p {
  margin-bottom: 0;
}
.text-white {
  color: #ffffff;
}
.text-center .list-unstyled.d-flex {
  display: inline-flex !important;
}
.large-icon-card .icon.icon-lg {
    height: 4.5rem;
    line-height: 80px;
    font-size: 60px;
}
.icon.icon-sm {
    font-size: 36px;
}
.post-content blockquote:not(.text-center), 
.post-content table, 
.post-content dl, 
.post-content > ul, 
.post-content > ol, 
.comment .media-body > ul, 
.comment .media-body > ol {
    margin-bottom: 30px;
}
.post-content table {
	border: border: 2px solid #e9ecef;
	border-collapse: collapse;
	background: #fff;
}
.post-content th, 
.post-content td {
	border: 2px solid #e9ecef;
	padding: 0.75rem;
}
.post-content thead th {
	background: #0099FF;
	color: #fff;
	font-weight: 700;
}
twitter-widget {
  margin: 0 auto 30px;
}
.custom-select {
    height: auto;
    padding: 0.70rem 1.75rem 0.70rem 0.75rem;
}
@media all and (min-width: 768px) {
  .five-columns .vc_col-sm-2 {
    width: 20%;
  }
  .mt-minus-6 {
      margin-top: -6rem; 
    }
}
.separator:before {
    content: '';
    height: 1px;
    background: rgba(0, 0, 0, 0.075);
    width: 100%;
    position: relative;
    margin: 1.5rem 0.75rem;
    display: block;
}

/** WordPress Specifics
-------------------------------------------------- **/
#wpadminbar a span {
	color: #eee;
}
#wpadminbar li:hover > a span {
	color: #00b9eb;
}
.post__title, .posts__list li .title {
  word-break: break-word;
}
.widget {
    margin-bottom: 50px;
}
.widget:last-child:not(:first-of-type) {
  margin-bottom: 0;
}
.widget-title {
  font-weight: 700;
  font-size: 20px;
}
.sticky {
    border: 1px solid transparent;
}
.bypostauthor img.avatar {
  border-color: #fff;
}
.screen-reader-text,
p:empty {
  display: none;
}
select {
  max-width: 100%;
  width: 100%;
}
.alignleft,
.aligncenter,
.alignright,
.alignnone {
  margin-bottom: 25px;
}
.alignnone {
  display: block;
}
.alignleft { 
  float: left; 
  margin: 0 30px 30px 0 !important;
}
.alignright { 
  float: right; 
  margin: 0 0 30px 30px !important;
}
.aligncenter { 
  display: block; 
  margin-right: auto; 
  margin-left: auto; 
  text-align: center; 
}
figure.aligncenter a {
  display: inline-block;
  overflow: hidden;
  position: relative;
}
figure figcaption a,
figure.aligncenter figcaption a {
	display: inline;
}
.wp-caption { 
  max-width: 100%; 
  text-align: center; 
}
.wp-caption img {
  margin-bottom: 10px;
}
.post-content .gallery {
  clear: both;
  overflow: hidden;
}
.gallery-columns-3 figure {
  float: left;
  width: 33.3333%;
  padding: 0 15px 0 0;
}
.gallery-columns-4 figure {
  float: left;
  width: 25%;
  padding: 0 15px 0 0;
}
.gallery-columns-2 figure {
  float: left;
  width: 50%;
  padding: 0 15px 0 0;
}
.gallery .gallery-icon {
  width: 100%;
  padding: 0 10px;
  text-align: center;
}
.gallery .gallery-icon img {
  border: none !important;
}
.gallery-caption { 
  margin: 20px 0; 
  max-width: 100%; 
  text-align: center; 
  z-index: 999; 
}
.wp-caption-text, 
.gallery-caption-text { 
  margin: 6px 0;
  font-style: italic;
  font-size: 90%;
  line-height: 120%;
  padding-left: 0;
  width: 100%;
}
.post__content .gallery {
  overflow: hidden;
  margin-bottom: 0 -10px 30px !important;
}
.aligncenter { 
  text-align: center;
}
.sidebar #calendar_wrap {
  background: #fff;
  border: 1px solid #e9ecef;
  padding: 1.25rem 1.25rem 5px;
}
.sidebar #wp-calendar tfoot {
  border-top: 1px solid #e9ecef;
}
#wp-calendar caption {
  caption-side: top;
  font-weight: 700;
}
footer #wp-calendar caption  {
  color: #fff;
}
#wp-calendar {
  width: 100%;
  border-spacing: 0;
}
#wp-calendar th {
  font-weight: 700;
}
#wp-calendar td {
  padding: 10px 0;
}
#wp-calendar a {
  text-decoration: underline;
}
#wp-calendar #next {
  text-align: right;
}
.sidebar #wp-calendar *,
.sidebar #wp-calendar #next {
  text-align: center;
  background: none;
}
.sidebar #wp-calendar caption {
  margin-bottom: 15px;
}
.widget_rss li {
  margin-bottom: 0;
}
.widget_rss .rsswidget {
    clear: both;
}
.rssSummary {
  margin: 10px 0;
}
.widget_rss cite {
  font-size: 12px;
}
.widget:not(.footer-widget) select {
    background-color: #fff;
    border: 1px solid #e9ecef;
    position: relative;
    display: block;
    padding: 1rem 1.25rem;
    margin-bottom: -1px;
    font-weight: 600;
}
.footer-widget select {
    background: transparent;
    color: #fff;
    border: 1px solid #6c757d;
    position: relative;
    display: block;
    padding: 1rem 1.25rem;
    margin-bottom: -1px;
    font-weight: 600;
}
.widget .menu {
    padding-left: 0px;
    list-style-position: inside;
    list-style-type: disc;
}
.widget .menu ul {
    list-style-type: disc;
}
.widget .menu ul ul {
  padding-left: 15px;
}
.widget_categories ul ul, .widget_pages ul ul {
  padding-left: 1.25rem;
}
.widget_categories ul ul li, .widget_pages ul ul li {
  display: list-item;
  list-style-type: disc;
}
.post__content ul, .desc ul {
    list-style: square;
    list-style-position: inside;
    margin-left: 20px;
    margin-bottom: 40px;
}
.post__content ol, .desc ol {
    list-style: decimal;
    list-style-position: inside;
    margin-left: 20px;
    margin-bottom: 40px;
}
.post__content ul ul, 
.post__content ol ol, 
.desc ul ul, 
.desc ol ol,
.post__content ul ol, 
.post__content ol ul {
    margin-bottom: 0;
}
.post__content > p:last-of-type {
  margin: 50px 0;
}
.post__header + .post__content {
  margin-top: 50px;
}
.post__content table, .post__content dl {
  margin-bottom: 30px;
}
.post__content pre, .comment-content pre {
  padding: 30px;
  page-break-inside: avoid;
  font-family: monospace;
  font-size: 15px;
  line-height: 1.6;
  margin: 30px 0 20px;
  max-width: 100%;
  overflow: auto;
  display: block;
  word-wrap: normal;
  white-space: pre-wrap;
}
blockquote code, .post__content code {  
  border-radius: 2px;
  font-family: Menlo,Consolas,monaco,monospace;
  font-size: 14px;
  padding: 2px;
}
pre {
  word-wrap: break-word;
}
dt {
  font-weight: bold;
}
table {
  border-collapse: collapse;
}
iframe {
  max-width: 100%;
}
hr {
  clear: both;
}
.post__content table {
  margin-bottom: 30px;
}
.post-password-form label {
    width: calc(100% - 165px);
    display: inline-block;
    float: left;
}
.post-password-form input[type="submit"] {
  margin-top: 33px;
  margin-left: 10px;
}
.article blockquote {
    margin: 3rem 0;
}
.card-footer .avatar, [data-theme-mod="show_post_single_author"] .avatar {
    margin: 0 10px 0 0;
}
.card.bg-dark {
  overflow: hidden;
}
.breadcrumb-item:empty, ul .btn:empty:not([type="submit"]) {
  display: none;
}
[data-flickity].controls-inside .flickity-page-dots {
    z-index: 1;
}
.inline .align-items-center h6, .inline-large-icon p:last-of-type {
  margin-bottom: 0;
}
footer th {
  color: #fff;
}

/* ELEMENTOR */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1200px;
}
.nf-form-fields-required {
  display: none !important;
}
.elementor-widget-text-editor {
  font-size: 16px;
  line-height: 1.7;
}
.elementor-widget-progress .elementor-title {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
  font-family: inherit;
  display: block;
}
.elementor-progress-wrapper {
    height: 6px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
}
/* NINJA FORMS */
.nf-error .ninja-forms-field {
    border: none !important;
    border-bottom: 2px solid red !important;
}

/**
* Gutenberg
*/
.wp-block-cover.aligncenter {
  clear: both;
}
.post__content .wp-block-gallery {
    margin-left: 0;
    display: flex;
    margin: 30px 0;
}
iframe {
    max-width: 100%;
}
.wp-block-latest-posts.is-grid {
    margin-left: 0;
}
.wp-block-button .wp-block-button__link {
    position: relative;
    height: 50px;
    line-height: 48px !important;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 500;
    padding: 0 50px;
    letter-spacing: 2px;
    border-radius: 0;
}
.wp-block-pullquote {
    border-bottom: none;
    border-top: none;
    padding: 20px 0;
}
.wp-block-pullquote.is-style-solid-color blockquote {
  border-left: none;
  max-width: 90%;
}
.wp-block-pullquote blockquote {
  border: none;
  padding: 25px 50px;
  margin: 0;
}
.wp-block-quote:not(.is-large):not(.is-style-large) {
    border-left: 4px solid #000;
    padding: 20px 50px;
    padding-left: 1em;
    text-align: left;
}
article > [class^="wp-block-"] {
    margin-bottom: 30px;
    margin-top: 30px;
}
article > [class^="wp-block-"]:first-child {
    margin-top: 0px;
}
.wp-block-cover.alignfull, 
.wp-block-cover.alignwide, 
.wp-block-gallery.alignwide,
.wp-block-gallery.alignnone {
  display: flex;
}
.wp-block-categories-list.aligncenter,
.wp-block-categories-list.aligncenter li,
.wp-block-categories-list.aligncenter ul {
	list-style: none;
	padding: 0 !important;
}
.wp-block-separator + h1 {
	margin-bottom: 2rem;
}

/* Comments */
.list-group-comments .media + .media {
  padding: 0.75rem 0 0.75rem 1.5rem; 
}
.list-group-comments,
.list-group-comments ul {
  list-style: none;
}
.media-body {
  padding-left: 15px;
}
.comment + .comment {
  padding-top: 20px;
}
.list-group-item .avatar {
    margin-left: 5px;
}
.comment .media-body {
  width: 100%;
}
.comment table {
  margin-bottom: 30px;
}
.comment blockquote:not(.text-center) {
    padding: 30px;
    text-align: left;
}
@media all and (min-width: 768px) and (max-width: 1200px) {
  .card-top-centered .card-body {
    padding: 1rem 0.5rem;
  }
  i[class*="insight-insight"].insight-large {
      font-size: 36px;
  }
  .list-group-item.w-100.flex-fill .py-2.px-3.remove-p-margin {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .card-body .display-4 {
      line-height: 2.5rem;
      font-size: 2em;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg .navbar-nav .shrink-menu-item-size .nav-link {
    padding-left: 0.4rem;
    padding-right: 0.5rem;
    font-size: 1.1rem;
  }
}
@media (min-width: 768px) {
  .list-group-comments .media:first-child:not(:last-child) {
    margin-bottom: 1.5rem; 
  }
  .list-group-comments .media + .media {
    margin-left: 3.75rem;
    border-left: 4px solid #e9ecef; 
  }
  .list-group-comments .media + .media:last-child {
    margin-bottom: 0.75rem; 
  } 
  .link-card-cols .vc_col-sm-5 {
    width: 37.5%
  }

  .link-card-cols .vc_col-sm-2 {
    width: 25%
  }
}
@media (max-width: 767.98px) {
  .list-group-comments .media:nth-child(2) {
    margin-top: 0.75rem; 
  } 
}
@media all and (max-width: 767px) {
	.row.no-gutters > .card.p-0.p-md-3.m-3 {
		padding: 1.5rem !important;
		margin-left: 0 !important;
	}
	.inline-large-icon .align-items-center {
	  	display: block !important;
	  	text-align: center;
	}
	.col-md-6 + .col-6.col-md-4, .col-md-3 + .col-6.col-md-4 {
		width: 100%;
		max-width: none;
		flex: 0 0 100%;
	}
	.h4.mr-3.d-inline, .h4.mr-3.d-inline + .d-inline {
		margin-right: 0 !important;
		display: block !important;
	}
	.vc_col-sm-2 .wpb_single_image img {
	  	max-width: 160px;
	  	margin-bottom: 30px;
	}
	.mr-md-3 + .btn {
		margin-left: 10px;
	}
	.list-group-comments ul .children {
		margin-top: 20px;
	}
	.container {
	  	overflow: hidden;
	}
	.vc_section {
	  	padding-left: 15px !important;
	  	padding-right: 15px !important;
	}
	.vc_row[data-vc-full-width], .vc_section[data-vc-full-width] {
		width: calc(100% + 1.5rem) !important;
		left: 0 !important;
		margin: 0 -0.75rem;
	}
	.card:not(.col-lg-5) {
		min-width: 0;
	}
	body {
		overflow-x: hidden;
	}
	.vc_section[data-vc-full-width]>.vc_row {
		margin-left: 0.75rem !important;
		margin-right: 0.75rem !important;
	}
}