/* start bootstrap overrides */
.btn {
	font-weight: bold;
}

.close {
	font-size: 24px;
	opacity: 0.4;
}

.enlargedtext {
    font-size: 130%;
}

.link-btn{
  color: #8a6d3b;
  background: #EFEFEF;
}

.link-btn:hover{
  color: #333;
}

button,
input[type="reset"],
input[type="submit"] {
	font-weight: normal;
}

.table th.cellalignright, .table td.cellalignright {
	text-align: right;
}
.table td.markaspaid {
	width: 120px;
}

.table th.cellaligncenter, .table td.cellaligncenter {
	text-align: center;
}

.table th.listview, .table td.listview, .table tr.listview td {
	vertical-align: middle;
}

.table.noborder td {
    border-top-style: none;
}

@media (max-width: 767px) {
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: white;
    }
}

/* membermeister alert overrides */
.alert {
	margin-top: 10px;
}
.alert.mm-alert {
	background: none;
	border-bottom-style: solid;
	border-right-style: solid;
	border-top-style: solid;
	border-left-width: 6px;
	border-radius: 0;
}
.alert.alert-danger.mm-alert {
	color: #d2322d;
	border-color: #d2322d;
}
.alert.alert-warning.mm-alert {
	color: #c37b15;
	border-color: #f0ad4e;
}
.alert.alert-danger.mm-alert.smallalert {
	margin-top: 0px;
    margin-bottom: 5px;
}
.alert-payment {
    color: initial;
    background-color: none;
    border-color: #5cb85c;
    border-width: 3px;
}


/* todo - sort these out, they appear to be generated by Devise or smthg, can't find style refs in our code */
.alert-notice {
	background-color: #D9EDF7;
	color: #3A87AD;
	border-color: #3A87AD;
	border-style: solid;
}
.alert-alert {
	color: #c09853;
	background-color: #fcf8e3;
	border-color: #c09853;
	border-style: solid;
}
/* end todo - sort these out, they appear to be generated by Devise or smthg, can't find style refs in our code */

/* space lines inside horiz descriptions a bit more */
dt, dd {
	line-height: 24px;
}

/* make in-page tabs more visible by overriding background colors */
.nav.in-page > li > a:hover {
	background-color: #e4e4e4;
}
.nav.in-page > li > a {
	background-color: #eee;
}
.nav.in-page > li.active > a, .nav.in-page > li.active > a:hover {
	background-color: #fff;
}

.uneditable-input.normalcursor {
	cursor: default;
}

.emailwarningalert div {
	color: #000;
	padding-top: 5px;
	padding-bottom: 13px;
}

.emailwarningalert h4:last-of-type {
    padding-top: 10px;
}

.emailwarningalert .member {
    padding-top: 3px;
    padding-bottom: 3px;
}

/* ------------- NAVBAR START ------------ */

.nav {
	margin-bottom: 0px;
}

.navbar-brand {
	margin-top: 10px;
}

.helpimage {
	margin-top: 10px;
	margin-bottom: 10px;
}

.navbar {
	color: #555555;
	background-color: #3887AE;
	margin-bottom: 0px;
	min-height: 80px;
}

.navbar-topheader {
	min-height: 25px;
}

.navbar-custom {
	border-style: none;
	border-radius: 0;
}

.navbar .nav > .active > a, .navbar .nav > .active > a:hover, .navbar .nav > .active > a:focus {
	background-color: #C6C6C6;
	color: #304985;
	box-shadow: none;
	font-weight: bold;
	font-size: 15px;
}

/* remove little arrow on main nav menu flyout/subnav */
.navbar .nav > li > .dropdown-menu::before {
	display: none;
}
.navbar .nav > li > .dropdown-menu::after {
	display: none;
}

/* open dropdowns on hover, see http://stackoverflow.com/questions/8878033/how-to-make-twitter-bootstrap-menu-dropdown-on-hover-rather-than-click */
ul.nav li.dropdown:hover ul.dropdown-menu{
	display: block;
}
a.menu:after, .dropdown-toggle:after {
	content: none;
}
.navbar .dropdown-menu, .nav .dropdown-menu {
	margin-top: 0px;
}
/* .navbar .dropdown-menu, .nav .dropdown-menu {
	margin-top: 0px;
} */
.navbar .dropdown-menu {
	border-top: none;
	border-left: none;
}
input.navsearch {
	padding: 5px 5px 5px 25px;
	font-size: 12px;
	vertical-align: middle;
	border: none;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: 7px 50%;
	background-image: url(/images/icon-search.png);
}

/* move the mobile nav toggle button to the left */
.navbar-toggle {
	float: left;
	margin-left: 15px;
}

.navbar-collapse {
	border-top: 0px;
	box-shadow: none;
}


