/*
Theme Name: the7dtchild
Author: Dream-Theme
Author URI: http://dream-theme.com/
Description: The7 is perfectly scalable, performance and SEO optimized, responsive, retina ready multipurpose WordPress theme. It will fit every site – big or small. From huge corporate portals to studio or personal sites – The7 will become a great foundation for your next project!
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/

/* Global */
@import url('https://fonts.googleapis.com/css2?family=Birthstone+Bounce:wght@400;500&display=swap');
body {
  overflow-wrap: anywhere;
}
h1, h2, h3, h4, h5, h6 {
  line-height: 1.1;
}
.uvc-type-wrap .typed-cursor {
  display: none;
}
.tow-divider {
  line-height: 0;
  margin-bottom: 10px;
}
a.dt-btn {
  margin-bottom: 25px;
}
a.dt-btn:hover {
  opacity: .7;
}
.lower-margin-bottom-buttons a.dt-btn {
  margin-bottom: 15px;
}
.tow-divider::before,
.tow-divider::after {
  content: '';
  display: inline-block;
  height: 6px;
  border-radius: 6px;
}
.tow-divider::before {
  width: 180px;
  max-width: 60%;
  background: #057837;
}
.tow-divider::after {
  width: 60px;
  max-width: 20%;
  background: #11295c;
  margin-left: 15px;
}
#main ul,
#main ol {
  line-height: 1.2;
}
#main ul li,
#main ol li {
  margin-bottom: 10px;
}
#main ul li ul,
#main ol li ol,
#main ul li ol,
#main ol li ul {
  margin-top: 10px;
}
.vc_tta-color-white.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title > a {
  color: #333 !important;
}
.vc_tta-color-white.vc_tta-style-classic .vc_tta-controls-icon::before {
  border-color: #333 !important;
}
.vc_tta.vc_general .vc_tta-panel-title {
  font-family: "DM Sans", Helvetica, Arial;
  font-size: 22px;
}
.vc_tta-color-white.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-heading,
.vc_tta-color-white.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-body {
  border-color: #999 !important;
}
.tow-member-text {
  font-size: 18px;
}
.tow-member-text h4 {
  margin-bottom: 0;
}
.icon-with-text-shortcode .dt-text-desc,
.tow-member-text {
  line-height: 1.1;
}
.icon-with-text-shortcode .dt-text-desc strong,
.tow-member-text strong {
  display: inline-block;
  line-height: 1.1;
  margin-top: 5px;
}
.icon-with-text-shortcode .text-icon {
  margin-bottom: 5px !important;
}
.tow-large-header {
  font-size: 40px;
}
.tow-image-style .vc_single_image-wrapper {
  padding: 5px;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 0 8px rgba(0,0,0,.25);
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
*:focus-visible {
  border: 1px solid black !important;
  outline: 1px solid white !important;
}
.skip-link.screen-reader-text {
  z-index: 999 !important;
}
@media (max-width: 767px) {
  .tow-map-row .wpb_gmaps_widget {
    margin-bottom: 10px;
  }
}

/* Header */
.masthead {
  background: rgba(255,255,255,.75) !important;
}
.masthead:not(.side-header):not(.mixed-header) .header-bar,
.masthead:not(.side-header):not(.mixed-header) .mobile-header-bar {
  height: 100px;
}
.masthead .mini-widgets > *, 
.masthead .mobile-mini-widgets > * {
  margin-left: 5px;
  margin-right: 5px;
}
.masthead .top-bar-bg {
  padding: 0 3000px;
  margin-left: -3000px;
}
.masthead .top-bar .soc-ico {
  line-height: 1 !important;
}
.masthead .mini-search {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  background: #fff;
  border-radius: 100%;
}
.masthead .mini-search a.submit i {
  color: #057837 !important;
  font-size: 12px !important;
}
.top-header .main-nav.level-arrows-on > li.has-children > a .menu-text {
  padding-right: 16px;
}
.top-header .main-nav.level-arrows-on > li.has-children > a .menu-text:after {
  background: #057837;
}
.top-header .level-arrows-on .menu-text:after {
  width: 10px;
  height: 10px;
  -webkit-mask: url(./images/down-arrow.svg);
  mask-image: url(./images/down-arrow.svg);
}
.header-bar .branding > a,
.mobile-header-bar .mobile-branding > a {
  position: relative !important;
  top: 30px !important;
  left: 0 !important;
}
.header-bar .branding > a:hover,
.mobile-header-bar .mobile-branding > a:hover {
  opacity: .95;
}
.mobile-menu-show-divider .mobile-main-nav > li > a {
  padding: 20px 25px 20px 0;
}
.mobile-main-nav .next-level-button svg {
  width: 20px;
  color: #11295c;
  fill: #11295c;
}
.mobile-mini-widgets-in-menu {
  padding: 10px 0;
}
.mobile-mini-widgets-in-menu > * {
  margin: 0 !important;
}
.mobile-mini-widgets-in-menu .text-area {
  display: flex;
  flex-direction: column;
  width: 100%;
  font-weight: bold;
}
.popup-search-wrap {
  width: initial !important;
  right: -19px;
}
#primary-menu .sub-nav {
  box-shadow: 0 0 8px rgba(0,0,0,.5);
}
@media (min-width: 1300px) {
  .main-nav > li > a .menu-text {
    font-size: 24px;
    line-height: 28px;
  }
}
@media (min-width: 993px) and (max-width: 1199px) {
  .main-nav > li > a {
    margin: 18px 8px;
  }
  .main-nav > li > a .menu-text {
    font-size: 18px;
  }
}
@media (max-width: 992px) {
  .mobile-header-bar .mobile-branding > a {
    width: 125px;
    height: auto;
    top: 15px !important;
  }
}
@media (max-width: 767px) {
  .masthead .top-bar .mini-search {
    margin-left: 0 !important;
  }
}

