body {

}

#Ton a:hover {
  text-decoration: none;
}

#Ton h1,#Ton h2 {
  font-family: 'Raleway', sans-serif;
  color: #002970;
  font-weight: 700;
}

#Ton h1 {
  font-size: 2em;
}

#Ton h3, #Ton h4, #Ton h5, #Ton h6 {
  font-family: 'Raleway', sans-serif;
  font-weight: 600;
  color: #002970;
}

#Ton h3.text-center > a > span.heading-title {
  color: #002970;
}

#Ton h3.text-center > a:hover > span.heading-title {
  filter: brightness(120%);
  text-decoration: underline;
}

#Ton h3.text-center > a > span.heading-note {
  font-size: 0.9em;
  display: block;
  font-weight: normal;
}

#Ton h4.text-center > a {
  color: #002970;
}

#Ton h4.text-center > a:hover {
  filter: brightness(120%);
  text-decoration: underline;
}

#Ton .fdb-block {
  padding-top: 30px;
  padding-bottom: 60px;
}

#Ton hr {
  margin-top: 30px;
  margin-bottom: 30px;
}

#Ton .form-check {
  margin-left: 30px;
}

#Ton .table td {
  vertical-align: middle;
}

#Ton h3.card-header {
  margin-top: 0;
}

#Ton .pagination {
  justify-content: center;
}

#Ton #map {
  height: 400px;
  margin: 20px 0;
}

#Ton dd {
  margin-bottom: 20px;
}


/* General components */

#Ton .btn {
  font-family: 'Raleway', sans-serif;
  cursor: pointer;
}

#Ton .btn.btn-primary {
  background-color: #002970;
  color: white;
}

#Ton .btn.btn-outline-primary {
  color: #002970;
}

#Ton .btn.btn-outline-primary:hover {
  background-color: #002970;
  color: white;
}

#Ton .btn.btn-info {
  background-color: #20B0F1;
  color: white;
}

#Ton .btn.btn-white {
  background-color: #FFFFFF;
  color: #000000;
}

#Ton .btn.btn-white:hover {
  background-color: #FFFFFF;
  color: #000000;
}


#Ton a .fdb-touch {
  transition: background-color 0.5s ease;
}

#Ton .fdb-touch {
  border-top-color: #002970;;
}

#Ton .well {
  padding: 10px;
  margin-bottom: 15px;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 4px;
}

#Ton a .fdb-touch:hover {
  background-color: #f8f7ff;
}

#Ton .fdb-box {
  padding: 25px;
  margin-bottom: 60px;
}

#Ton .padded-button-container {
  text-align: center;
  margin: 40px 0 20px 0;
}

#Ton .padded-button-container a,
#Ton .padded-button-container button {
  margin: 0 10px;
}

#Ton .radio-container {
  margin-left: 50px;
}

#Ton .ton-editable {
  transition: background-color 0.5s ease;
  padding: 12px;
}

#Ton .ton-editable:hover {
  background-color: #f8f7ff;
  border-radius: 3px;
}

#Ton .sidebar .fdb-box {
  padding-top: 20px;
}

#Ton .school-logo {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

#Ton .summary-text {
  color: #aaaaaa;
  font-style: italic;
  white-space: pre-wrap;
}

#Ton .not-markdown-yet {
  white-space: pre-line;
}

#Ton .school-description {
  text-align: left;
  color: #02007d;
}

#Ton ul.file-list {
  list-style-type: none;
}

#Ton .dynamically-multiply-after-use {
  display: flex;
  margin-bottom: 10px;
}

#Ton input:required.form-control,
#Ton select:required.form-control {
  border-bottom-color: red;
}

#Ton #how-to-use-markdown {
  font-size: 14px;
  margin-bottom: 20px;
}

#Ton #how-to-use-markdown ol {
  margin-bottom: 3px;
}

#Ton #how-to-use-markdown li {
  list-style-type: none;
}


/* Loading spinner */
.loader {
  border: 6px solid #f3f3f3;
  border-top: 6px solid #3498db;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* Easy Autocomplete */
.easy-autocomplete input {
  background-image: url(https://dach6jt19anvg.cloudfront.net/images/icon_search.png);
  background-repeat: no-repeat;
  background-position: right 10px center;
}

/* Nav bar */
/* Remove woman image from header */
#TonHeader {
  background: #057aff url("https://dach6jt19anvg.cloudfront.net/images/Ton_Web_Header_Gradient.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 10px 10px;
}

/* Remove woman image from header on mobile because it looks very strange */
@media(max-width: 991px) {
  #TonHeader {
    background: #057aff url("https://dach6jt19anvg.cloudfront.net/images/Ton_Web_Header_Gradient.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 10px 10px;
  }
}