.navbar-form {
	border-top: 0;
	border-bottom: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

/*.navbar .nav.mobilenav > li a {
	color: #FFF;
}*/
.mobilenav.nav-pills > li > a {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.mobilenav .mainnavtab {
	margin-right: 2px;
}
.mobilenav .mainnavtab a {
	padding: 9px 12px;
}


/* ------------- NAVBAR END ------------ */

.btn-action {
	padding: 14px 20px;
	font-size: 20px;
	line-height: 1.4;
	border-radius: 6px;
}

/* used for alert at the top of the page - reduce margin as to not push content too far down */
.alertcontainer .alert {
	margin-bottom: 2px;
}

/* square off the top left corner */
.dropdown-menu {
	border-top-left-radius: 0px;
	border-top-right-radius: 0px;
}

/* page header row for consistent styling of main section headers */
.page-header-row {
	margin-top: 24px;
	margin-bottom: 18px;
}
.page-header-row.noborder {
	border-bottom: none;
}

/* reduce margin on all form items */
.form-horizontal .form-group {
	margin-bottom: 10px;
}
form .form-group.tighter {
	margin-bottom: 5px;
}

/* prevent empty dd from collapsing > http://stackoverflow.com/questions/10566451/prevent-twitter-bootstrap-empty-dd-filling-with-next-dd-value */
.dl-horizontal > dd:after {
	display: table;
	content: "";
	clear: both;
}

/* reset col- padding */
.paddingreset {
	padding-left: 0;
	padding-right: 0;
}

/* start - various forms - bring some form items onto one line */
.inlineformgroup .cost_structure {
	width: 100px;
	float: left;
}
.inlineformgroup .post-form-label {
	font-weight: bold;
	padding-left: 10px;
	float: left;
            line-height: 2;
}
.inlineformgroup .input-group.cost {
	float: left;
	width: 120px;
}
.inlineformgroup .inline-80 {
	float: left;
	width: 80px;
}
.inlineformgroup .inline-60pc {
	float: left;
	width: 60%;
}
.inlineformgroup .inline-60 {
	float: left;
	width: 60px
}
.inlineformgroup.datefield {
	width: 100px;
}
.inlineformgroup .costseparator {
	float: left;
	margin-left: 10px;
	margin-right: 10px;
	margin-top: 7px;
}
/* end - inline forms */

.control-label-link {
	padding-top: 7px;
	margin-bottom: 0;
}

.leftmargin5 {
	margin-left: 5px;
}
.leftmargin10 {
	margin-left: 10px;
}
.leftmargin15 {
	margin-left: 15px;
}
.leftmargin20 {
    margin-left: 20px;
}
.leftmargin25 {
    margin-left: 25px;
}
.leftmargin30 {
    margin-left: 30px;
}
.leftmargin50 {
    margin-left: 50px;
}
.rightmargin2 {
    margin-right: 2px;
}
.rightmargin5 {
    margin-right: 5px;
}
.rightmargin6 {
    margin-right: 6px;
}
.rightmargin10 {
	margin-right: 10px;
}
.rightmargin15 {
	margin-right: 15px;
}
.rightmargin20 {
    margin-right: 20px;
}
.topmargin2, input.topmargin2 {
    margin-top: 2px;
}
.topmargin3 {
    margin-top: 3px;
}
.topmargin5 {
    margin-top: 5px;
}
.topmargin-5 {
    margin-top: -5px;
}
.topmargin0 {
    margin-top: 0px;
}
.topmargin10 {
    margin-top: 10px;
}
.topmargin-10 {
    margin-top: -10px;
}
.topmargin7 {
    margin-top: 7px;
}
.topmargin8 {
    margin-top: 8px;
}
.topmargin9 {
    margin-top: 9px;
}
.topmargin15 {
    margin-top: 15px;
}
.topmargin20 {
	margin-top: 20px;
}
.topmargin25 {
	margin-top: 25px;
}
.topmargin30 {
    margin-top: 30px;
}
.topmargin50 {
    margin-top: 50px;
}
.bottommargin0 {
    margin-bottom: 0;
}
.bottommargin3 {
    margin-bottom: 3px;
}
.bottommargin5 {
    margin-bottom: 5px;
}
.bottommargin10 {
    margin-bottom: 10px;
}
.bottommargin15, .form-group.bottommargin15 {
    margin-bottom: 15px;
}
.bottommargin20, .form-group.bottommargin20 {
    margin-bottom: 20px;
}
.bottommargin30, .form-group.bottommargin30 {
    margin-bottom: 30px;
}
.bottommargin50 {
    margin-bottom: 50px;
}
.bottompadding0 {
    padding-bottom: 0;
}
.margin0{
    margin: 0px;
}
.rightpadding2 {
    padding-right: 2px;
}
.leftpadding0 {
    padding-left: 0;
}
.rightpadding6 {
	padding-right: 6px;
}
.leftpadding2 {
    padding-left: 2px;
}
.leftpadding20 {
    padding-left: 20px;
}
.xpadding30{
    padding-left: 30px;
    padding-right: 30px;
}
.padding30{
    padding: 30px;
}

.fontsize16{
    font-size: 16px;
}
.fontsize30{
    font-size: 30px;
}

.fontweight400{
    font-weight: 400;
}

.fontweight500{
    font-weight: 500;
}

@media (max-width: 991px) {
  .leftmargin20-lg {
    margin-left: 20px;
  }
  .topmargin25-lg {
    margin-top: 25px;
  }
}
.noleftpadding {
	padding-left: 0;
}

.table > tbody > tr > td.padded-td-25 {
    padding-left: 25px;
    padding-right: 25px;
}
.table > tbody > tr > td.padded-td-25-right {
    padding-right: 25px;
}

.form-inline .input-prepend .search-query {
	border-radius: 0 4px 4px 0;
}

.pagination {
	margin: 0;
}


.mainnav {
	background-color: #8FB0FF;
	width: 100%;
}

.addnewlabel {
	float: right;
}

li.infotext {
	color: #BBBBBB;
	font-size: 13px;
	margin-top: -3px;
}

.topnavcontainer-fixed a {
	color: #304985;
}

.formfieldinline, .form-control.formfieldinline {
	width: 110px;
	display: inline;
}
.formfieldinline-sm, .form-control.formfieldinline-sm {
	width: 80px;
	display: inline;
}
.form-control.formfieldinline-xs, .formfieldinline-xs  {
	width: 60px;
	display: inline;
}
.size225px  {
	width: 225px;
}
.size10pc  {
	width: 10%;
}
.size15pc  {
	width: 15%;
}
.size20pc  {
	width: 20%;
}

.inlinecontrol {
	display: inline;
}

.bold {
	font-weight: bold;
}

.form-horizontal .custom-help-block, .form-inline .custom-help-block , form .custom-help-block{
	margin-bottom: 0;
	margin-top: 3px;
	color: #737373;
	display: block;
	font-size: 13px;
	line-height: 15px;
}

/* whiteheader encompasses the top nav for logged out users */
.whiteheader {
	background-color: #FFFFFF;
}
/* styles for navbar when logged out */
.home .navbar {
	background-color: #FFF;
}
.whiteheader ul.nav-pills {
	margin-top: 25px;
}
.navbar .whiteheader .nav > li > a {
	color: #304985;
}
.navbar .whiteheader .nav > li > a:hover {
	background-color: #EEEEEE;
}
.navbar .whiteheader .nav > .active > a, .navbar .whiteheader .nav > .active > a:hover, .navbar .whiteheader .nav > .active > a:focus {
	background-color: #0088CC;
	color: white;
}

/* public timetablepage */
.nav.nav-tabs.timetable li.active {
    font-weight: bold;
	font-size: 16px;
}


/* start homepage styles and layout */
/*.jumbotron h1.homeheader {
    font-size: 40px;
    margin-bottom: 14px;
    text-shadow: 2px 2px 0 rgba(66, 66, 66, 0.5);
    } */
    .homepage {
    	background: #0088cc; /* Old browsers */
    	background: -moz-linear-gradient(top,  #0088cc 0%, #0075af 100%); /* FF3.6+ */
    	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#0088cc), color-stop(100%,#0075af)); /* Chrome,Safari4+ */
    	background: -webkit-linear-gradient(top,  #0088cc 0%,#0075af 100%); /* Chrome10+,Safari5.1+ */
    	background: -o-linear-gradient(top,  #0088cc 0%,#0075af 100%); /* Opera 11.10+ */
    	background: -ms-linear-gradient(top,  #0088cc 0%,#0075af 100%); /* IE10+ */
    	background: linear-gradient(to bottom,  #0088cc 0%,#0075af 100%); /* W3C */
    	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0088cc', endColorstr='#0075af',GradientType=0 ); /* IE6-9 */

    	padding: 35px;
    	border-radius: 0px;
    	color: white;
    	text-shadow: 1px 1px 0 rgba(66, 66, 66, 0.5);
    	line-height: 25px;
    }
    .homepage .btn-lg {
    	margin-bottom: 15px;
    	font-size: 22px;
    	padding: 18px 30px;
    }
    .textaligncenter.tour {
    	margin-bottom: 12px;
    	color: white;
    	font-size: 15px;
    }
    .textaligncenter.tour a {
    	margin-bottom: 15px;
    	color: white;
    	font-size: 15px;
    	text-decoration: underline;
    }
    .homebenefits img {
    	margin-top: 8px;
    }
    .homebenefits .col-md-5 {
    	margin-left: 3px;
    	margin-right: 15px;
    	padding-right: 1px;
    }
    .homebenefits .row {
    	padding-bottom: 12px;
    }
    /* end homepage styles and layout */


.jumbotron.landingpages {
    background-color: #fff;
    padding-top: 0px;
    padding-bottom: 0px;
}
.jumbotron.landingpages.topsection {
    padding-left: 0px;
    padding-right: 0px;
    height: 700px;
    background: radial-gradient(ellipse at center center , #304985 0px, #002553 100%) repeat scroll 0% 0% transparent;
    background-position: bottom;
    min-height: 584px;
    color: #fff;
        border-bottom: 1px solid #CCC;
        position: relative;
}
.jumbotron.landingpages.topsection.gocardless {
    height: 300px;
    min-height: 200px;
}
.quotewell {
    background-color: #FFFFFF;
    color: #000000;
}
.quotewell blockquote {
    padding-bottom: 1px;
    margin-bottom: 6px;
    border-left: none;
    position: relative;
}
.quotewell img {
margin-right: 35px;
margin-bottom: 10px;
margin-top: 10px;
margin-left: 20px;
}
 .quotewell .authorline {
    font-size: 80%;
    line-height: 1.4;
    display: block;
}

/* used to float a span next to an image without wrapping text around it. See ayment options well for example */
.flowpara {
    margin-left: 0px;
    overflow:auto;
    display:block;
}

.well-img {
    float: left;
    margin-right: 25px;
    margin-bottom: 15px;
}

    /* color picker */
    .pickerbutton {
    	float: left;
    	margin-left: -1px;
    	margin-top: -1px;
    }
    .simpleColorDisplay {
    	float: left;
    }
    .simpleColorChooser {
    	margin: 0px;
    	height: 29px;
    	border: none;
    }

    /* reset line height to align dropdown btn-group with normal buttons inside H1 headers */
    h1 .btn-group.contextbutton {
    	line-height: 0px;
    }

    .topnavcontainer-fixed {
    	background-color: #555555;
    	color: #FFFFFF;
    	height: 24px;
    	left: 0;
    	position: fixed;
    	right: 0;
    	top: 0px;
    	z-index: 905;
    }

    .accountname {
    	font-weight: bold;
    	font-size: 15px;
    	padding-top: 5px;
    	padding-left: 15px;
    	color: #fff;
    }

    .mainnavcontainer {
    	background-color: #3887AE;
    	background-image: -moz-linear-gradient(center top , #31789C, #3887AE);
    	background-repeat: repeat-x;
    	width: 100%;
    	min-height: 40px;
    	height: 40px;
    	left: 0;
    	right: 0;
    	position: fixed;
    	top: 24px;
    	padding-top: 8px;
    	margin-right: 8px;
    	z-index: 901;
    }

    .mainnavtab {
    	border-style: none;
    	border-top-left-radius: 12px;
    	border-top-right-radius: 12px;
    	border-width: 0px;
    	background-color: #1C93CA;
    	margin-right: 8px;
    	margin-top: 10px;
    }

    .tabactive #tablink {
    	background-color: #fff;
    	color: #307598;
    	font-weight: bold;
    }

    #tablink {
    	background-color: #307598;
    	color: #fff;
    	border-top-left-radius: 12px;
    	border-top-right-radius: 12px;
    	border-style: solid;
    	border-width: 0px;
    }

    #navlinks li.mainnavtab a {
    	color: #ffffff;
    }

    #navlinks li.mainnavtab:hover {
    	background-color: #1EA0DC;
    }

    .navbar .nav > li > a {
    	text-shadow: none;
    	color: #BBBBBB;
    }

    /* add space between main content containers and footer */
    .container.maincontent, .container-fluid.maincontent {
        margin-bottom: 50px;
        padding-bottom: 60px;
    }

    /* make caret in main nav dropdown white */
    .nav.navbar-nav li.dropdown > .dropdown-toggle .caret {
    	border-top-color: white;
    	border-bottom-color: white;
    }
    /* unless tab is active */
    .nav.navbar-nav li.dropdown.tabactive > .dropdown-toggle .caret {
    	border-top-color: #777;
    	border-bottom-color: #777;
    }

    .navbar-default .navbar-nav.accountnav > li > a {
    	color: #fff;
    	background-color: transparent;
    	padding-top:  3px;
    	padding-bottom:  3px;
    	margin-top: 1px;
    	border-radius: 5px;
    }
    .navbar-default .navbar-nav.accountnav > li > a:focus {
    	color: #fff;
    	background-color: transparent;
    }
    .navbar-default .navbar-nav.accountnav > li > a:hover {
    	color: #fff;
    	background-color: #307598;
    }

    .navbar-nav.accountnav {
        margin-top: 5px;
        margin-right: 5px;
    }
    .navbar-nav.accountnav .fa-question-circle {
        margin-top: 7px;
        margin-right: 5px;
        color: white;
    }

    .navbar-right.searchnav {
    	margin-top: 5px;
    	padding-right:  0;
        margin-right: 20px;
    }


    .tabactive a#subnavtabactive {
    	padding-bottom: 6px;
    	background-color: #eee;
    	background: url("/images/subnavtab_active.png") no-repeat scroll center bottom transparent;
    }

    .subnav {
    	background-color: #fff;
    	background-image: -moz-linear-gradient(center top , #eeeeee, #dddddd);
    	background-repeat: repeat-x;
    	height: 31px;
    	border-bottom-width: 1px;
    	border-bottom-style: solid;
    	border-bottom-color: #BBBBBB;
    }

    .subnav .navbar {
    	color: #555555;
    	background-color: transparent;
    	margin-bottom: 0px;
    }

    .subnavloggedout {
    	left: 0;
    	right: 0;
    	position: fixed;
    	top: 61px;
    }

    .nav-pills .dropdown-toggle .caret {
    	border-bottom-color: #BBBBBB;
    	border-top-color: #BBBBBB;
    	margin-top: 6px;
    }
    .nav li.dropdown.open .caret, .nav li.dropdown.open.active .caret, .nav li.dropdown.open a:hover .caret {
    	border-bottom-color: #FFFFFF;
    	border-top-color: #FFFFFF;
    	opacity: 1;
    }

    #navlinks .mainnavtab a.dropdown-toggle{
    	background-color: #1C93CA;
    	border-style: none;
    	border-top-left-radius: 12px;
    	border-top-right-radius: 12px;
    }
    #navlinks .mainnavtab.open a.dropdown-toggle{
    	background-color: #1EA0DC;
    }
    #navlinks .mainnavtab a:hover.dropdown-toggle{
    	background-color: #1EA0DC;
    }
    #navlinks ul.dropdown-menu > li.mainnavtab {
    	margin-right: 0;
    }
    #navlinks ul.dropdown-menu > li.mainnavtab a {
    	color: #eeeeee;
    }
    #navlinks li.dropdownnavtab a {
    	color: #304985;
    }
    #navlinks li.dropdownnavtab a:hover {
    	color: white;
    }


    /* top nav search forms */
    .input-mini {
    	height: 25px;
    	padding: 5px 10px;
    	font-size: 12px;
    	line-height: 1.5;
    	border-radius: 3px;
    }
    form.navbar-form .input-mini {
    	padding-right:  0;
    	border-style: none;
    }
    form.navbar-form  {
    	padding: 0;
    	border-style: none;
    }
    .col-sm-6 form.navbar-form  {
    	padding-top: 5px;
    	border-style: none;
    }


    .pageactionsbar {
    	margin-bottom: 15px;
    }
/*
    $INVOICES
    */
    /* keep the text inside a dropdown menu inside an H1 header to normal size */
    .dropdown-menu.contextgroup {
    	font-size: 13px;
    	font-weight: normal;
    }
    .invoicerowheader {
    	padding-left: 20px;
    	/*line-height: 2.0;*/
    }
    .row.invoicerowheader div.checkbox input[type="checkbox"] {
        margin-left: 0;
    }
    #invoicebatch a.btn {
    	display: block;
    }
    #invoicebatch.affix {
    	top: 10px;
    }
    .editinvoice .affix {
    	top: 10px;
    }
    .memberedit .affix {
    	top: 38px;
    }
    .newbatch.affix {
    	top: 20px;
    }
    .eventedit .affix {
    	top: 38px;
    }    
    #invoicebatch .btn {
    	margin-bottom: 10px;
    }
    /* #invoicebatch .btn-success {
    	margin-bottom: 0px;
    }     */
    .lead.invoicelead {
    	font-size: 30px;
    }

    /*
    search on page, invoices review page
    */
    .pagesearch {
        margin-top: 30px;
    }
    .pagesearch .searchpageinput {
        border-bottom-right-radius: 0;
        border-top-right-radius: 0;
    }
    .pagesearch .btnnext {
        border-bottom-left-radius: 0;
        border-top-left-radius: 0;
    }
    .pagesearch .col1 {
        padding-right: 0;
    }
    .pagesearch .col2 {
        padding-left: 0;
    }
    .pagesearch .btn-group > .btn:first-child {
        margin-left: -1px;
    }
    .invoiceswrapper mark {
      background: yellow;
      padding-left: 0;
      padding-right: 0;
    }
    .invoiceswrapper mark.current {
      background: orange;
      padding-right: 0;
      padding-left: 0;
    }


    /* used on search results for invoices */
    .searchresults .invoicecontainer {
    	box-shadow: none;
    	margin-bottom: 0;
    }
    .invoicecontainer-small-body {
    	font-size: 12px;
    	margin-bottom: 12px;
    }
    .invoicecontainer .bottomrow select.form-control   {
        display: inline-block;
  }
    .invoicecontainer .row.tablerow {
    	padding-left: 30px;
    	padding-right: 30px;
    }
    .searchresults .invoicecontainer a.btn {
    	margin-top: 7px;
    	margin-bottom: 1px;
    }
    .searchresults .invoicecontainer h5, .searchresults .invoicecontainer h4 {
    	margin-bottom: 0;
    	margin-top: 0;
    }
    .searchresults .invoice-small-header {
    	font-size: 16px;
    	font-weight: bold;
    	margin-bottom: 7px;;
    }
    .searchresults .invoice-small-header small {
    	font-size: 12px;
    	font-weight: normal;
    	line-height: 12px;
    }
    .searchresults .list-group {
    	margin-top: 13px;
    }

    .paymentscontainer .paymentitem {
        margin-left: 0;
        margin-right: 0;
    }

    .paymentscontainer .table {
    	margin-bottom: 5px;
    	margin-top: 5px;
    }
    .paymentscontainer .table td {
    	padding: 3px;
      border-top: none;
      line-height: 14px;
    }
    .paymentspanel .table td {
    	border-top: none;
    	line-height: 14px;
    }
    .paymentscontainer .wellheader {
    	margin-bottom: 0;
    	/*margin-left: -3px;
    	margin-right: -3px;*/
    	display: block;
    }
    .paymentscontainer span.wellheader {
        padding-left: 20px;
    }
    .paymentscontainer.well {
        background-color: #fff;
    }
    .paymentscontainer .table tr.bottomrow td {
    	border-bottom: 1px solid #dddddd;
    }
    .paymentscontainer .table tr.bottomrow:last-child td{
    	border-bottom: none;
        padding-bottom: 0;
    }
    .paymentscontainer .table tr.bottomrow td {
    	padding-bottom: 10px;
    }
    .paymentscontainer tr.toprow td {
    	padding-top: 14px;
    }
    .paymentscontainer tr.toprow:first-child td {
        padding-top: 0;
    }
    .paymentscontainer tr.toprow {
        background-color: inherit;
    }
    .paymentscontainer .pull-right {
    	margin-top: -6px;
    }

	.payment-form-wrapper {
		background-color: #f3f3f3;
		margin-bottom: 15px;
		padding: 20px;
		border-style: solid;
		border-width: 2px;
		border-color: #e4e4e4;
		border-radius: 4px;
		/* box-shadow: 0 6px 9px rgba(50, 50, 93, 0.06), 0 2px 5px rgba(0, 0, 0, 0.08), inset 0 1px 0 #ffffff; */
	}
	.payment-form-wrapper .payment-btn {
		margin-top: 10px;
	}
	.payment-form-wrapper .payment-btn {
   		outline: none !important;
   		box-shadow: none;
	}
	.payment-form-wrapper .card-element {
		padding: 5px;
	}
	.payment-form-wrapper fieldset {
		background-color: #FFFFFF;
		padding-left: 5px;
		border-radius: 4px;
		border-width: 1px;
		border-style: solid;
		border-color: #ccc;
	}
	.payment-header {
		color: #636363;
		margin-bottom: 12px;
		font-weight: bold;
		font-size: 16px;
	}
	.paymentsection .sr-field-error {
		margin-bottom: 25px;
		color: #eb1c26;
	}
	.paymentrequestsection .sr-field-error {
		margin-bottom: 25px;
		color: #eb1c26;
	}    
	

    /* totals at top of page */
    .detailswell h3 {
    	display: inline;
    }
    .detailswell {
        background: transparent;
    }