/* Homepage */
body.home #main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.home h2 {
  font-family: 'Rochester', Helvetica, Arial;
  font-size: 50px;
}
body.home .uvc-type-wrap .ultimate-typed-main {
  font-style: italic;
}
#home-header-row {
  padding-top: 135px;
}
#westmo-welcomes-you {
  max-width: 500px;
  padding: 200px 0;
}
#westmo-welcomes-you div.tow-alt-font,
#westmo-welcomes-you p {
  color: #fff;
  line-height: 1;
  margin-bottom: 0;
  text-shadow: 2px 2px 2px #000;
}
#westmo-welcomes-you div.tow-alt-font {
  font-weight: 700;
}
#westmo-welcomes-you p {
  padding-left: 20%;
  font-size: 50px;
  font-weight: 600;
}
#westmo-welcomes-you div.tow-alt-font {
  font-family: "Birthstone Bounce", Helvetica, Arial;
  font-size: 100px;
}
#westmo-welcomes-you div.tow-alt-font:last-child {
  padding-left: 62%;
  line-height: .5;
}
#westmo-welcomes-you .tow-round-underline {
  display: inline-block;
}
#westmo-welcomes-you .tow-round-underline::after {
  content: '';
  height: 6px;
  background: #fff;
  border-radius: 5px;
  display: block;
  box-shadow: 2px 2px 2px #000;
  margin-top: 10px;
}
#westmo-weather {
  display: flex;
  justify-content: flex-end;
}
#westmo-weather > div {
  width: 100%;
  max-width: 225px;
  margin-right: -15px;
}
#home-intro-row {
  display: flex;
}
#home-intro-row h1 {
  font-family: "DM Sans", Helvetica, Aria;
  font-size: 46px;
}
#home-intro-row .wpb_column:first-child .wpb_text_column {
  border: 2px solid #B9B9B9;
  padding: 15px 20px;
}
#home-main-links {
  overflow: visible;
}
#home-main-links .tow-home-main-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
  background: linear-gradient(#fffeff, #d7fffe);
  box-shadow: 0 0 8px rgba(0,0,0,.5);
  height: 0;
  padding: 50% 30px;
  margin: -50px 0;
}
#home-main-links .tow-home-main-link h2 {
  font-family: "DM Sans", Helvetica, Arial;
  font-size: 40px;
  line-height: 1;
  font-weight: 400;
}
#home-main-links .tow-svg {
  padding: 60px 0;
  margin-bottom: 8px;
}
#home-main-links .tow-apartments-svg {
  background: url(./images/apartments-blue.svg) no-repeat;
}
#home-main-links .tow-trees-svg {
  background: url(./images/trees-blue.svg) no-repeat;
}
#home-main-links .tow-uni-svg {
  background: url(./images/uni-blue.svg) no-repeat;
}
#home-main-links .tow-home-main-link .tow-divider::before {
  width: 60%;
}
#home-main-links .tow-home-main-link .tow-divider::after {
  width: 20%;
}
#home-main-links .tow-home-main-link:hover {
  background: #057837;
}
#home-main-links .tow-home-main-link:hover h2 {
  color: #fff;
}
#home-main-links .tow-home-main-link:hover .tow-divider::before,
#home-main-links .tow-home-main-link:hover .tow-divider::after {
  background: #fff;
}
#home-main-links .tow-home-main-link:hover .tow-apartments-svg {
  background: url(./images/apartments-white.svg) no-repeat;
}
#home-main-links .tow-home-main-link:hover .tow-trees-svg {
  background: url(./images/trees-white.svg) no-repeat;
}
#home-main-links .tow-home-main-link:hover .tow-uni-svg {
  background: url(./images/uni-white.svg) no-repeat;
}
#home-meetings-events-row *,
#home-meetings-events-row #wp-calendar th, 
#home-meetings-events-row #wp-calendar caption {
  color: #fff;
}
#home-meetings-events-row a.dt-btn,
#home-meetings-events-row a.dt-btn:hover {
  border: 2px solid #fff !important;
}
#home-meetings-events-row #wp-calendar caption {
  font-weight: bold;
}
#home-meetings-events-row #wp-calendar th {
  text-align: center;
}
#home-meetings-events-row .eo-widget-cal-wrap {
  border: 2px solid #fff;
}
#home-meetings-events-row #wp-calendar {
  margin-top: 0 !important;
}
#home-meetings-events-row #wp-calendar,
#home-meetings-events-row #wp-calendar td,
#home-meetings-events-row #wp-calendar caption {
  background: #11295c;
  border: none;
}
#home-meetings-events-row #wp-calendar tfoot {
  display: none;
}
#home-meetings-events-row .eo-calendar .event a {
  color: #0AD461;
}
@media (min-width: 1024px) and (max-width: 1600px) {
  #home-intro-row .wpb_column:last-child > div {
    width: 50vw;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  #home-main-links .tow-home-main-link h2 {
    font-size: 36px;
  }
  #home-main-links .tow-svg {
    padding: 50px 0;
  }
}
@media (min-width: 1024px) {
  #home-intro-row .wpb_column:first-child .wpb_text_column {
    margin-right: 20px;
    margin-bottom: 50px;
  }
  #home-intro-row .wpb_column:last-child > div {
    height: 100%;
  }
  #home-meetings-events-row .vc_col-sm-4:nth-child(2) {
    padding-left: 2vw;
  }
  #home-meetings-events-row .vc_col-sm-4:last-child {
    margin-top: -45px;
  }
}
@media (max-width: 1023px) {
  #home-intro-row {
    flex-direction: column;
  }
  #home-intro-row .wpb_column {
    width: 100%;
  }
  #home-intro-row .wpb_column:last-child {
    margin: 0 15px 35px;
    width: calc(100% - 30px);
  }
  #home-intro-row .wpb_column:last-child > div {
    padding: 250px 0;
    margin-bottom: 15px;
  }
  #home-meetings-events-row .vc_col-sm-4 {
    width: 100%;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  #home-main-links .tow-home-main-link h2 {
    font-size: 24px;
  }
  #home-main-links .tow-svg {
    padding: 40px 0;
  }
}
@media (max-width: 767px) {
  #westmo-welcomes-you {
    padding: 30px 0 10px;
    margin: 0 auto;
  }
  #westmo-welcomes-you div.tow-alt-font,
  #westmo-welcomes-you p {
    text-align: center;
    padding: 0;
  }
  #westmo-welcomes-you p {
    font-size: 40px;
  }
  #westmo-welcomes-you div.tow-alt-font {
    font-size: 80px;
  }
  #westmo-welcomes-you div.tow-alt-font:last-child {
    padding: 0;
    line-height: 1;
  }
  #westmo-welcomes-you .tow-round-underline::after {
    margin-top: -10px;
  }
  #westmo-weather {
    justify-content: center;
  }
  #westmo-weather > div {
    margin-right: 0;
  }
  #home-main-links > .wpb_column {
    width: 100%;
  }
  #home-main-links .tow-home-main-link {
    width: 65vw;
    height: 65vw;
    padding: 30px;
    margin-left: auto;
    margin-right: auto;
  }
  #home-main-links > .wpb_column:not(:last-child) .tow-home-main-link {
    margin-bottom: 35px;
  }
}
@media (max-width: 450px) {
  #home-intro-row h1 {
    font-size: 9vw;
  }
}
@media (max-width: 375px) {
  #home-main-links .tow-home-main-link h2 {
    font-size: 30px;
  }
}