#TonHeader #header-logo {
  width: 150px;
  height: auto;
}

/* Reduce logo size on mobile */
@media(max-width: 991px) {
  #TonHeader #header-logo {
    width: 90px;
    height: auto;
  }
}

#TonHeader #tagline {
  display: inline-block;
  font-size: 16px;
  margin-bottom: 0;
  color: white;
}

/* Remove tagline on mobile*/
@media(max-width: 560px) {
  #TonHeader #tagline {
    display: none;
  }
}

#TonHeader .nav-link {
  color: #ffffff;
  padding: 8px 15px;
  font-weight: bold;
}

#TonHeader .nav-link:hover {
  color: #eeeeee;
}

/* Centred menu items on mobile*/
@media(max-width: 991px) {
  #TonHeader .nav-link {
    text-align: center;
  }

  #TonHeader #login-button-container {
    text-align: center;
    margin-top: 30px;
  }
}


#TonHeader #login-button {
  padding: 10px 30px;
}

#TonHeader #profile-menu-button {
  padding: 10px 15px;
  font-weight: 400;
}

@media(max-width: 991px) {
  #TonHeader #profile-menu-container {
    max-width: 400px;
    margin: 10px auto;
  }
}

#TonHeader #profile-picture-in-menu {
  max-height: 28px;
  width: auto;
  border-radius: 50%;
  margin-left: 10px;
}


/* School Logos Table */
#Ton .school-logo-in-table {
  max-height: 50px;
  height: auto;
}

#Ton .small-school-logo-in-table {
  max-height: 25px;
  height: auto;
  margin-right: 10px;
}

#Ton .no-jobs-found-text {
  text-align: center;
  line-height: 1.5;
}

#Ton #address-display {
  margin-bottom: 20px;
}

#Ton #address-display p {
  margin: 0;
}

/* Home page */

#Home {
  background: #057aff url("https://dach6jt19anvg.cloudfront.net/images/home-backgrounds/st_ursulas_college.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  min-height: 100vh;
}

/* Override header background for homepage*/
#Home #TonHeader {
  background: inherit;
}

#Home .search-box h3 {
  font-size: 16px;
  font-weight: 600;
  margin: 0 5px;
  font-family: 'Raleway', sans-serif;
}

/* Vertically centre search form on desktop */
@media(min-width: 992px) {
  #Home #search-form {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

#search-form .multiselect.dropdown-toggle {
  text-align: left;
}

#search-form .dropdown-toggle::after {
  position: absolute;
  right: 11px;
  top: 45%;
  bottom: 0;
}

@media(min-width: 769px) {
  #search-form select {
    width: 210px;
  }
}

@media (max-width: 768px) {
  #search-form .multiselect-native-select > div.btn-group {
    width: 100% !important;
    padding-bottom: 6px;
  }
}


#Home #search-form {
  padding: 20px;
  margin-top: 50px; /* only when not vertically centered above */
}

#Home .search-box .form-control {
  margin-top: 7px;
  margin-bottom: 7px;
}

#Home .search-box .search-button {
  margin: 20px 0 7px 20px;
  padding: 10px 40px;
}

#Home #quote-text blockquote {
  font-family: 'Raleway', sans-serif;
  color: white;
  text-align: center;
  max-width: 700px;
  margin: 90px auto 0 auto;
}

#Home #quote-text cite {
  font-family: 'Raleway', sans-serif;
  font-weight: bold;
  color: white;
  display: block;
  padding-top: 15px;
}

/* Search Results (Vacancies) */
#Vacancies .positions-container h2 {
  font-size: 25px;
  font-weight: bold;
}

#Vacancies .save-job-button {
  float: right;
}

#Vacancies .edit-job-button {
  float: right;
  margin: 0 10px 0 10px;
}

#Vacancies .applied-for-vacancy {
  float: right;
}

#Vacancies .vacancy-summary {
  margin-top: 30px;
  white-space: pre-wrap;
}

#Vacancies .signup-divider {
  margin-top: 30px;
  margin-bottom: 30px;
}

#Vacancies .advanced-search form {
  margin-top: 20px;
}


/* Search Results in iFrame (simple view) */
#IframeVacanciesHeader {
  padding: 20px;
}

#IframeVacanciesHeaderImage {
  max-width: 100%;
}

#IframeVacancies {
  padding: 20px;
}

#IframeVacancies .iframe-vacancy-box{
  border: 1px solid #ccc;
  padding: 20px;
  border-radius: 5px;
  margin-bottom: 40px;
}