#invoicesdatatable tr {
    height: 57px;
}

#bookingsdatatable tr {
    height: 57px;
}

@media (max-width: 991px) {
    #bookingsfilterwrapper{
        text-align: left;
    }
  }

/* last row/cells in datatables need a bottom border */
table.dataTable tr:last-child td {
  border-bottom: 1px solid #dddddd;
}
div.dataTables_paginate.paging_simple_numbers {
    min-height: 34px;
}
/* datatables paging margin override */
div.dataTables_paginate ul.pagination {
    margin: 0;
}

    /* EMBEDDABLE TIMETABLE PAGE - Edit Mode (not live widget */
    /* add shadowy border to make it appear a bit like a paper invoice */
    .timetablecontainer {
        box-shadow: 0 0 16px rgba(0, 0, 0, 0.23);
        padding-bottom: 30px;
        padding-top: 25px;
        margin-bottom: 30px;
        border-top-style: none;
        border-top-width: 5px;
    }
    .mmtimetablecontainer-neutral  {
        border-top-style: solid;
        border-top-color: #666;
    }


/*
    $NEW-INVOICE-PAGE
    */
    .tableinvoiceitems {
    	margin-top: 15px;
        width: 100%;
    }
    .table.tableinvoiceitems.newinvoice {
        width: 100%;
    }
    /* make the first row of a table a consistent color */
    /* .tableinvoiceitems tr.toprow, .tableinvoiceitems tr.bottomrow {
    	background-color: #F3F3F3;
    } */
    .tableinvoiceitems tr.bottomrow td {
    	border-top: 2px solid #333;
    }
    /* prevent text from wrapping but collapse table cell to width of content */
  .collapsecell {
    width:1%;
    white-space:nowrap;
    }
  
	.nowrap {
    white-space:nowrap;
    }

    /* add shadowy border to make it appear a bit like a paper invoice */
    .invoicecontainer {
    	box-shadow: 0 0 16px rgba(0, 0, 0, 0.23);
    	padding-bottom: 30px;
    	padding-top: 25px;
    	margin-bottom: 30px;
    	border-top-style: none;
    	border-top-width: 5px;
    }
    .invoicecontainer-neutral  {
    	border-top-style: solid;
    	border-top-color: #666;
    }
    .invoicecontainer-paid {
    	border-top-style: solid;
    	border-top-color: #5cb85c;
    }
    .invoicecontainer-draft {
    	border-top-style: solid;
    	border-top-color: #999999;
    }
    .invoicecontainer-open {
    	border-top-style: solid;
    	border-top-color: #f0ad4e;
    }
    .invoicecontainer-overdue {
    	border-top-style: solid;
    	border-top-color: #d9534f;
    }
    .invoicetotal {
    	font-weight: bold;
    	font-size: 120%;
        vertical-align: middle;
    }

    .invoicecontainer.noshadow {
        box-shadow: none;
    }

    .invoicecontainer .label {
        margin-right: 3px;
    }

    .invoicerowheader h3.invoicestatuslabel {
    	margin-top: 0;
    }
    .invoicerowheader h4 {
        margin-bottom: 0;
    }

    /* removes bottom border which is standard on headers normally */
    .page-header.newinvoiceheader {
    	padding-bottom: 5px;
    	border-bottom: none;
    }
    .newinvoiceheader {
    	margin-bottom: 20px;
    }
    .newinvoiceheader span.label {
    	font-size: 14px;
    	padding: 8px 12px;
    	display: inline;
    	vertical-align: middle;
    	margin-left: 12px;
    }

    .preview-invoice .well h3 {
    	margin-top: 5px;
    }

 /*   .invoiceform .btn[type='submit'] {
    	margin-right: 15px;
    	}*/

        /* specifies width of last column input invoice items table */
        .closebuttoncolumn {
        	width: 15px;
        }
        /* specifies width of qty column, invoice items table */
        .qtycolumn {
        	width: 80px;
        }
        .pricecolumn {
        	width: 150px;
        }
        /* keep price input field at a minimum width */
        .ratecolumn input[type="number"] {
        	min-width: 81px;
        }
        .vatcolumn {
         width: 80px;
        }
    	.totalcolumn {
    		min-width: 60px;
    	}


    	/* used on search results page  */
    	.searchresults .userthumb {
    		margin-right: 10px;
    		margin-top: -4px;
    		border-color: #BEBEBE;
    	}
    	.searchresults i.fa, .searchresults i.far, .searchresults i.fas  {
    		display: inline;
    		margin-right: 5px;
    	}
    	.searchresults small {
    		color: #999;
    	}
    	.paymentForm small {
    		color: #000;
    	}
    	.bluebadge {
    		background-color: #3887AE;
    	}
    	/* set a top margin for search results well */
    	.searchresults .well.results {
    		margin-top: 25px;
    	}
    	.searchresults .listheader {
    		background-color: #ECECEC;
    	}
    	small.overpaid {
    		color: #3c763d;
    	}

table.printregister span.badge {
	margin-top: 6px;
}
table.printregister h3 {
    margin-top: 6px;
    margin-bottom: 6px;
}

table.printregister td.toprow, .table-condensed > tbody > tr > td.toprow {
        border-top: none;
        border-bottom: none;
        background: none;
    }

table.printregister a.selectallBtn {
	margin-left: 6px;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none;
}
.printregisterpage .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline {
    padding-top: 0;
}