/* Post carousels and grids */
.blog-shortcode {
  margin-bottom: 25px;
}
.tow-posts-carousel h3,
.blog-shortcode h3 {
  font-family: "DM Sans", Helvetica, Arial !important;
  font-size: 26px !important;
  line-height: 1 !important;
}
.tow-posts-carousel {
  padding: 0 50px;
}
.tow-posts-carousel .owl-nav div.owl-prev {
  left: 0 !important;
}
.tow-posts-carousel .owl-nav div.owl-next {
  right: 0 !important;
}
.tow-posts-carousel .dt-owl-item > article,
.blog-shortcode .wf-cell > article {
  background: #fff;
}
.tow-posts-carousel .owl-stage {
  margin: 20px 0;
}
.tow-posts-carousel .dt-owl-item,
.blog-shortcode .wf-cell {
  box-shadow: 0 0 16px rgba(0,0,0,.75);
}
.tow-posts-carousel .entry-meta,
.blog-shortcode .entry-meta {
  background: #057837;
  color: #fff;
  display: inline;
  padding: 4px 8px;
  position: absolute;
  top: -20px;
  left: 10px;
}
.blog-shortcode .details-type-link {
  font-size: 16px;
}
.tow-posts-carousel .details-type-link,
.tow-posts-carousel .details-type-link i::before,
.blog-shortcode .details-type-link,
.blog-shortcode .details-type-link i::before {
  color: #057837;
}
.tow-posts-carousel .details-type-link i::before {
  position: relative;
  top: -1px;
}
.tow-posts-carousel .details-type-link {
  font-size: 16px;
}
@media (min-width: 992px) {
  .blog-shortcode .dt-css-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .blog-shortcode .dt-css-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 1365px) {
  .tow-posts-carousel h3,
  .blog-shortcode h3 {
    font-size: 20px !important;
  }
  .tow-posts-carousel .entry-excerpt,
  .blog-shortcode .entry-excerpt {
    font-size: 16px !important;
  }
}
@media (max-width: 375px) {
  .tow-posts-carousel {
    padding: 0 30px;
  }
}