#IframeVacancies .iframe-vacancy-box h2 {
  font-size: 20px;
}
#IframeVacancies .iframe-vacancy-box h4 {
  font-size: 16px;
}

#IframeVacancies .iframe-vacancy-box {
  font-size: 12px;
}


/* Vacancy Detail View */
#Vacancy .fdb-block {
  /*background-image: url(images/froala/alt_wide_3.svg)*/
}

/* Applications */
#Applications .status-text {
  margin-bottom: 5px;
  font-size: 80%;
}


#SchoolVacancyApplications .applications-table {
  margin-top: 100px;
}

/* Application: edit.html, view.html */
#Application .fdb-block {
  /*background-image: url(images/froala/alt_wide_2.svg)*/
}

#Application .school-name {
  text-align: center;
}

#Application .job-application-section .row {
  margin-bottom: 20px;
}

@media (max-width: 414px) {
  #Application .radio-container {
    margin-left: 10px;
  }

  #Application .radio-container .form-check {
    margin-left: 0;
  }
  #Application .radio-container .form-check .form-check-label {
    padding-left: 0;
  }
}

/* TeacherProfile: edit.html, view.html */
#TeacherProfile #edit-controls-main-container {
  padding-bottom: 120px;  /* to fit autocomplete menu */
}

#TeacherProfile h2 {
  margin-bottom: 30px;
}

#TeacherProfile .fdb-block {
  /*background-image: url(images/froala/alt_wide_1.svg)*/
}

#TeacherProfile .application-container {
  margin-bottom: 10px;
}

#TeacherProfile .property-block {
  margin: 30px;
}

#TeacherProfile .property-block p {
  margin-left: 25px;
  margin-right: 25px;
}

#TeacherProfile .table {
  border: 1px solid #dddddd;
}

#TeacherProfile .profile-visibility-card {
  margin-top: 30px;
  margin-left: 30px;
}

#TeacherProfile .hide-from-selected-schools-container {
  margin-left: 50px;
}

#TeacherProfile .remove-school {
  margin-left: 10px;
  cursor: pointer;
}


/* Manage Filters (saved searches) */
#ManageFilters .fdb-block {
  margin-top: 30px;
  /*background-image: url(images/froala/bg_1.svg)*/
}

#ManageFilters .table {
  table-layout: fixed;
}

#ManageFilters .table  {
  table-layout: fixed;
}


/* StaticInfoPage: legal.html, about.html, products.html */
#StaticInfoPage .fdb-block {

}

#StaticInfoPage #select-advertiser-type-block {
  padding-bottom: 0;
}

#StaticInfoPage .type-of-advertiser-button-container {
  text-align: center;

}

#StaticInfoPage .type-of-advertiser-button-container button {
  margin: 10px;
}

#StaticInfoPage .fdb-box {
  padding-top: 20px;
}

#StaticInfoPage #privacy-policy h3 {
  margin-top: 50px;
  margin-bottom: 20px;
}

/* Make boxes equal height when side-by-side */
#StaticInfoPage .product-pricing-section .fdb-box {
  height: 100%;
}

/* Remove height when boxes stacked to allow vertical margin between them on mobile */
@media(max-width: 991px) {
  #StaticInfoPage .product-pricing-section .fdb-box {
    height: inherit;
  }
}

#StaticInfoPage .tutor-pricing-table {
  margin-top: 25px;
  font-size: 14px;
  margin-bottom: 23px;
}

#StaticInfoPage .limit-width-and-center {
  max-width:700px;
  margin: 0 auto;
}

#StaticInfoPage ol.level-one {
  font-weight: 600;
}

#StaticInfoPage ol.level-one ol {
  font-weight: 400;
}

#StaticInfoPage .eula .level-one li {
  margin-bottom: 30px;
}

#StaticInfoPage .product-lead-text {
  margin: 30px auto;
  width: 80%;
}

#StaticInfoPage .product-page-icon {
  font-size: 100px;
  margin-bottom: 30px;
}

#StaticInfoPage .product-pricing-section {
  /*background-image: url(images/froala/bg_1.svg)*/
}

#StaticInfoPage .product-pricing-section .small {
  font-size: 50%;
}

#StaticInfoPage .product-pricing-section .text-h1 {
  line-height: 1;
}


/* AdvertiserSignUp */
#AdvertiserSignUp .fdb-block {
}


/* AdvertiserSubscription */
#AdvertiserSubscription .product-page-icon {
  font-size: 100px;
  margin-bottom: 30px;
}

#AdvertiserSubscription .product-pricing-section {
  /*background-image: url(images/froala/bg_1.svg);*/
  min-height: 70vh;
}