.form-horizontal label.checkbox-inline {
    padding-top: 2px;
    padding-bottom: 4px;
}

    .paymentheaderitem {
        margin-top: 5px;
    }
    .paymentheaderitem:first-child {
        margin-top: 0;
    }

    .paymentscontainer .paymentitem .pull-right {
    	margin-top: 0px;
    }
    .paymentscontainer .paymentitem .pull-right .close {
    	margin-top: -6px;
    }
    .paymentitem {
    	margin-left: 5px;
    	margin-right: 5px;
    }
    .paymentitem .paymentnotes {
        clear: left;
        margin-top: 5px;
    }

    .paymentitem .close {
        opacity: .35;
    }
    .paymentitem .close:hover {
        opacity: .9;
    }
    .paymentitemactions {
        display: block;
        clear: both;
        padding-top: 3px;
    }

    .infotooltip {
        margin-left: 5px;
    }
    .infotooltip .fa.fa-question-circle {
        color: #777777;
    }

    .nohandcursor a[data-toggle='tooltip'] {
        cursor:default;
    }
    /* medical red */
    .tooltip-red .tooltip-inner {
        background-color: #d2322d;
    }
    .tooltip-red .tooltip.top .tooltip-arrow {
      border-top-color: #d2322d;
    }

	.tooltip {
		font-size: 13px;
	}
	/* make tooltips blue */
	.tooltip-inner {
		background-color: #336699
	}
	.tooltip.top .tooltip-arrow {
		border-top-color: #336699;
	}
	/* override tooltip opacity */
	.tooltip.in {
		filter: alpha(opacity = 100);
		opacity: 1;
	}

	/* darker blue for online booking card symbol */
	.onlinebooking {
		color: #264865;
	}

    /* payment popover */
    .receivepaymentBtn {
    	line-height: 45px;
    }
    form.receivepayment a {
    	margin-top: 10px;
    }
    form.receivepayment .row {
    	margin-top: 5px;
    }
    /* simplify the header section in  popovers */
    .popover .popover-title {
    	border-bottom: none;
    	padding: 0px 5px;
    }

    /* modify popover shadow to make it more visible */
    .popover {
    	-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
    	box-shadow: 3px 4px 12px 2px rgba(0, 0, 0, 0.3);
    }

    /* payment page */
    .paymentheader {
    	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #3c5ca7), color-stop(100%, #304985));
    	background: -webkit-linear-gradient(top, #3c5ca7 0%, #304985 100%);
    	background: -o-linear-gradient(top, #3c5ca7 0%, #304985 100%);
    	background: -ms-linear-gradient(top, #3c5ca7 0%, #304985 100%);
    	background: linear-gradient(top, #3c5ca7 0%, #304985 100%);
    	-webkit-box-shadow: 0 2px 4px rgba(0,0,0,0.25);
    	box-shadow: 0 2px 4px rgba(0,0,0,0.25);
    	padding: 1em 0 1.2em 0;
    	color: white;
    	margin-bottom: 8px;
    }
    .paymentheader h3, .paymentheader h4 {
    	margin-bottom: 2px;
    	margin-top: 2px;
    }
    .preview-invoice .invoicecontainer h3 {
    	margin-top: 0;
    }


    .bookingpanel {
    	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #833ca7), color-stop(100%, #7d3085));
    	background: -webkit-linear-gradient(top, #833ca7 0%, #7d3085 100%);
    	background: -o-linear-gradient(top, #833ca7 0%, #7d3085 100%);
    	background: -ms-linear-gradient(top, #833ca7 0%, #7d3085 100%);
    	background: linear-gradient(top, #833ca7 0%, #7d3085 100%);
    	-webkit-box-shadow: 0 2px 4px rgba(0,0,0,0.25);
    	box-shadow: 0 2px 4px rgba(0,0,0,0.25);
    	padding: 1em 1em 1.2em 1em;
    	color: white;
    	margin-bottom: 20px;
    }
    .bookingpanel h3, .bookingpanel h4 {
    	margin-bottom: 2px;
    	margin-top: 2px;
    }  
    .bookingtitletext {
        color: #6748d4;
    }

	/* booking setup wizard breadcrumbs */
	.breadcrumb.bookingsetup {
		background-color: #fff;
		padding-left: 0;
		margin-bottom: 0;
	}
	.breadcrumb.bookingsetup li.active {
		font-weight: bold;
		color: #4b4b4b;
	}
	.breadcrumb.bookingsetup li {
		font-weight: normal;
		color: #7f7f7f;
	}

	.videoplayer {
		background-color: #336699;
		padding: 2px;
	}

	.panel-group.bookingnotifications .panel-title {
		font-size: 16px;
    	font-weight: normal;
	}
	.panel-group.bookingnotifications .panel-heading {
		background-color: transparent;
	}
	.panel-group.bookingnotifications .panel-heading .panel-subtitle  {
		font-size: 14px;
	}
	.panel-group.bookingnotifications .panel-title > a  {
		color: #337ab7;
	}

    /* dashboard well headers */
    .dashboardwell h3 {
    	line-height: 0px;
    	padding-bottom: 15px;
    	font-size: 20px;
    }
    /* dashboard loading animations */
    #dashboardpage .loader-inner.ball-pulse {
    	padding-top: 50px;
    	padding-bottom: 50px;
    }
    .dashboardicons li
    {
    	display: inline;
    	list-style-type: none;
    	padding-right: 20px;
    }
    .activitystream {
    	margin-top:  15px;
    }
    .list-group.emaillist {
        margin-bottom: 5px;
    }


/* used on dashboard */
h5.panellist {
    margin-top: 20px;
    margin-bottom: 0;
}
.panellist .avatar-colored.avatar-md {
    margin-right: 10px;
}
.panellist .avatarcontainer {
    width: 30px;
}
.panellist .list-group-item-text {
    line-height: 0.9;
}
.panellist ul.horizontalList {
    padding-left: 0;
}
.panellist ul.horizontalList li {
    margin-bottom: 2px;
    vertical-align: middle;
}

/*
.panellist .list-group-item {
    padding-bottom: 0;
}

.list-group.panellist {
    margin-bottom: 5px;
}*/


ul.horizontalList.nopadding {
    padding-left: 0;
}
.horizontalList {
    display:table;
    width:100%;
}
.horizontalList li {
	display:table-cell;
}
ul.horizontalList.statstabs {
    padding-left: 20px;
}
 .horizontalList li.statstab h4 {
    	margin-top: 0;
    	padding-left: 0;
    }
    .horizontalList.statstabs li:first-child {
    	padding-left: 0;
    }
    .statstabs li.statstab {
    	border-right: #d3d3d3;
    	border-right-style: solid;
    	border-right-width: 1px;
    	padding-left: 15px;
    }
     ul.horizontalList.statstabs li:last-child {
    	padding-top: 10px;
    	border-right: none;
    }
    ul.horizontalList.nomargin {
        margin-bottom: 0;
    }


    /*  alphabet letters on member list */

    h4 .alphabetpills {
        font-size: 22px;
    }

  .alphabetpills.nav-pills > li  {
    position: relative;
    display: block;
    cursor: pointer;
    padding-right: 10px;
    padding-left: 10px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-radius: 4px;
    color: #337ab7;
    text-decoration: none;
}
  .alphabetpills.nav-pills > li.disabled, .alphabetpills.nav-pills > li.disabled:hover  {
    cursor: default;
    color: #999;
    background-color: #ffffff;
}
.alphabetpills.nav-pills > li.active, .alphabetpills.nav-pills > li.active:hover  {
    color: #ffffff;
    background-color: #337ab7;
}
.alphabetpills.nav-pills > li:hover, .alphabetpills.nav-pills > li:focus {
    text-decoration: none;
    background-color: #eee;
}


    .firstUpper {
    	text-transform: capitalize;
    }

    [class*="span"].centered,
    img.centeredimage {
    	margin-left: auto;
    	margin-right: auto;
    	float: none;
    }

    .maxHeight400 {
    	max-height: 400px;
    }

    .maxHeight350 {
    	max-height: 350px;
    }

    .maxHeight200 {
    	max-height: 200px;
    }

    .maxHeight250 {
    	max-height: 250px;
    }

    .divalignright {
    	text-align: right;
    }

    .textaligncenter {
    	text-align: center;
    }

    .userimage {
    	margin-left: 36px;
    	border-style: solid;
    	border-width: 1px;
    	border-color: #999999;
    	margin-top: 10px;
    }
    @media (max-width: 767px) {
      .userimage {
            margin-left: 0px;
            margin-top: 0px;
        }
    }

    .userthumb {
    	border-style: solid;
    	border-width: 1px;
    	border-color: #CFCFCF;
    	float: left;
    }

    .memberdetails .userimage {
    	margin-top: 0px;
    	margin-left: 0px;
    }
    .memberdetails .membername {
    	margin-bottom: 8px;
    }

    .memberdetails .well {
    	margin-top: 10px;
    }

.panel-title {
    font-size: 20px;
}

.panel-primary {
    border-color: #307598;
}
.panel-primary > .panel-heading {
    background-color: #307598;
    border-color: #307598;
}

.panel-heading.panel-heading-collapsible {
    cursor: pointer;
}
.panel-heading.panel-heading-collapsible .fa {
    float: right;
}
.panel-heading-collapsible .panel-title {
    float: left;
}
.panel-heading-collapsible:hover {
    background-color: #E6E6E6;
}
/* PBS added: panel body on the members profile page, for when customers add lots of text to custom_fields */
.panel-body.wordbreak {
    word-break:break-all
}
/* fine tuning padding on panels that contain tabs, for example on members profile page */
.panel-body.tab-content {
    padding-top: 0px;
    padding-bottom: 5px;
	padding-left: 5px;
	padding-right: 5px;
}

.attendancethumb {
   float: left;
   border-color: #d3d3d3;
}

.table.eventtable tr:first-child > td {
   border-top: 0;
}

.table.eventtable tr:last-child > td {
   border-bottom: 0;
}

.table.eventtable small.note {
    margin-left: 5px;
}

.table.eventtable td {
 padding-bottom: 4px;
 padding-top: 4px;
 padding-left: 6px;
 padding-right: 6px;
}
#eventdetail div.wellheader {
  margin-bottom: 8px;
}
.eventdetail .panel-title {
	min-height: 40px;
}


    /* -------------------------------------------------------------------------- Start Footer ---------------- */


    /* Sticky footer styles
-------------------------------------------------- */
    html {
        position: relative;
        min-height: 100%;
    }
    body {
        /* Margin bottom by footer height */
        margin-bottom: 155px;
    }
    .footer {
        position: absolute;
        bottom: 0;
        width: 100%;
        /* Set the fixed height of the footer here */
        /*height: 165px;*/

        background: none repeat scroll 0 0 #FFFFFF;
        background-color: #F5F5F5;
        border-top: 1px solid #C6C6C6;
        padding-bottom: 15px;
        padding-top: 15px;
    }

    .footer.loggedin {
        height: 85px;
    }

    .footer p {
        color: #666666;
        font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
        font-size: 11px;
        line-height: 18px;
    }
    .footer .copyrightnote {
        padding-left: 15px;
        padding-top: 15px;
    }
    .footer .copyrighttext {
        font-size: 11px;
        color: #888;
    }

    .footernav li {
        font-size: 12px;
        line-height: 15px;
    }

    .footer .nav > li > a {
        position: relative;
        display: block;
        padding: 3px 15px;
    }

    .footernav .nav-header {
        text-transform: uppercase;
        color: #999999;
        display: block;
        padding: 3px 15px;
        font-weight: bold;
        font-size: 12px;
        line-height: 15px;
        text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    }

    .footercontainer {
        padding-left: 20px;
    }
    /* -------------------------------------------------------------------------- End Footer --------------- */

    /* small print on some forms */
    .footernote {
        font-size: 11px;
        color: #999999;
    }

    /* used to hide the first border at the top of a table */
    td.toprow {
        border-top: none;
    }

    td.overdue {
        color: #CA1D1D;
    }
    td.closed {
        color: #65A20B;
    }
    td.open {
    	color: #F28C00;
    }
    td.draft {
    	color: #800000;
    }

    .well.h200 {
    	min-height: 200px;
    }

    .well.h250 {
    	min-height: 250px;
    }


    .benefitlist {
    	text-align: left;
    }

    .benefitlist ul {
    	border-top: none;
    }

    .benefitlist li {
    	list-style: none;
    	border-top: none;
    	border-bottom: none;
    	padding-top: 6px;
    	padding-bottom: 6px;
        padding-left: 15px;
    }

    .benefitlist li:last-child {
    	padding-top: 6px;
    	border-bottom: none;
    }

    /*.calendar_small {
    	width: 270px;
    	margin-left: 30px;
    }*/

    .spacer10px {
    	margin: 10px 0;
    	padding-bottom: 10px;
    }

    .form-group.marginbottom30 {
    	margin-bottom: 30px;
    }

    .groupbadge {
    	float: right;
    	font-size: 14px;
    	padding: 2px 8px;
    	margin-left: 2px;
    	background-color: #1873A0;
    }

    .accordion-inner.quickmemberform {
    	padding-left: 15px;
    	padding-right: 15px;
    	padding-top: 5px;
    	padding-bottom: 10px;
    }

    .quickmemberform .form-control {
    	margin-bottom: 10px;
    }

    .text-field-with-attention {
        background-color: #58bb3540;
    }

    .addParentModal {
    	text-align: center;
    }

.parent_token_btn {
    padding-left: 0;
}

    .quickmember {
    	margin-top: 5px;
    	margin-bottom: 0;
    }
    .quickmember span.custom-help-block {
    	display: inline-block;
    	padding-left: 15px;
    }
    .form-horizontal .accordion-inner .help-block{
    	margin-top: 3px;
    	margin-bottom: 6px;
    	margin-left: 1px;
    }

    /* start timeline display items, for example activity stream on dashboard */
    .timelineleft{
    	position:absolute;
    	left:0;
    	width: 40%;
    	padding: 8px 25px 7px 7px;
    	text-align: right;
    	min-height: 100%;
    	height:100%;
    }
    .timelineright {
    	width: 60%;
    	border-left-width: 2px;
    	border-left-color: #ccc;
    	border-left-style: solid;
    	padding: 7px 7px 7px 25px;
    }
    .timeline-group {
    	padding-left: 0;
    	margin-bottom: 20px;
    	position:relative;
    }
    .timeline-group-item {
    	position: relative;
    	display: block;
    	padding: 0;
    	margin-bottom: -1px;
    	border: none;
    }
    .smallcircle {
    	border-radius: 50%;
    	width: 16px;
    	height: 16px;
    	float: left;
    	background-color: #47a447;
    	margin-left: -34px;
    	margin-top: 3px;
    	margin-bottom: 5%;
    	border-color: #fff;
    	border-width: 3px;
    	border-style: solid;
    }
    /* end timeline display items */

    /* PBS added this for Subscription timeline */
    .activepaymentcircle {
        border-radius: 50%;
        width: 20px;
        height: 20px;
        float: left;
        background-color: #47a447;
        margin-left: -36px;
        margin-top: 3px;
        margin-bottom: 5%;
        border-color: #fff;
        border-width: 3px;
        border-style: solid;
    }
    .amendedpaymentcircle {
        border-radius: 50%;
        width: 20px;
        height: 20px;
        float: left;
        background-color: #f0ad4e;
        margin-left: -36px;
        margin-top: 3px;
        margin-bottom: 5%;
        border-color: #fff;
        border-width: 3px;
        border-style: solid;
    }
    .redpaymentcircle {
        border-radius: 50%;
        width: 20px;
        height: 20px;
        float: left;
        background-color: #d9534f;
        margin-left: -36px;
        margin-top: 3px;
        margin-bottom: 5%;
        border-color: #fff;
        border-width: 3px;
        border-style: solid;
    }
    .futurepaymentcircle {
        border-radius: 50%;
        width: 20px;
        height: 20px;
        float: left;
        background-color: #d4d4d4;
        margin-left: -36px;
        margin-top: 3px;
        margin-bottom: 5%;
        border-color: #fff;
        border-width: 3px;
        border-style: solid;
    }
    /* End: PBS - subscription timeline */

    .parentcircle {
    	border-radius: 50%;
    	width: 17px;
    	height: 17px;
    	background-color: #c6c6c6;
        color: #585858;
    	position: absolute;
    	margin-left: -17px;
	    margin-top: 20px;
    }

    .parentcircle.dd { /* parent icon for Direct Debit in datatable */
        background-color: #c6c6c6;
        position: absolute;
        margin-left: -18px;
        margin-top: 17px;
    }

    .parentcircle a:hover, a:focus {
        text-decoration: none;
    }

    /* colored header on top of various form containers such as new member */
    .wellheader {
    	margin-left: -19px;
    	margin-right: -19px;
    	margin-top: -19px;
    	margin-bottom: 16px;
    	background-color: #ececec;
    	color: #3f3f3f;
    	border-top-right-radius: 4px;
    	border-top-left-radius: 4px;
    	border-bottom-color: #e3e3e3;
    	border-bottom-style: solid;
    	border-bottom-width: 1px;
    	padding-left: 19px;
    	padding-right: 19px;
    	padding-bottom: 7px;
    	padding-top: 7px;
    	font-weight: bold;
    	font-size: 130%;
    }
    .wellheader .subwellheader {
    	font-size: 14px;
    	font-weight: normal;
    }

    /* reports */
    .reportswell {
    	min-height: 140px;
    }
    .reportswell .label {
    	margin-right: 12px;
    	font-size:  90%;
    }
    .reportswell .report-hidden {
    	margin-top: 15px;
    }
    .reportswell .btn {
    	display: block;
    	margin-top: 20px;
    }
    .financereports .checkbox input[type="checkbox"] {
        vertical-align: top;
    }
    .reportsdisplayoptions .dropdown-menu .checkbox {
        margin-top: 3px;
        margin-bottom: 4px;
        margin-left: 8px;
    }
    .reportsconfigpanel .panel-body .checkbox {
        margin-top: 0;
        margin-bottom: 0;
    }

    .reportsconfigpanel .panel-body .form-group {
        margin-bottom: 7px;
    }
    .reportsconfigpanel .panel-body .form-group.filtercategory:first-of-type {
        margin-top: 10px;
    }
    .reportspanel {
        min-height: 90px;
    }

    /* applies padding to all content underneath groupswell header */
    .groupswellcontent {
    	padding-top: 5px;
    	padding-bottom: 13px;
    	padding-left: 10px;
    	padding-right: 10px;
    }
    .groupswellsmall {
    	margin-left: 0px;
    	margin-right: 15px;
    	margin-bottom: 12px;
    	font-size: 0.75rem;
    	min-height: 110px;
    	padding: 0px;
    	border: 1px solid #cccccc;
    	width: 170px;
    }
    .groupname {
    	background-color: #1C93CA;
    	padding-left: 10px;
    	padding-right: 10px;
    	padding-top: 5px;
    	border-style: none;
    	border-top-left-radius: 4px;
    	border-top-right-radius: 4px;
    }
    .groupname a {
    	font-size: 15px;
    	font-weight: bold;
    	line-height: 16px;
    	color: white;
    }
    .groupswelldetail .groupname a {
    	font-size: 18px;
    	font-weight: bold;
    	line-height: 16px;
    	color: white;
    }
    .groupswellsmall .bodytext {
    	font-size: 12px;
    	line-height: 16px;
    	padding: 9px;
    }

    .groupswelldetail {
    	padding: 0px;
    	background-color: whiteSmoke;
    	border: 1px solid #cccccc;
    	box-shadow: 4px 3px 8px #cccccc;
    }

    .panel.birthdaypanel table {
        margin-bottom: 0;
    }


    /* member notes section */
   .note-body {
	   margin-left: -5px;
	   margin-top: 5px;
	   margin-bottom: 10px;
	   padding: 5px;
   }
   .note-body:hover {
	   background-color: aliceblue
   }

    /* in the detail view add a bit more padding underneath the header */
    .groupswelldetail .groupswellcontent {
    	padding-top: 10px;
    }

    /* hr to separate sections inside groupswelldetail */
    .groupswelldetail hr {
    	border-top: 1px solid #C7C4C4;
    	border-bottom: 1px solid white;
    }

    /* formats the buttons at the bottom and inside of the group details panel */
    #groupoptions a.btn {
    	width: 85%;
    	padding-top: 5px;
    	padding-bottom: 5px;
    	margin-bottom: 7px;
    }

    .groupswellsmall:hover {
    	/*border: 1px solid #1C93CA;*/
    	background-color: #eeeeee;
    }

    .selectedgroup {
    	background-color: #eeeeee;
    	border: 1px solid #1C93CA;
    	box-shadow: 4px 3px 8px #cccccc;
    }

    .groupscontainer {
    	min-height: 500px;
    }

    .groupscontainer .groupswellsmall h4 {
    	font-size: 16px;
    	line-height: 18px;
    }

    #groupdetails.affix {
    	top: 110px;
    	width: inherit;
    }

    .offscreen {
    	position: absolute !important;
    	top: -9999px !important;
    	left: -9999px !important;
    }

    .contextbutton {
    	margin-left: 10px;
    	font-weight: bold;
    	margin-top: 10px;
    }
    .contextbutton select {
    	margin-top: 9px;
    	margin-right: 10px;
    }
    .morebutton {
    	margin-left: 10px;
    }

    .page-header-row .btn {
    	margin-left: 10px;
    	font-weight: bold;
    	margin-top: 14px;
    }    
    .page-header-row .btn-group .btn {
    	margin-left: -1px;
    }



    .boldtext, .checkbox label.boldtext{
    	font-weight: bold;
    }

    .invoicealltable .checkbox.tableheader {
        padding-left: 5px;
        color: inherit;
    }

/*
    $FORMS
    */
    /* 2 digit form entry */
    .input-tiny {
    	width: 35px;
    }
    /* text without a form field in a form (such as invoice number) */
    .formtextinline {
    	line-height: 10px;
    }
    .form-progressbar {
    	width: 150px;
	}

	.lineheight1-8 {
		line-height: 1.8;
	}

	.lineheight2 {
		line-height: 2;
	}

    .discount_fields .form-control {
    	width: 80px;
    }
    /*.batchinvoiceform .col-md-12 {
    	padding-left: 0;
    }*/
    .discount_outer_wrapper .alert {
        margin-top: 0;
        margin-bottom: 3px;
        border-style: none;
    }
    .batchinvoiceform .section  label.checkbox{
    	padding-top: 2px;
    	padding-bottom: 0px;
    	margin-bottom: 2px;
    }
    .batchinvoiceform .discount_fields {
    	padding-top: 15px;
    	padding-bottom: 0px;
    }
    .batchinvoiceform .row.commentsrow {
    	padding-top: 20px;
    }

.discount_wrapper {
    padding-top: 5px;
    padding-bottom: 5px;
    margin-top: 5px;
    background-color: #FFE8DE;
}

.commentslist .list-group {
    margin-left: -16px;
    margin-right: -16px;
}
.commentslist .list-group .list-group-item:first-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-top-style: none;
}
.commentswell .wellheader {
    margin-bottom: 0;
}
.commentbyline {
	color: #777;
	padding-bottom: 3px;
}

    /* fixes wrap issue in forms with Rails error class and prepended currency sign etc */
    .field_with_errors { display: inline; }

    /* space page action buttons inside headers by 10px */
    .btn.pull-right {
    	margin-left: 10px;
    }

    /* place parent icon in the bottom right corner of member thumb */
    .membercolumn .parents.parents-small, #membersdatatable .parents.parents-small {
    	position: absolute;
    	margin-left: 2px;
    	margin-top: 0;
    }
    /* placement inside quick member add form */
    .quickmember .panel-heading .parents.parents-small {
    	position: relative;
    	margin-left: 0px;
    	margin-top: -6px;
    }

    .parents.parents-small {
    	transform:scale(0.6,0.6);
    	-ms-transform:scale(0.6,0.6); /* IE 9 */
    	-moz-transform:scale(0.6,0.6); /* Firefox */
    	-webkit-transform:scale(0.6,0.6); /* Safari and Chrome */
    	-o-transform:scale(0.6,0.6); /* Opera */
    }

    .affixedform .affix {
    	top: 15px;
    }
    /* when using affix make buttons non-affixed on smaller screens */
    @media (max-width: 992px) {
    	.affix {
    		position: static;
    	}
    }
    .token-input-input-token input {
    	height: 34px;
    }

@media (max-width: 767px) {
  .panel-body {
        padding-top: 10px;
        padding-bottom: 10px;
        /* removed Oct 2018, not sure what this was for
        padding-left: 0;
        padding-right: 0; */
    }
}


/* HTML:
<div>
<ul id="memberaccordion">
<li><a href="#">Item one</a></li>
<li><a href="#">Item two</a></li>
<li><a href="#">Item three</a></li>
</ul>
</div>
*/

/* used for member list overview */
.inlinelisttable {
	margin-bottom: 0;
}
.table.inlinelisttable th, .table.inlinelisttable td {
	padding: 1px;
	line-height: inherit;
}
.table.inlinelisttable th, .table.inlinelisttable td {
	padding: 1px;
	text-align: left;
	border-top: none;
}
.glyphiconphone {
	margin-right: 4px;
	margin-left: 4px;
}

/* tokenizer styles */
.token-input-input-token input {
	width: 80px;
}
li.token-input-token span.token-detail {
    color: #4e4e4e;
    font-weight: normal;
}
.token-input-delete-token {
    font-size: 18px;
}
.termstokenizer .token-input-delete-token {
    font-size: 22px;
    margin-top: -15px;
}
.termstokenizer li.token-input-token .termcolourborder {
    width: 4px;
    height: 40px;
    margin-left: -5px;
    margin-bottom: 0;
    margin-right: 9px;
    padding-bottom: 3px;
}
.termstokenizer li.token-input-token {
     padding-bottom: 3px;
}
.termstokenizer .token-input-list {
    border-top: none;
    border-left: none;
    border-right: none;
    border-radius: 0;
}
.termstokenizer li.token-input-token {
	background-color: #F5F5F5;
    padding-left: 10px;
}
.termstokenizer li.token-input-token span {
	padding-left: 10px;
    color: #505050;
}
.termstokenizer.waitinglist .token-input-list {
	border-bottom: none;
}


/* when we use an icon overlay on a form we need to move the tokenizer elements in a bit  so the remove 'x' does not overlay the icon */
.form-group.has-feedback ul.token-input-list li {
    margin-right: 32px;
}


/* since this accordion needs an id anyway for the collapse I may as well hook my styling into it */
#listaccordion li
{
	list-style-type: none;
	display: table-cell;
	float: none;
	vertical-align: middle;
}
#listaccordion .token-input-list-facebook li {
	float: left;
}
#listaccordion li.avatarcolumn
{
	width: 40px;
}
#listaccordion li.namecolumn
{
	min-width: 150px;
	max-width: 200px;
}
#listaccordion ul li:first-child {
	width: 45px;
}
#listaccordion ul
{
	display: table;
	table-layout: fixed;
	width: 100%;
	padding: 4px;
	margin: 0;
}
#listaccordion .panel-heading .accordion-toggle {
	padding: 0px;
}
/* used for the name/title column on main accordion lists */
.header16 {
	font-size: 16px;
	font-weight: bold;
	padding-left: 5px;
}
.panel-heading div.header16 {
	margin-top: 5px;
	margin-bottom: 5px;
}
.accordion-group {
	background-color: #ececec;
	margin-bottom: 6px;
}
.openaccordioncolumn .btn {
	outline: none;
	background-color: #ebebeb;
}