/* Posts */
@media (max-width: 500px) {
  body.single-post .navigation.post-navigation .post-title {
    padding: 0 30px;
  }
}

/* Page titles */
#page .page-title {
  margin-top: -100px;
  padding-top: 100px;
}
#page .page-title .page-title-head {
  padding: 0 2px 8px 7px;
}
#page .page-title .page-title-head h1 {
  text-shadow: 2px 2px 2px #111;
}

/* Events */
body.archive .eo-event-title a {
  color: #057837;
}
body.archive .eo-event-title a:hover {
  opacity: .7;
}
ul.eo-events {
  list-style: none;
  margin: 0;
  line-height: 1.3;
}
ul.eo-events a {
  text-decoration: none;
  font-weight: bold;
}
ul.eo-events a:hover {
  opacity: .7;
}
ul.eo-events li {
  min-height: 68px;
  margin-bottom: 15px;
}
ul.eo-events .eo-date-container {
  background: #057837;
  color: #fff;
  width: 54px;
  float: left;
  text-align: center;
  margin: 0 10px 0 0;
}
ul.eo-events .eo-date-month,
ul.eo-events .eo-date-day {
  display: block;
  padding: 6px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
}
ul.eo-events .eo-date-day {
  color: #222 !important;
}
ul.eo-events .eo-date-month {
  font-size: 18px;
  line-height: 1;
}
ul.eo-events .eo-date-day {
  background: #0AD461;
}
body.single-event .eventorganiser-event-meta > h4 {
  margin-top: 10px;
}
body.single-event .eo-event-venue-map {
  position: relative;
  z-index: 1;
}
body.single-event .eventorganiser-event-meta {
  margin-bottom: 10px;
}
body.single-event .eventorganiser-event-meta > p {
  display: none;
}
.eo-events-nav .nav-previous {
  padding-left: 0;
}
#eo_fullcalendar_1_loading {
  display: none !important;
}
.eo-fullcalendar h2 {
  font-size: 36px !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
}
.eo-fullcalendar .fc-event {
  background-color: #057837 !important;
  border-color: #057837 !important;
}
.eo-fullcalendar .fc-right .fc-button-group:last-child {
  margin-right: 0;
}
@media (min-width: 600px) {
  body.single-event .eo-event-venue-map {
    bottom: 24px;
  }
}
@media (max-width: 599px) {
  body.single-event .eo-event-venue-map {
    margin-bottom: 15px;
  }
}