#AdvertiserSubscription #casual-pricing-table {
  max-width: 900px; margin: 40px auto;
}

#AdvertiserSubscription .product-pricing-section .small {
  font-size: 50%;
}

#AdvertiserSubscription .summary-container {
  margin: 0 auto;
  max-width: 800px;
}

#AdvertiserSubscription .annual-subs-table-container {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  max-width: 600px;
  margin: 30px auto;

}

#AdvertiserSubscription .annual-subs-table {
  width: 100%;
  margin: 30px auto 40px auto;
}

#AdvertiserSubscription .subscription-calculated-price {
  margin: 20px auto;
  width: 90%;
}

#AdvertiserSubscription .subscription-calculated-price th {
  text-align: left;
}

#AdvertiserSubscription .subscription-calculated-price td {
  text-align: left;
  padding: 5px;
}

/* AdvertiserHome */
#AdvertiserHome .fdb-block {
  /*background-image: url(images/froala/bg_4.svg)*/
}

#AdvertiserHome .subscription-alert {
  margin-bottom: 50px;
}

#AdvertiserHome .table {
  font-size: 14px;
}

/* SchoolProfile: edit.html, view.html */
#SchoolProfile .fdb-block {
  /*background-image: url(images/froala/alt_wide_1.svg)*/
}

#SchoolProfile h2 {
  margin-bottom: 30px;
}

#SchoolProfile .inline-school-logo {
  display: inline-block;
  border: 1px solid #ccc;
  padding: 5px;
  max-width: 200px;
  height: auto;
  margin-right: 20px;
}


/* PostVacancy: create.html, edit.html, preview.html */
#PostVacancy .fdb-block {
  /*background-image: url(images/froala/bg_2.svg)*/
}

#PostVacancy .school-logo {
  display: block;
  margin: 0 auto 20px auto;
}

#PostVacancy .school-name {
  margin-top: 20px;
  text-align: center;
}

/* AdvertiserVacancy: view.html */
#AdvertiserVacancy .fdb-block {
  /*background-image: url(images/froala/alt_wide_2.svg);*/
}

#AdvertiserVacancy .advert-status-bar {
  margin-bottom: 20px;
  width: 100%;
  font-size: 12px;
}

#AdvertiserVacancy .advertiser-vacancy-controls {
  text-align: center;
  margin-bottom: 20px;
}

#AdvertiserVacancy .advertiser-vacancy-controls .btn {
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
}

#AdvertiserVacancy .stats-card {
  background-color: #DFE7F2;
  padding: 10px;
}

#AdvertiserVacancy .stats-card h4 {
  padding-bottom: 3px;
  border-bottom: 1px solid #b1b0ff;
  margin-bottom: 10px;
}

#AdvertiserVacancy .stats-card p {
  margin: 0 10px 5px 10px;
}

#AdvertiserVacancy .table.no-border td {
  border: none;
}

/* SchoolVacancyApplications (school view of applications for a vacancy): list.html */


/* SchoolVacancyApplication (school view of an application): view.html */
#SchoolVacancyApplication .fdb-block {
  /*background-image: url(images/froala/alt_wide_2.svg)*/
}

#SchoolVacancyApplication .job-application-section .row {
  margin-bottom: 20px;
}


/* AdminHome */
#AdminHome .fdb-block {
  /*background-image: url(images/froala/bg_3.svg);*/
  min-height: 70vh;
}

#AdminHome #admin-view-subscriptions-table {
  font-size: 12px;
}

#AdminHome #admin-view-feedjobs-table {
  font-size: 12px;
}

/* AdminAdvertisers */
#AdminAdvertisers .advertisers-table {
  margin-top: 60px;
  font-size: 12px;
}

/* AdminAdvertiser */
#AdminAdvertiser .table-striped {
  margin-top: 20px;
  font-size: 12px;
}


/* Footer */
#TonFooter {
  background: #057aff url("https://dach6jt19anvg.cloudfront.net/images/Ton_Web_Footer_Gradient.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 10px 10px;

  color: white;
  padding-top: 30px;
}

#TonFooter #footer-logo {
  width: 180px;
  height: auto;
}

/* Reduce logo size on mobile */
@media(max-width: 991px) {
  #TonFooter #footer-logo {
    width: 120px;
    height: auto;
  }
}

#TonFooter .footer-copyright {
  padding-top: 3px;
  padding-bottom: 3px;
  text-align: center;
}

#TonFooter .row {
  margin-bottom: 60px;
}

#TonFooter .navbar-brand {
  margin-top: 45px;
  height: 65px;
}

#TonFooter .footer-copyright p {
  margin: 10px;
}