.panel-heading.noborder {
	border-bottom: none;
}

/* remove blue focus ring around buttons */
.btn.nofocus {
	outline: none;
}
/* round button, currently used for attendance */
.btn.listbtn {
    font-size: 20px;
    width: 32px;
    height: 32px;
    padding-right: 6px;
    padding-left: 6px;
    padding-bottom: 3px;
    padding-top: 1px;
    border-radius: 3px;
	border-style: solid;
    color: #000;
	border-color: #2f2f2f;
}
.halfopacity {
	opacity: 0.5;
}
.btn.listbtn.attendanceindicator {
	background-color: #FFF;
	color: #C6C6C6;
}
.btn.listbtn.attendanceindicator:hover {
	color: #787878;
	border-style: solid;
	border-color: #999;
	border-width: 2px;
}
.btn.listbtn.attendanceindicator.green {
	padding-right: 6px;
	padding-left: 6px;
	color: #FFF;
	border-style: none;
	background-color: #5FD605;
}
.btn.listbtn.attendanceindicator.green:hover {
    border-style: solid;
	border-color: #409500;
	border-width: 2px;
}
.btn.attendance-all {
    margin-bottom: 0;
    margin-left: 5px;
    margin-right: 10px;
    margin-top: 0;
    width: 42px;
    height: 42px;
    color: #000000;
    background-color: #FFFFFF;
    border-style: solid;
}
.btn.attendance-all.fullyattended {
    color: #FFFFFF;
    background-color: #5FD605;
	border-style: none;
}
.btn.attendance-all:hover {    
	border-width: 2px;
	border-color: #999;
	border-style: solid;
}
.btn.attendance-all.fullyattended:hover {    
	border-width: 2px;
	border-color: #409500;
	border-style: solid;
}
/* the two countbtn classes are just there to de-buttonfy the waiting list counter button - needs changing for a simple class */
.btn.listbtn.countbtn:hover {
	background-color: #FFF;
}
.btn.listbtn.countbtn:active {
	box-shadow: none;
	border-color: #000;
}