/* Departments */
.tow-department-image-title {
  line-height: 1.2;
  margin-bottom: 20px;
}
.tow-department-contact,
.tow-related-pages {
  font-size: 18px;
  line-height: 1.5;
  padding: 30px;
  box-shadow: 0 0 8px rgba(0,0,0,.5);
}
.tow-department-contact h2,
.tow-related-pages h2,
.tow-department-contact h3,
.tow-related-pages h3 {
  font-family: "DM Sans", Helvetica, Arial;
  font-size: 34px;
}
.tow-department-contact strong {
  display: inline-block;
  line-height: 1.3;
}
.tow-department-contact {
  background: linear-gradient(#fffeff, #d7fffe);
}
.tow-department-contact .tow-divider,
.tow-related-pages .tow-divider {
  margin-bottom: 16px;
}
.tow-related-pages {
  background: #11295c;
}
.tow-related-pages .tow-divider::after {
  background: #fff;
}
.tow-related-pages h2,
.tow-related-pages h3,
.tow-related-pages a {
  color: #fff;
}
.tow-related-pages a {
  display: inline-block;
  width: 100%;
  padding: 15px 0;
  border-bottom: 1px solid #999;
  text-decoration: none;
  font-weight: bold;
}
.tow-related-pages a:hover {
  opacity: .7;
}
.tow-related-pages p {
  margin: 0;
}
.tow-related-pages p:first-of-type a {
  padding-top: 0;
}
.tow-related-pages p:last-child a {
  padding-bottom: 0;
  border: none;
}

/* Contact Forms */
.grecaptcha-badge {
  visibility: hidden;
}
.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea,
.recaptcha-privacy-terms {
  margin-bottom: 15px !important;
}
.wpcf7 label {
  display: inline-block;
  font-size: 24px;
  line-height: 1.1;
  margin-bottom: 5px;
}
.wpcf7 label.tow-address-label {
  font-size: 18px;
}
.wpcf7 .required {
  color: red;
}
input.wpcf7-submit {
  font-size: 18px !important;
  line-height: 1 !important;
  padding: 14px 22px !important;
}
input.wpcf7-submit:hover {
  opacity: .7 !important;
}
.wpcf7-select {
  min-width: initial !important;
}

/* Privacy Policy */
body.privacy-policy h3 {
  font-size: 36px;
}

/* Search */
body.search-results article.post,
body.search-results article.page {
  box-shadow: 0 0 8px rgba(0, 0, 0, .5);
}
body.search-results .entry-meta {
  display: none;
}
body.search-results .blog-content p {
  padding-top: 0 !important;
}
body.search-results .entry-title {
  padding: 10px 0 !important;
}
body.search-results .entry-title a {
  color: #057837;
  text-decoration: underline;
}
body.search-results .entry-title a:hover {
  text-decoration: none;
}

/* Force aspect ratio to fix pagespeed issue */
.tow-one-to-one-aspect-ratio img {
  aspect-ratio: 1 / 1;
}

/* Footer */
#footer .widget-title {
  font-family: 'Rochester', Helvetica, Arial;
  font-size: 36px;
  line-height: 1;
  font-weight: bold;
  text-align: center;
}
#footer ul.menu {
  font-size: 17px;
  margin-left: 20px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 30px;
}
#footer ul.menu li {
  border: none;
  display: list-item;
  list-style: disc;
  margin: 0;
  padding: 0 0 18px !important
}
#footer ul.menu li > a {
  vertical-align: top;
}
#footer ul.menu li a:hover,
#footer .menu .current-menu-item > a {
  color: #fff;
  text-decoration: none;
}
#footer ul.menu li a:hover,
#footer .soc-font-icon:hover {
  opacity: .7;
}
#footer .soc-font-icon::before {
  background: #fff;
  color: green;
  border-radius: 100%;
  display: inline-block;
  width: 26px;
  height: 26px;
  font-size: 26px;
  margin-bottom: 10px;
}
#bottom-bar {
  background: #222;
  line-height: 1.1;
}
#web-design-credit {
  font-size: 12px;
}
@media (min-width: 993px) {
  #footer .weatherwidget-io {
    margin: 0 25px;
  }
}
@media (max-width: 992px) {
  #footer .widget_nav_menu .menu-footer-menu-container {
    max-width: 420px;
    margin: 0 auto;
  }
}
@media (max-width: 420px) {
  #bottom-bar .tow-pp-divider {
    display: block;
    height: 0;
    opacity: 0;
  }
}