#TonFooter ul {
  list-style-type: none;
  padding-left: 0;
  line-height: 1.7;
}

#TonFooter h5 {
  font-size: 16px;
  color: white;
  font-weight: 900;
  margin-top: 30px;
}

#TonFooter h2 a{
  font-size: 50px;
  text-align: center;
  color: #fff;
}

#TonFooter a {
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
}

#TonFooter a:hover,
#TonFooter a:focus {
  text-decoration: none;
  color: #eeeeee;
}

#TonFooter .social-networks {
  text-align: center;
  padding-top: 30px;
  padding-bottom: 16px;
}

#TonFooter .social-networks a {
  font-size: 32px;
  color: #f9f9f9;
  padding: 10px;
  transition: 0.2s;
}

#TonFooter .social-networks a:hover {
  text-decoration: none;
}

#TonFooter .facebook:hover {
  color: #0005e2;
}

#TonFooter .twitter:hover {
  color: #00c5ed;
}

@media screen and (max-width: 767px) {
  #TonFooter {
    text-align: center;
  }
}

/* Header and Footer buttons */
#TonFooter .btn {
  padding: 10px 30px;
}



/* Error Pages */
#TonErrorPage {
  margin-top: 50px;
  margin-bottom: 50px;
}

#email-bounce-warning-banner {
  border-radius: 0;
  margin-bottom: 10px;
}

/* Helper Classes */
#Ton .marginTop10{margin-top: 10px;}
#Ton .marginTop20{margin-top: 20px;}
#Ton .marginTop30{margin-top: 30px;}
#Ton .marginTop40{margin-top: 40px;}
#Ton .marginTop50{margin-top: 50px;}
#Ton .marginBottom10{margin-bottom: 10px;}
#Ton .marginBottom20{margin-bottom: 20px;}
#Ton .marginBottom30{margin-bottom: 30px;}
#Ton .marginBottom40{margin-bottom: 40px;}
#Ton .marginBottom50{margin-bottom: 50px;}
#Ton .bold{font-weight: 800;}
#Ton .green{color: green;}
#Ton .red{color:red;}
#Ton .white{color: white;}
#Ton .hidden{display: none !important;}
#Ton .max-width-600{max-width: 600px; margin: 0 auto;}
#Ton .block-center{display: block; margin-left: auto; margin-right: auto;}
#Ton .full-width{display: block; width: 100%;}
#Ton .padding10{padding: 10px;}
#Ton .pre-text{white-space: pre-line;}
#Ton .top-border{border-top: 1px solid #ccc}
#Ton .bottom-border{border-bottom: 1px solid #ccc}
#Ton .overflow-visible{overflow: visible}
#Ton .overflow-hidden{overflow: hidden}

#Ton .flexbox-center-aligner {display: flex; align-items: center;}

#Ton .smaller {
  font-size: 14px;
}

/* Brand colours */
#Ton .darkblue {
  color: #002970;
}

#Ton .turquoise {
  color: #20B0F1;
}

#Ton .aquamarine {
  color: #24C1C2;
}
#Ton .darkblue-back {
  background-color: #002970;
}

#Ton .turquoise-back {
  background-color: #20B0F1;
}

#Ton .aquamarine-back {
  background-color: #24C1C2;
}

/* Generate Password Warning */

#generate-password-note {
  margin-left: 15px;
  font-style: italic;
  padding-top: 15px;
  color: #868e96d4;
  font-size: 14px;
}

#advanced-search:target {
  animation: highlight 2s ease;
}

@keyframes highlight {
  0% { background-color: #20B0F1 }
  100% { background-color: white }
}

#Ton .alert-warning h3 {
  color: #856404;
}

#Ton .note-toolbar {
  background: #f7f7f7;
}

#Ton .note-btn.btn.btn-light {
  background: #e7e7e7;
}

#Ton .note-btn.btn.btn-light.active,
#Ton .note-btn.btn.btn-light:hover,
#Ton .note-btn.btn.btn-light:active
{
  background: #c0c0c0;
}


@media print {
  .fdb-block h2, .fdb-block .text-h2 {
    font-size: 1.2rem;
  }
  .fdb-block {
    font-size: 13px;
  }
  #ton-header, #TonFooter, .alert, .no-print, .btn  {
    display: none !important;
  }
  #Ton .school-logo {
    height: 70px !important;
  }
  .fdb-block img {
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
  }

  #Ton .marginTop30 {
    margin-top: 00px  !important;
  }
}

#Ton .fdb-premium {
  border: 2px solid #002970;
  border-top-width: 5px;
}

#Ton .fdb-generic {
  border-top-color: #56b0f1;
}


/* Test cache busting */