.panelseperator {
	padding-top: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid;
	border-color: #DDD;
}

.panel.accordion-look {
	border-left-width: 6px;
}
.accordion-look.panel-default > .panel-heading {
	padding: 0;
}
.accordion-look .openaccordioncolumn button {
	width: 40px;
	height: 36px;
}
.accordion-look  [class*="col-md"] {
	padding-right: 5px;
	padding-left: 5px;
}
.accordion-look .tagfield {
	text-decoration: none;
}
.accordion-look .tagfield {
	text-decoration: none;
}
.accordion-look .tagfield .label.label-default:hover {
	background-color: #666;
	text-decoration: none;
}
.tagfield {
	padding-left: 3px;
	margin-bottom: 3px;
}
dd a.tagfield {
	padding-left: 0;
	padding-right: 3px;
}
.dataTable .tagfield {
    display: inline-block;
    margin-bottom: 3px;
    margin-top: 3px;
}
a.tagfield:hover {
    text-decoration: none;
}
a.tagfield > span.label:hover {
    opacity: 0.8;
}
.tagtoggle {
	cursor: pointer;
}

.cursordefault {
	cursor: default;
}

#btnTagSave {
    margin-top: 3px;
}

.tagslist .list-group-item .horizontalList {
	padding-left: 0;
	padding-top: 5px;
	padding-bottom: 5px;
}

.fitwidth {
	width: 1px;
	white-space: nowrap;
}

.inline {
    display: inline-block;
    *display:inline;/*for IE 7 */
    *zoom:1;/*for IE 7 */
    vertical-align:top;
}

.accordion-inner .well {
	margin-bottom: 2px;
}
.accordion-inner {
	padding: 6px 0 0 0;
}
.accordion-inner [class*="span"]{
	margin-left: 10px;
}
.panel-heading span.label-danger, .termslist span.label-danger.overdue {
	position: absolute;
	margin-left: -2px;
	margin-top: -6px;
}


/* start bootstrappify file input controls */
.btn-file {
    position: relative;
    overflow: hidden;
}
.btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    font-size: 100px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}
/* end bootstrappify file input controls */



/* style for labels inside wells that are loaded into terms datatable */
.statswell span.label {
	margin-right: 5px;
	padding-bottom: 3px;
}
.statswell {
	padding-left: 15px;
}
.well.statswell {
	margin-bottom: 9px;
}
.well.financewell {
	padding-top: 0;
	padding-left: 16px;
	padding-bottom: 10px;
}
.termslist .well.well-sm.statswell {
    border-style: none;
    background-color: #fff;
}

/* childrow inserted into datatable */
.dataTable tr.childrow>td {
	padding-top: 0;
}
/* pad the well inside a childrow in a datatable */
tr.childrow>td .well.statswell {
	margin-top: 9px;
}


/* add border to first and last cell */
.dataTable td:last-child {
	border-right: 1px solid #dddddd;
}
.dataTable td:first-child {
    border-left: 5px solid #dddddd;
}
.dataTable td.highlight:first-child {
	border-left: 5px solid #FF0000;
}
.termslist tr.childrow td {
    padding-left: 12px;
    padding-bottom: 0px;
}
.termslist .btn.chevron {
    border-style: none;
}
.termslist .btn.chevron:hover {
    color: #3c3c3c;
}
.termslist .btn-link:hover, .btn-link:focus {
    color: #999;
    text-decoration: none;
    outline: none;
}

/* checkboxes in first table cell - modify padding to make entire cell a large clickable area
https://stackoverflow.com/questions/20223132/fill-a-table-cell-with-input-type-checkbox
*/
.table > tbody > tr > td.checkboxcell {
    border-left-width: 6px;
    border-left-style: solid;
    padding: 0;
}
.table > tbody > tr > td.checkboxcell label {
    padding-top: 18px;
    padding-bottom: 14px;
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 0;
    display: block;
}
.table > thead > tr > th.checkboxcell {
    padding-left: 6px;
    padding-bottom: 0;
    padding-right: 0;
}
.table > thead > tr > th.checkboxcell label {
    margin-bottom: 0;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
}
.checkboxcell input[type="checkbox"], .checkboxcell input[type="checkbox"] {
  width: 1.2em;
  height: 1.2em;
}
.largecheckboxes input[type="checkbox"] {
    width: 1.2em;
    height: 1.2em;
    margin-top: 2px;
    margin-left: -22px;
}

.extralargecheckboxes input[type="checkbox"] {
    width: 1.5em;
    height: 1.5em;
    margin-top: 2px;
    margin-left: -22px;
}


.dataTables_length {
    padding-top: 2px;
}


/* override bootstrap border setting which is 2px */
.table > thead > tr > th {
    border-bottom: 1px solid #ddd;
}

.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding-left: 5px;
  padding-right: 5px;
  padding-bottom: 6px;
  padding-top: 6px;
}
.table > tbody > tr.toprow > td {
  border-top: none;
}

/* datatable footer, used on invoices  and reports */
.table.dataTable tfoot tr th {
	text-align: right;
}
.vatrow  {
	font-size: 18px;
	padding-top: 5px;
	padding-bottom: 0px;
	margin-bottom: 0;
	margin-top: 0;
}
.vatrow.nettotal {
	padding-top: 15px;
}
.vatrow.totalvat {
	padding-bottom: 35px;
}
.pagetotal {
    font-size: 18px;
    padding-top: 15px;
    padding-bottom: 5px;
}
.fulltotal {
    font-size: 24px;
    font-weight: bold;
    padding-top: 15px;
    padding-bottom: 5px;
}

/* used on members index page, warning triangle */
#membersdatatable i.medicalicon {
    position: absolute;
    margin-left: -15px;
    margin-top: -5px;
}

.nowrap {
    white-space: nowrap;
}

/* move accordion inline with normal span[n]s */
.row>.accordion {
	margin-left: 20px;
}

/* Added by Paul - not 100% sure this is how you create a style for certain accordions */
.panel-heading-inactive-term {
	background-color: #ffffdd;
}
.panel-heading .badge, .termslist .badge {
	margin-right: 4px;
	margin-left: 10px;
	font-size: 16px;
	padding-left: 12px;
	padding-right: 12px;
	padding-top: 8px;
	padding-bottom: 8px;
}
.badge.smallbadge.rounded {
    margin-right: 2px;
    margin-left: 0px;
    font-size: 14px;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 4px;
    padding-bottom: 4px;
    border-radius: 16px;
    background-color: #777;
}
/* used to keep the message send button in groups index a minimum size */
.accordion-inner form button {
	min-width: 60px;
}
.accordion-inner span.label {
	margin-right: 5px;
	padding-bottom: 3px;
	margin-bottom: -3px;
}
.accordion-inner h4 {
	margin-bottom: 5px;
}

/* messages */
#newmessageeditor {
	overflow:scroll;
	max-height:450px;
  height: 350px;
  background-color: white;
  border-collapse: separate;
  border: 1px solid rgb(204, 204, 204);
  padding: 4px;
  box-sizing: content-box;
  -webkit-box-shadow: rgba(0, 0, 0, 0.0745098) 0px 1px 1px 0px inset;
  box-shadow: rgba(0, 0, 0, 0.0745098) 0px 1px 1px 0px inset;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
  overflow: scroll;
  outline: none;
}

.newmessage-toolbar {
    margin-bottom: 6px;
}
.newmessage .panel-footer {
    margin-top: 20px;
}

/* horizontal dividers on new message page, make them same color as panel border */
.newmessage .panel hr {
    border-color: #ddd;
    margin-top: 15px;
    margin-bottom: 15px;
}
.newmessage ul.list-group {
    margin-bottom: 0;
}

.table.messageactivity > tbody > tr > td:first-child {
    padding-left: 2px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: none;
}

.pointer {
    cursor: pointer;
}


/* -------------  CENTERED DIV  START ------------
needed to center a div within another, see http://stackoverflow.com/questions/114543/how-to-center-a-div-in-a-div-horizontally */
.centeredOuter {
	width: 100%;
	text-align: center;
}
.centeredInner {
	display: inline-block;
}
/* -------------  CENTERED DIV  END ------------ */

.centered{
	margin: 0 auto;
	float: none !important;
}

/* -------------  MODALS START ------------ */

.cancellink {
	margin-right: 12px;
}

.remindermodal  h4 {
	margin-bottom: 12px;
	padding-top: 10px;
}

@media screen and (min-width: 768px) {
	/* increase modal size on some pages */
	.modal-dialog.large-modal {
		width: 700px;
		margin: 30px auto;
	}
}


/* -------------  MODALS END ------------ */

/* override table padding to use a table row as headers for accordion list */
.memberstable {
	margin-bottom: 0px;
}
.toprow.firstlabel {
	font-weight: bold;
	margin-left: 20px;
}
/* .toprow {
	background-color: #F3F3F3;
} */

/* this makes the header row unselectable (avoids blue highlight) when clicked to sort */
table.sortable th {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.dropdownfilter label {
	font-weight: normal;
}

.row.filterrow {
    margin-top: 25px;
}

.filterrowelement {
    padding-bottom: 10px;
}

#invoicesdatatable_wrapper .row.filterrow {
    margin-top: 0;
}

select.form-control.dropdown_filter_option {
	width: 	inherit;
	display: inline-block;
}

.termsheadercontent h1 {
    margin-bottom: 24px;
    padding-left: 12px;
}
.termsheadercontent .page-header-row .btn {
    margin-top: 30px;
}
.termsheadercontent.termsshowpage .page-header-row .btn {
    margin-top: 5px;
}
.termsheadercontent .statstabs li,
.bookingsettingstermdetails .statstabs li {
    border-right-style: none;
    border-right-width: 0;
    padding-left: 15px;
}
.teacherinfo {
    font-size: 16px;
    font-weight: normal;
    margin-left: 5px;
}

.bookingsettingssubmit {
    position: sticky;
    top: 38px;
}

/* give tables contained within a div with class .with-table more top space - see terms show page */
.with-table table {
	margin-top: 13px;
}

.dataTable .labelfield {
    padding-left: 5px;
    line-height: 24px;
}
/* padding for terms label */
.termslistcontainer .dataTable .labelfield {
    padding-left: 0;
    line-height: 24px;
}
/* padding for members label */
.memberindexpage .dataTable .labelfield {
    padding-left: 10px;
    line-height: 24px;
    margin-left: 42px;
    margin-top: 3px;
}
/* vertically center all labels in any datatables */
.table.dataTable td {
	vertical-align: middle;
}
.table.dataTable th {
	color: #777;
}
.table.dataTable .membercolumn {
    min-width: 195px;
}

.control-label.label-grey {
	color: #777777;
}

/* custom label colours */
.mmlabel {
	display: inline;
	padding: .3em .8em .4em;
	font-size: 77%;
	border-radius: 15px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.22)
}
.label.label-grey {
	background-color: #777777;
}
.label.label-blue {
	background-color: #5584EE;
}
.label.label-green {
	background-color: #259e21;
}
.label.label-orange {
	background-color: #FF8100;
}
.label.label-red {
	background-color: #AD191D;
}
.label.label-purple {
	background-color: #A37CBB;
}
.label.label-black {
	background-color: #000000;
}
.label.label-bright-purple {
	background-color: #A635EC;
}
.label.label-pink {
	background-color: #FF26FF;
}
.label.label-brown {
	background-color: #B25901;
}
.label.label-dark-brown {
	background-color: #8A4500;
}
.label.label-light-green {
	background-color: #20ED06;
}
.label.label-dark-green {
	background-color: #03811A;
}
.label.label-dark-blue {
	background-color: #0800FF;
}
.label.label-yellow {
	background-color: #EBC944;
}

/* system type label styles */
.systemlabel {
	display: inline;
	padding: .3em .8em .4em;
	font-size: 90%;
	font-weight: 500;
	border-radius: 9999px;
	border-width: 1px;
	border-style: solid;
	cursor: default;
}
.systemlabel.green {
	background-color: #effcf3;
	border-color: #91c8a5;
	color: #268b4a;
}
.systemlabel.orange {
	background-color: #fcf6de;
	border-color: #f4e9c8;
	color: #6c5228;
}
.systemlabel.blue {
	background-color: #eff5ff;
	border-color: #a6bffa;
	color: #2651d5;
}
.systemlabel.red {
	background-color: #fdf2f8;
	border-color: #f9c2dd;
	color: #c54578;
}
.systemlabel.purple {
	background-color: #fbf5ff;
	border-color: #dec8fd;
	color: #8b36d1;
}

				

.label.outline {
	border-style: solid;
	border-width: 1px;
}
.label.label-orange.mmlabel.outline {
	background-color: #e3903d;
	border-color: #FF8100;
}
.label.label-success.mmlabel.outline {
	background-color: #24b411;
	border-color: #126c06;
}

.avatar-colored {
	background: white;
	border-radius: 30px;
	background-clip: padding-box;
	text-align: center;
	font-weight: bold;
	float: left;
	color: white;
}
.avatar-colored.avatar-md {
	font-size: 12px;
	width: 30px;
	height: 30px;
	line-height: 32px;
	background-size: 30px 30px;
	color: white;
}
.avatar-colored.avatar-sm {
	font-size: 10px;
	width: 20px;
	height: 20px;
	line-height: 20px;
	background-size: 20px 20px;
	color: white;
}
li.token-input-token > p > span.avatar-colored.avatar-sm {
	margin-right: 4px;
	float: left;
	color: white;
}

.reportstable .avatar-colored {
    margin-right: 8px;
    margin-top: 4px;
}
.reportstable .label {
    margin-top: 3px;
    margin-right: 3px;
    padding-top: 0.2em;
    padding-bottom: 0.3em;
    display: inline-block;
}
/* for some reason datatables has an !important style that sets a 6px margin on top of the table, this resets it for the reports */
table.reportstable.table-condensed.dataTable {
    margin-top: 0 !important;
}

/* the first blue results grouping header does not need top margins */
.reportpage h3.groupedreports:first-of-type  {
    margin-top: 0;
}

.reportpage .groupedresults  {
    margin-top: 20px;
}
.reportpage .groupedresults:first-of-type  {
    margin-top: 0;
}


/* used on terms show page, invoice well */
.avatar-membername {
	font-weight: bold;
	padding-left: 8px;
	line-height: 30px;
}
.avatar-membername-nobold {
    padding-left: 8px;
    line-height: 30px;
}

#repeatOn .form-group label {
	margin-right: 7px;
}

/* overrides for tag manager styles */
.tm-tag {
	color: #fff;
	background-color: #3887AE;
}


.warningtext {
    color: #d9534f;
}
.orangetext {
    color: #ffa114;
}
.redtext {
	color: #d2322d;
}
.greentext {
	color: #47a447;
}
.greytext {
    color: #666666;
}
.lightgreytext {
	color: #999;
}
.darkgreytext {
	color: #3c3c3c;
}
.smalltext {
    font-size: small;
}
.lightgreybg {
	background-color: #999;
}
.midgreybg {
	background-color: #bbbbbb;
}
.greybg {
	background-color: #666666;
}

/* ------------- CASE STUDY STYLES START ------------ */

.case-study .well blockquote {
	border-left: none;
	margin-bottom: 2px;
}
.case-study .casestudylogo {
	margin-top: 15px;
	margin-bottom: 15px;
}
.case-study .well.quotewell {
	margin-top: 30px;
}
.case-study .well.quotewell img {
	margin-right: 25px;
}
.case-study .casestudyinterview h4 {
	margin-top: 35px;
	margin-bottom: 10px;
}
.case-study .actionitem {
	text-align: center;
	margin-top: 30px;
}

/* ------------- CASE STUDY STYLES END ------------ */


.warning-color {
	border-left-color: #d9534f;
}


/* ----------------- MESSENGER OVERRIDES START--------------- */
ul.messenger.messenger-fixed .messenger-message.alert {
	margin-bottom: 10px;
}
ul.messenger.messenger-fixed.messenger-on-bottom {
	bottom: 0px;
}
ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-right {
	right: 10px;
}

ul.messenger .message-error {
    background-color: #d9534f;
    color: white;
}

/* ----------------- MESSENGER OVERRIDES END--------------- */


/* export print styles */
.table-font-sm {
	font-size: 12px;
}
.exportconfigtable {
	margin-bottom: 0;
}
.table.exportconfigtable tr > td {
	border-top: 0;
}

/* progress bar styles */
.progress {
	background-color: #D8D8D8;
}
.dataTable .progress {
	height: 11px;
	margin-bottom: 0;
}
/* progress bar on dashboard */
.dashboardwell .progress {
    margin-bottom: 5px;
    margin-top: 10px;
}

/* this allows loists to sit tight inside a panel but still have content above. The list sits outside the panel body. */
.list-group.panellist {
	margin-bottom: 0;
} 
.list-group.panellist .list-group-item {
	border-width: 1px 0;
	border-radius: 0;
	margin-bottom: -1px;
}

/* terms progress */
.progressrow {
	margin-bottom: 35px;
	margin-top: 30px;
}
.progress-justified {
	display: table;
	width: 100%;
	border-collapse: separate;
	table-layout: fixed;
}
.progress-justified > div {
	display: table-cell;
	float: none;
	width: 1%;
	text-align: center;
}
.progress-justified > div > a.btn {
	color: #999;
}
.progress-justified > div > a.btn.active {
	color: #428bca;
	background-color: #EEEEEE;
	box-shadow: none;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}
.progress-justified > div.bordered.active {
	height: 2px;
	background-color: #5cb85c;
}
.progress-justified > div.bordered {
	height: 2px;
	background-color: #d4d4d4;
}
.progress-justified > div.bordered:first-child {
	height: 2px;
	background-color: #ffffff;
}
.progress-justified > div.bordered:last-child {
	height: 2px;
	background-color: #ffffff;
}
.progress-justified .circlewrapper {
	margin-bottom: -9px;
}
.circlewrapper .circle {
	margin-right: auto;
	margin-left: auto;
}
.circle {
	border-radius: 50%;
	width: 16px;
	height: 16px;
}
.circlewrapper .circle.greencircle {
	background-color: #5cb85c;
	margin-top: -9px;
}
.circlewrapper .circle.greycircle {
	background-color: #d4d4d4;
	margin-top: -9px;
}
.circlewrapper .circle.redcircle {
	background-color: #d2322d;
	margin-top: -9px;
}
.circlewrapper .circle.orangecircle {
	background-color: #FF8100;
	margin-top: -9px;
}

.progressrow a.btn.eventbtn {
	width: 99%;
	min-height: 33px;
	background-color: transparent;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}
.progressrow a.btn.eventbtn:focus {
	outline: none;
}
.progressrow a.btn.eventbtn:active {
	-webkit-box-shadow: none;
	box-shadow: none;
}
.progressrow a.btn.eventbtn:hover {
	background-color: #eeeeee;
}
a.btn.eventbtn {
	font-size: 12px;
}
/* end terms progress */

.btn.noborder {
	border-width: 0;
}
.btn.noborder:hover {
	color: #3c3c3c;
}
.btn.noborder:active {
	-webkit-box-shadow: none;
	box-shadow: none;
}
.btn-group.open.noborder .dropdown-toggle.noborder {
	-webkit-box-shadow: none;
	box-shadow: none;
}

.modify-term-container .progressimg {
        margin-top: 15px;
        margin-bottom: 15px;
        margin-left: 10px;
}
.duplicate-term-well {
	min-height: 330px;
	position: relative;
}
.duplicate-term-well .btn.btn-success {
	position: absolute;
	left:    10px;
	bottom:   10px;
}
#term-duplicate-datestable {
	margin-top: 20px;
}

.table > thead > tr > th.rightpad20 {
	padding-right: 20px;
}

.width60pc {
	width: 60%;
}
.width35pc {
	width: 35%;
}
.width80px {
	width: 80px;
}

.batchlineitemform label {
	line-height: 31px;
}

.circle-icon {
	display: inline-block;
	margin-bottom: 0;
	font-weight: normal;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	padding:0;
	border-radius: 50%;
	background-color: #cccccc;
}
.circle40 {
    font-size: 18px;
    width: 40px;
    height: 40px;
    line-height: 40px; /* adjust line height to align vertically*/
}
.circle25 {
    font-size: 14px;
    width: 25px;
    height: 25px;
    line-height: 25px; /* adjust line height to align vertically*/
}
.circle-primary {
  	background-color: #337ab7;
  	color: #FFFFFF;
}
.circle-warning {
  	background-color: #f0ad4e;
  	color: #FFFFFF;
}
.circle-feedback {
    background-color: #A37CBB;
  	color: #FFFFFF;
}
.circle-booking {
    background-color: #f75c03;
  	color: #FFFFFF;
}
.circle-danger {
  	background-color: #d9534f;
  	color: #FFFFFF;
}
.circle-success {
  	background-color: #5cb85c;
  	color: #FFFFFF;
}
.circle-white {
    background-color: #FFFFFF;
    color: #337ab7;
}

/* fix to get font awesome to align properly over form fields in has-feedback form control */
.fa.form-control-feedback {
	line-height: 34px;
}
.form-control-feedback {
    color: #626262;
}
.form-control-feedback.redtext {
    color: #d2322d;
}

/* sometimes I need a row inside a col- and do not want the -15 margins it sets */
.rowmarginreset {
    margin-left: 0;
}

/* hide un-compiled mustache bindings until the Vue instance is ready */
[v-cloak] {
  display: none;
}

#advancedsendoptions .checkbox-inline:not(:first-child) {
    margin-left: 20px;
}

.disablingPicker .datepicker table tr td.active:active:hover, .datepicker table tr td.active.highlighted:active:hover, .datepicker table tr td.active.active:hover, .datepicker table tr td.active.highlighted.active:hover, .datepicker table tr td.active:active:focus, .datepicker table tr td.active.highlighted:active:focus, .datepicker table tr td.active.active:focus, .datepicker table tr td.active.highlighted.active:focus, .datepicker table tr td.active:active.focus, .datepicker table tr td.active.highlighted:active.focus, .datepicker table tr td.active.active.focus, .datepicker table tr td.active.highlighted.active.focus {
    background-color: #d2322d;
    color: #ffffff;
    border-width: 0;
}
.disablingPicker .datepicker table tr td.active:active, .datepicker table tr td.active.highlighted:active, .datepicker table tr td.active.active, .datepicker table tr td.active.highlighted.active {
    color: #ffffff;
    background-color: #d2322d;
    border-width: 0;
}
.disablingPicker .datepicker table tr td.day:hover {
    background-color: #FCE8E7;
}
.disablingPicker .datepicker table tr td.day.active:hover {
    background: #d2322d;
}
.disablingPicker .datepicker table tr td, .datepicker table tr th {
    border-radius: 15px;
}

.buttonDialogue {
    margin-top: 25px;
    margin-bottom: 25px;
}
.buttonDialogue .btn {
    margin-right: 15px;
    margin-left: 15px;
}

/* start divider */
.anv {
    position: relative;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
    text-transform: uppercase;
}
.anw {
    position: relative;
    z-index: 2;
    display: inline-block;
    padding-left: 1em;
    padding-right: 1em;
    color: #6f7890;
    vertical-align: middle;
    background-color: #252830;
}
.anx {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 100%;
    color: inherit;
}
.anv:before {
    position: absolute;
    top: 50%;
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #434857;
}
/* end divider */

.dropzone {
    border: 2px dashed #0087F7;
    padding: 30px;
    margin-bottom: 0;
    font-size: 20px;
}


/* used on timetable page */
.sectionlink {
  font-size: 14px;
  margin-left: 10px;
}


/* used when an area contains no data for example no students added yet - call tp action */
.emptydata {
    margin-top: 10px;
    margin-bottom: 35px;
    padding: 10px;
}

/* green panel headers and borders */
.panel.green {
    border: none;
    border-radius: 10px;
}
.panel.green > .panel-heading {
    background-color: #58bb35;
    color: #fff;
    border-bottom: none;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    text-align: center;
}
.panel.green > .panel-heading > .panel-title {
    font-size: 24px;
}
.panel.green .panel-body {
    background-color: #ececec;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    padding-top: 25px;
    padding-bottom: 30px;
}
.panel.green .panel-body label {
    font-size: 16px;
    color: #797979;
}
.panel.green .panel-body .form-group {
    margin-bottom: 11px;
    margin-top: 5px;
}
.input-group.browse .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
    background-color: #ffffff;
    opacity: 1;
}

/* styling for bootstrap select to remove dropdown styling (ie on terms/show page) */
.bootstrap-select-jumper .dropdown.bootstrap-select .btn.dropdown-toggle {
    margin: 0px 0px 0px 5px;
    padding: 0;
    border-style: none;
    font-size: 36px;
    font-weight: 500;
}
.bootstrap-select-jumper .bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
    width: 100%;
}
.minheight50 {
    min-height: 50px;
}
.bootstrap-select-jumper .dropdown.bootstrap-select .btn-default:hover {
    background-color: #f5f5f5;
}
.bootstrap-select-jumper .btn-default:active, .bootstrap-select-jumper .btn-default.active, .bootstrap-select-jumper .open > .dropdown-toggle.btn-default {
    background-color: #f5f5f5;
}

/* we need different font sizes depending on class name length */
.bootstrap-select-jumper.sm .bootstrap-select .filter-option-inner-inner {
    font-size: 24px;
    margin-top: 6px;
}

/* overrides bootstrap-select style which makes it look as if the control is disabled with nothing selected */
.bootstrap-select > .dropdown-toggle.bs-placeholder,
.bootstrap-select > .dropdown-toggle.bs-placeholder:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder:active {
    color: inherit;
}
.termsheadercontent .bootstrap-select .filter-option-inner-inner {
    color: #333;
    font-size: 32px;
    margin-right: 30px;
}

/* dropdown for class selection on newmessage page, make selected item light green */
.bootstrap-select.btn-group .dropdown-menu li.selected, .bootstrap-select .dropdown-menu li.selected {
    background-color: #47a44721;
}
/* reset for modal select (edit class etc) */
.modal .bootstrap-select .filter-option-inner-inner {
    font-size: 14px;
}


/* styles for members profile selectpicker to go to next member name */
/*.page-header-row .dropdown.bootstrap-select .btn.dropdown-toggle {
    margin-left: 0;
    font-weight: bold;
    margin-top: -5px;
}*/
.membernames button.btn.dropdown-toggle.btn-default {
    border-style: none;
}


.ddimg-lg {
    margin-left:15px;
}


/* alignment for inline checkboxes on creating team member dialogue */
.form-group.access-level .checkbox-inline {
    padding-left: 0;
    padding-top: 6px;
}
.form-group.access-level .alert.alert-warning {
    margin-top: 20px;
}

.fa-layers-counter.success {
    background-color: #5cb85c;
}
.fa-layers-counter.warning {
    background-color: #f0ad4e;
}


.invoicechart {
    min-height: 250px;
}

.floatcontainer {
    width: 100%;
    overflow: hidden;
}
.floatcontainerleft, .floatcontainerright {
  float: left;
  width: 40%;
}

.width15pc {
    width: 15%;
}


select.btn-mini {
    height: auto;
    line-height: 14px;
    font-weight: bold;
    width: 100%;
    color: #337ab7;
    font-size: 12px;
}


.panel.with-nav-tabs .datefield {
    color: #777777;
    font-weight: bold;
    padding-right: 10px;
}
.panel.with-nav-tabs div.outstanding {
    font-size: 12px;
    color: #666666;
    margin-top: -2px;
}
.panel.with-nav-tabs div.outstanding.text-success {
    color: #3c763d;
}
.panel.with-nav-tabs .table > thead > tr > th, .panel.with-nav-tabs .table > tbody > tr > th, .panel.with-nav-tabs .table > tfoot > tr > th, .panel.with-nav-tabs .table > thead > tr > td, .panel.with-nav-tabs .table > tbody > tr > td, .panel.with-nav-tabs .table > tfoot > tr > td {
    border-top: none;
}
.panel.with-nav-tabs table {
    margin-top: 5px;
    margin-bottom: 5px;
}


/* START GoCardless flow styles (instant bank pay etc */
.gocardlessflow h3.userprompt {
    font-weight: 300;
    line-height: 1.5;
}
.gocardlessflow .btn-primary.paybutton {
    border-radius: 40px;
	background-color: #154BE5;
    border-color: #2e6da4;
    margin-bottom: 15px;
}
.gocardlessflow .btn-primary.paybutton:hover {
    border-radius: 40px;
	background-color: #0336C7;
    border-color: #2e6da4;
}
/* END GoCardless flow styles (instant bank pay etc */


.disabled-inputs {
	pointer-events:none;
}



.confirmationcontainer .form-group.checkboxgroup .checkboxclass {
	margin-top: 8px;
}
/* more margin on confirmation page */
.confirmationcontainer div.form-group {
	margin-bottom: 15px;
}



/* override for bootstrap 3 to make it show the browser's built-in clear icon for text field's of type='search' */
input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: searchfield-cancel-button;
}

/* horrible typeahead style override
https://stackoverflow.com/questions/27704296/when-changing-typeahead-tt-input-background-color-tt-hint-not-shown
*/
.tagInput.tt-query {
    background-color: white !important;
}

/* hide links when printing
https://stackoverflow.com/questions/7301989/need-to-remove-href-values-when-printing-in-chrome
*/
@media print {
  a[href]:after {
    content: none !important;
  }
}

/* enlarge selected radio buttons */
input[type=radio].largeradio {
	border: 0px;
	width: 100%;
	height: 1.2em;
}

.radio label.boldtext, .checkbox label.boldtext {
    font-weight: bold;
}


/* bootbox.js style overrides */
.bootbox.modal .modal-dialog.modal-sm {
    width: 400px;
}

.bootbox.modal .modal-title {
    font-size: 18px;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
    margin-top: 10px;
    margin-bottom: 5px;
}
.bootbox.modal .modal-title .danger {
    color: #d9534f;
}
.overflow-auto {
	overflow: auto;
}
.display-block {
	display: block
}


/* locales --------------------- */

.fa-chf:before {
  content: 'CHF';
}
/* CHF was overlapping the value that followed */
.fa-chf {
  margin-right: 12px;
}
.fa-sfr:before {
  content: 'sFr.';
}
.fa-en-in:before {
  content: 'Rs.';
}
.fa-za:before {
  content: 'R';
}
.fa-pl:before {
  content: 'PNL';
}
.fa-ft:before {
	content: 'Ft';
}
.fa-zh:before {
	content: 'S$';
}
.fa-hk:before {
	content: 'HK$';
}
.fa-hk {
	margin-right: 8px;
}
.fa-ar:before {
	content: 'SAR';
}
.fa-ar {
	margin-right: 8px;
}


/* ----------------------------
temporary classes for introducing tailwind
these are the same utility classes as would be used by tailwind, but being included in mm.css with
a prefix of 'mm-tw-' to make it obvious that any of these classes will work with tailwind after the
prefix is removed
---------------------------- */

.mm-tw-relative{
    position: relative;
}

.mm-tw-absolute{
    position: absolute;
}

.mm-tw-top-\[1px\]{
    top: 1px;
}

.mm-tw-top-\[15px\]{
    top: 15px;
}

.mm-tw-left-\[15px\]{
    left: 15px;
}

.mm-tw-inline-block{
    display: inline-block;
}

.mm-tw-flex{
  display: flex;
}

.mm-tw-justify-end{
  justify-content: flex-end;
}

.mm-tw-items-center{
  align-items: center;
}

.mm-tw-grow{
    flex-grow: 1;
}

.mm-tw-flex-wrap{
    flex-wrap: wrap;
}

.mm-tw-gap-\[2px\]{
    gap: 2px;
}

.mm-tw-gap-4{
  gap: 1rem;
}

.mm-tw-w-\[19\%\]{
    width: 19%;
}

.mm-tw-w-\[56\%\]{
    width: 56%;
}

.mm-tw-w-full{
    min-width: 100%;
}

.mm-tw-min-w-\[70px\]{
    min-width: 70px;
}

.mm-tw-overflow-x-scroll{
    overflow-x: scroll;
}

.mm-tw-\[overflow-wrap\:anywhere\]{
    overflow-wrap: anywhere;
}

.mm-tw-mt-2{
    margin-top: 0.5rem;
}

.mm-tw-mt-0{
    margin-top: 0px;
}

.mm-tw-mr-6{
    margin-right: 1.5rem;
}

.mm-tw-mr-\[10px\]{
    margin-right: 10px;
}

.mm-tw-mb-\[15px\]{
    margin-bottom: 15px;
}

.mm-tw-mb-4{
    margin-bottom: 1rem;
}

.mm-tw-my-0{
    margin-top: 0px;
    margin-bottom: 0px;
}

.mm-tw-my-\[10px\]{
    margin-top: 10px;
    margin-bottom: 10px;
}

.mm-tw-p-0{
    padding: 0px;
}

.mm-tw-p-\[15px\]{
    padding: 15px;
}

.mm-tw-px-\[5px\]{
    padding-left: 5px;
    padding-right: 5px;
}

.mm-tw-pt-\[5px\]{
    padding-top: 5px;
}

.mm-tw-pt-0{
    padding-top: 0px;
}

.mm-tw-pl-\[44px\]{
    padding-left: 44px;
}

.mm-tw-py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.mm-tw-px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.mm-tw-pr-0{
    padding-right: 0px;
}

.mm-tw-bg-transparent{
    background-color: transparent;
}

.mm-tw-bg-white{
    background-color: rgb(255, 255, 255);
}

.mm-tw-bg-\[\#f5f5f5\]{
    background-color: rgb(245, 245, 245);
}

.mm-tw-bg-\[\#dddddd\]{
    background-color: rgb(221, 221, 221);
}

.hover\:mm-tw-bg-\[\#dddddd\]:hover{
    background-color: rgb(221, 221, 221);
}

.mm-tw-text-\[\#777777\]{
    color: rgb(119, 119, 119);
}

.mm-tw-text-\[\#337ab7\]{
    color: rgb(51, 122, 183);
}

.mm-tw-text-\[\#5cb85c\]{
    color: rgb(92, 184, 92);
}

.mm-tw-text-\[\#d2322d\]{
    color: rgb(210, 50, 45);
}

.hover\:mm-tw-text-\[\#23527c\]:hover{
    color: rgb(35, 82, 124);
}

.mm-tw-border-solid{
    border-style: solid;
}

.mm-tw-border-\[\#dddddd\]{
    border-color: rgb(221, 221, 221);
}

.mm-tw-border-\[0px\]{
    border: 0px;
}

.mm-tw-border-x-\[0px\]{
    border-left-width: 0px;
    border-right-width: 0px;
}

.mm-tw-border-x-\[1px\]{
    border-left-width: 1px;
    border-right-width: 1px;
}

.mm-tw-border-t-\[1px\]{
    border-top-width: 1px;
}

.mm-tw-border-b-\[0px\]{
    border-bottom-width: 0px;
}

.mm-tw-border-b-\[1px\]{
    border-bottom-width: 1px;
}

.mm-tw-rounded-t-\[4px\]{
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.hover\:mm-tw-underline:hover{
    text-decoration: underline;
}

.tabbed-content-tab {
	cursor: pointer;
}

/* ---------------------------- 
override for fontawesome icons, prevents layout shift on some buttons, for example the search icon
---------------------------- */
.fa-fw {
  display: inline-block;
  line-height: 1;
  width: 1.25em;
}

/* ---------------------------- */

.pulse-button {
  position: relative;
  box-shadow: 0 0 0 0 rgba(92,184,92, 0.7);
  background-color: #5cb85c;
  background-size:cover;
  background-repeat: no-repeat;
  cursor: pointer;
  -webkit-animation: pulse 1.25s 3 cubic-bezier(0.66, 0, 0, 1);
  -moz-animation: pulse 1.25s 3 cubic-bezier(0.66, 0, 0, 1);
  -ms-animation: pulse 1.25s 3 cubic-bezier(0.66, 0, 0, 1);
  animation: pulse 1.25s 3 cubic-bezier(0.66, 0, 0, 1);
}
.pulse-button:hover
{
  -webkit-animation: none;-moz-animation: none;-ms-animation: none;animation: none;
}
@-webkit-keyframes pulse {to {box-shadow: 0 0 0 25px rgba(92,184,92, 0);}}
@-moz-keyframes pulse {to {box-shadow: 0 0 0 25px rgba(92,184,92, 0);}}
@-ms-keyframes pulse {to {box-shadow: 0 0 0 25px rgba(92,184,92, 0);}}
@keyframes pulse {to {box-shadow: 0 0 0 25px rgba(92,184,92, 0);}}
