/*!

Theme Name: Elegant Simplicity
Theme URI: https://www.BrianCS.com
Author: Brian's Computer Services
Author URI: https://www.BrianCS.com
Description: A simple yet elegant WordPress theme.
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: <https://www.gnu.org/licenses/gpl-2.0.html>
Text Domain: elsim_
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready


This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.


Elegant Simplicity is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.



---------------------------------------------------------------------------------------------------
>>> TABLE OF CONTENTS:
---------------------------------------------------------------------------------------------------

I. Plugin Customizations
  1. WordPress
  2. lightSlider
  3. Bootstrap
  4. Contact Form 7
  5. Google reCAPTCHA
II. Base
III. Layout
IV. Modules
  1. Announcements
  2. Feature Cards
  3. Forms

Note: The plugin Tribe Events Calendar has customizations handled in a separate set of stylesheets
(in this theme's CSS directory).

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



/**************************************************************************************************
*                                                                                                 *
*                                   I. Plugins Customizations                                     *
*                                                                                                 *
***************************************************************************************************
*                                         1. WordPress                                            *
**************************************************************************************************/
/* Put the WP admin bar on the bottom of the page instead of the top so it doesn't block the header. */
@media (min-width: 601px)
  {
  div#wpadminbar
    {
    top: auto;
    bottom: 0;
    }
  }

/* */
.post-edit-link:hover
  {
  color: #43C6DB;
  }


/**************************************************************************************************
*                                        2. lightSlider                                           *
**************************************************************************************************/
/* Size all slider images correctly. */
.ls-img
  {
  max-height: 500px;
  }
.ls-text-overlay
  {
  position: absolute;
  text-shadow: 0 .05rem .1rem rgba(0, 0, 0, .75), .125rem .125rem .25rem rgba(0, 0, 0, .75);
  }
.ls-center
  {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  }
.ls-center-bottom
  {
  bottom: 1rem;
  left: 50%;
  transform: translate(-50%, 0%);
  }
.ls-center-top
  {
  top: 1rem;
  left: 50%;
  transform: translate(-50%, 0%);
  }

/* Override the active pager color to match theme's color scheme. */
.lSSlideOuter .lSPager.lSpg > li.active a,
.lSSlideOuter .lSPager.lSpg > li:hover a
  {
  background-color: #43C6DB !important;
  }

/* Override the inactive pager color to show up on a background with color #222. */
.lSSlideOuter .lSPager.lSpg > li a
  {
  background-color: #333 !important;
  }


/**************************************************************************************************
*                                         3. Bootstrap                                            *
**************************************************************************************************/
/* Nav menu and links: change link and burger button coloration, smooth out transitions. */
.navbar-collapse.collapsing
  {
  -webkit-transition: height 0.5s ease-in-out;
  -moz-transition: height 0.5s ease-in-out;
  -o-transition: height 0.5s ease-in-out;
  -ms-transition: height 0.5s ease-in-out;
  transition: height 0.5s ease-in-out;
  }
.navbar-toggler
  {
  color: #fff;
  -webkit-transition: color 0.5s ease-in-out;
  -moz-transition: color 0.5s ease-in-out;
  -o-transition: color 0.5s ease-in-out;
  -ms-transition: color 0.5s ease-in-out;
  transition: color 0.5s ease-in-out;
  }
.navbar-toggler:not(.collapsed)
  {
  color: #43C6DB;
  }
.nav-masthead .nav-link
  {
  padding: .25rem 0;
  font-weight: 400;
  color: rgba(255, 255, 255, .75);
  background-color: transparent;
  border-bottom: .25rem solid transparent;
  -webkit-transition: color 0.5s ease-in-out, border-bottom-color 0.5s ease-in-out;
  -moz-transition: color 0.5s ease-in-out, border-bottom-color 0.5s ease-in-out;
  -o-transition: color 0.5s ease-in-out, border-bottom-color 0.5s ease-in-out;
  -ms-transition: color 0.5s ease-in-out, border-bottom-color 0.5s ease-in-out;
  transition: color 0.5s ease-in-out, border-bottom-color 0.5s ease-in-out;
  }
.nav-masthead .nav-link:hover
  {
  color: #fff;
  border-bottom-color: #43C6DB;
  }
.nav-masthead .nav-link:focus
  {
  color: #43C6DB;
  border-bottom-color: #43C6DB;
  }
.navbar-nav .active .nav-link
  {
  color: #fff;
  border-bottom-color: #43C6DB;
  }

/* Center the nav items, adding a little left margin when not using the burger button on larger screens. */
.nav-item
  {
  margin-right: auto;
  }
.nav-item:first-child
  {
  margin-left: auto;
  }
.nav-item + .nav-item
  {
  margin-left: 1rem;
  }
@media (max-width: 767.98px)
  {
  .nav-item + .nav-item
    {
    margin-left: auto;
    }
  }

/* Make container width wider. */
@media (min-width: 1200px)
  {
  .container
    {
    max-width: 84rem !important;
    }
  }

/* Alter row margin. */
.row
  {
  margin-top: 3rem;
  }

/* Override some card styles. */
.card
  {
  background-color: inherit;
  border: 0;
  border-radius: 0 !important;
  }
.card .card-title,
.card .card-text
  {
  overflow: visible;
  }
@media (max-width: 1199.98px)
  {
  .card,
  .feature-card
    {
    max-width: 440px;
    margin-bottom: 5rem;
    }
  .row
    {
    justify-content: center;
    }
  }

/* For cards, on hover or focus, fadeout image and fadein text. */
.card-img,
.card-img-overlay
  {
  -webkit-transition: opacity 0.5s ease-in-out;
  -moz-transition: opacity 0.5s ease-in-out;
  -o-transition: opacity 0.5s ease-in-out;
  -ms-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
  }
.card:hover .card-img,
.card.hover .card-img,
.card:focus .card-img,
.card.focus .card-img
  {
  opacity: 0.5;
  }
.card-img-overlay
  {
  opacity: 0.0;
  }
.card:hover .card-img-overlay,
.card.hover .card-img-overlay,
.card:focus .card-img-overlay,
.card.focus .card-img-overlay
  {
  opacity: 1.0;
  }

/* Vertically center overlay text in cards. */
.card-img-overlay
  {
  display: flex;
  flex-direction: column;
  justify-content: center;
  }

/* Add smoother transitions and hover effects to forms. */
.form-control
  {
  border-radius: calc(.25rem - 1px);
  -webkit-transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
  -moz-transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
  -o-transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
  -ms-transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
  transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
  }
.form-control,
.form-control:focus
  {
  background-color: #000;
  border-color: #444;
  color: #eee !important;
  font-size: 1.5rem !important;
  }
.form-control:focus
  {
  border-color: #43C6DB;
  box-shadow: 0 0 0 .2rem #43C6DB;
  }

/* Common custom button customizations. */
.btn
  {
  border-radius: calc(.25rem - 1px);
  transition: color 0.5s ease-in-out, background-color 0.5s ease-in-out, border-color 0.5s ease-in-out, box-shadow 0.5s ease-in-out !important;
  }
.btn-outline-redorange,
.btn-outline-turquoise
  {
  color: #eee;
  text-shadow: none; /* Prevent inheritance from `body` */
  border: .05rem solid #eee;
  }
.btn-outline-redorange:hover,
.btn-outline-redorange:focus,
.btn-outline-turquoise:hover,
.btn-outline-turquoise:focus
  {
  color: #333;
  background-color: #eee;
  }

/* Custom button: red-orange outline. */
.btn-outline-redorange
  {
  color: #FF3525;
  border-color: #FF3525;
  }
.btn-outline-redorange:hover
  {
  color: #fff;
  background-color: #FF3525;
  border-color: #FF3525;
  }
.btn-outline-redorange:focus,
.btn-outline-redorange.focus
  {
  box-shadow: 0 0 0 0.2rem rgba(255, 53, 37, 0.5);
  }
.btn-outline-redorange.disabled,
.btn-outline-redorange:disabled
  {
  color: #FF3525;
  background-color: transparent;
  }
.btn-outline-redorange:not(:disabled):not(.disabled):active,
.btn-outline-redorange:not(:disabled):not(.disabled).active,
.show > .btn-outline-redorange.dropdown-toggle
  {
  color: #fff;
  background-color: #FF3525;
  border-color: #FF3525;
  }
.btn-outline-redorange:not(:disabled):not(.disabled):active:focus,
.btn-outline-redorange:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-redorange.dropdown-toggle:focus
  {
  box-shadow: 0 0 0 0.2rem rgba(255, 53, 37, 0.5);
  }

/* Custom button: turquoise outline. */
.btn-outline-turquoise
  {
  color: #43C6DB;
  border-color: #43C6DB;
  }
.btn-outline-turquoise:hover
  {
  color: #fff;
  background-color: #43C6DB;
  border-color: #43C6DB;
  }
.btn-outline-turquoise:focus,
.btn-outline-turquoise.focus
  {
  box-shadow: 0 0 0 0.2rem rgba(67, 200, 219, 0.5);
  }
.btn-outline-turquoise.disabled,
.btn-outline-turquoise:disabled
  {
  color: #43C6DB;
  background-color: transparent;
  }
.btn-outline-turquoise:not(:disabled):not(.disabled):active,
.btn-outline-turquoise:not(:disabled):not(.disabled).active,
.show > .btn-outline-turquoise.dropdown-toggle
  {
  color: #fff;
  background-color: #43C6DB;
  border-color: #43C6DB;
  }
.btn-outline-turquoise:not(:disabled):not(.disabled):active:focus,
.btn-outline-turquoise:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-turquoise.dropdown-toggle:focus
  {
  box-shadow: 0 0 0 0.2rem rgba(67, 200, 219, 0.5);
  }


/**************************************************************************************************
*                                      4. Contact Form 7                                          *
**************************************************************************************************/
/* Change the border color of validation errors to match the theme. */
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing
  {
  border: 2px solid #FF3525;
  }


/**************************************************************************************************
*                                     5. Google reCAPTCHA                                         *
**************************************************************************************************/
/* Hide the ugly Google reCAPTCHA badge. */
div .grecaptcha-badge
  {
  display: none !important;
  }




/**************************************************************************************************
*                                                                                                 *
*                                          II. Base                                               *
*                                                                                                 *
**************************************************************************************************/
html,
body
  {
  height: 100%;
  background-color: #000;
  }
body
  {
  font-family: 'Lato', 'Helvetica', sans-serif;
  font-size: 20px !important;
  font-weight: 300;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
  line-height: 1.5;
  margin: 0;
  text-shadow: 0 .05rem .1rem rgba(0, 0, 0, .75);
  }
h1, h2, h3, h4
  {
  font-family: 'Parisienne', cursive;
  }
h1
  {
  font-size: 4rem;
  }
h2
  {
  font-size: 3rem;
  }
h3
  {
  font-size: 2.5rem;
  }
h4
  {
  font-size: 2rem;
  }
h5
  {
  font-size: 1.5rem;
  }
h6
  {
  font-size: 1.25rem;
  }
@media (max-width: 575.98px)
  {
  h1
    {
    font-size: 3rem;
    }
  h2
    {
    font-size: 2.5rem;
    }
  h3
    {
    font-size: 2rem;
    }
  h4
    {
    font-size: 1.5rem;
    }
  h5
    {
    font-size: 1.25rem;
    }

  }

/* Links. */
a
  {
  -webkit-transition: color 0.5s ease-in-out;
  -moz-transition: color 0.5s ease-in-out;
  -o-transition: color 0.5s ease-in-out;
  -ms-transition: color 0.5s ease-in-out;
  transition: color 0.5s ease-in-out;
  }
a,
a:hover,
a:focus,
a:active
  {
  text-decoration: none;
  }
a,
a:hover
  {
  color: #fff;
  }
a:active,
a:focus
  {
  color: #43C6DB;
  }


/**************************************************************************************************
*                                                                                                 *
*                                         III. Layout                                             *
*                                                                                                 *
**************************************************************************************************/
/* While loading a page, hide all behind a blank page with a centered time icon, and disable all
   transitions until page is loaded, too. */
.preload *
	{
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-o-transition: none !important;
	-ms-transition: none !important;
	transition: none !important;
	}
#hide-on-page-load
	{
	align-items: center;
	display: flex;
	position: fixed;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	background-color: #000;
	z-index: 999; /* Higher than anything else in the document (except the header) */
  opacity: 1.0;
  -webkit-transition: opacity 0.5s ease-in-out;
  -moz-transition: opacity 0.5s ease-in-out;
  -o-transition: opacity 0.5s ease-in-out;
  -ms-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
	}

/* Margins for page sections. I use "sections" to define major page areas instead of "divs"; the
   .top-section class is reserved for the topmost section to avoid overlapping with the header.  */
#page
  {
  width: 100%;
  }
footer,
section
  {
  margin-bottom: 5rem;
  }
.top-section
  {
  margin-top: 12rem;
  }

/* Header. */
header#masthead
  {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1rem;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.85);
  }
#masthead .inner
  {
  flex-grow: 1;
  max-width: 84rem;
  }
.masthead-brand
  {
  margin-bottom: 0;
  }
/* Make the heading vertically shrink when screen height is small (i.e. phones held sideways). */
@media (max-height: 539.98px)
  {
  header#masthead
    {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    }
  .nav-masthead
    {
    flex-grow: 1;
    }
  }

/* Remove the ugly dotted border that appears when buttons are clicked (the burger button is instead colored turquoise
   when it has focus: see .navbar-toggler in Bootstrap section, above). */
:focus
  {
  outline: none !important;
  }
::-moz-focus-inner
  {
  border: 0;
  }


/*
 * Cover
 */
.cover .btn-lg {
  padding: .75rem 1.25rem;
  font-weight: 700;
}


/*
 * Footer
 */
.mastfoot
  {
  color: rgba(255, 255, 255, .5);
  }

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	float: left;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	left: 100%;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	float: left;
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
	/* Make sure select elements fit in widgets. */
}

.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.post {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}

/* Make text selection colors match our theme. */
::-moz-selection
  {
  color: white;
  background: #43C6DB;
  }

::selection
  {
  color: white;
  background: #43C6DB;
  }




/**************************************************************************************************
*                                                                                                 *
*                                          IV. Modules                                            *
*                                                                                                 *
***************************************************************************************************
*                                       1. Announcements                                          *
**************************************************************************************************/
.greeting-post p,
.featured-post p {
  text-align: left;
}
.greeting-post p.has-text-align-center,
.featured-post p.has-text-align-center {
  text-align: center;
}

.featured-post {
  margin-bottom: 5rem;
}

/* .announcement
  {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1rem auto;
  }
.announcement a
  {
  background-color: #111;
  border-radius: calc(.25rem - 1px);
  display: flex;
  justify-content: space-between;
  text-align: left;
  width: 768px;
  text-decoration: none;
  }
.announcement a h4
  {
  border-bottom: .25rem solid transparent;
  -webkit-transition: color 0.5s ease-in-out, border-bottom-color 0.5s ease-in-out;
  -moz-transition: color 0.5s ease-in-out, border-bottom-color 0.5s ease-in-out;
  -o-transition: color 0.5s ease-in-out, border-bottom-color 0.5s ease-in-out;
  -ms-transition: color 0.5s ease-in-out, border-bottom-color 0.5s ease-in-out;
  transition: color 0.5s ease-in-out, border-bottom-color 0.5s ease-in-out;
  }
.announcement a:hover h4
  {
  border-bottom-color: #43C6DB;
  }
@media (max-width: 767.98px)
  {
  .announcement a
    {
    width: 100%;
    }
  }
.announcement img
  {
  border-top-left-radius: calc(.25rem - 1px);
  border-bottom-left-radius: calc(.25rem - 1px);
  }
@media (max-width: 767.98px)
  {
  .announcement img
    {
    display: none;
    }
  }
.announcement .announcement-text
  {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: center;
  flex-grow: 1;
  padding: 1rem 1rem 1rem 2rem;
  }
@media (max-width: 767.98px)
  {
  .announcement .text-muted
    {
    display: none;
    }
  }
.announcement .announcement-title
  {
  display: flex;
  justify-content: space-between;
  }
.announcement .announcement-excerpt
  {
  text-align: left;
  line-height: 1.0;
  margin: 0;
  }
.announcement .announcement-readmore
  {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.75);
  -webkit-transition: color 0.5s ease-in-out;
  -moz-transition: color 0.5s ease-in-out;
  -o-transition: color 0.5s ease-in-out;
  -ms-transition: color 0.5s ease-in-out;
  transition: color 0.5s ease-in-out;
  }
.announcement a:hover .announcement-readmore
  {
  color: #43C6DB;
  }
.announcements-more a
  {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  -webkit-transition: color 0.5s ease-in-out;
  -moz-transition: color 0.5s ease-in-out;
  -o-transition: color 0.5s ease-in-out;
  -ms-transition: color 0.5s ease-in-out;
  transition: color 0.5s ease-in-out;
  }
.announcements-more a:hover,
.announcements-more a:focus
  {
  color: #43C6DB;
  } */
.post-meta
  {
  color: rgba(255, 255, 255, .85);
  margin-bottom: 2rem;
  }
.post-meta i.far,
.post-meta svg.svg-inline--fa
  {
  margin-right: 0.75em;
  }
.post-meta .divider
  {
  margin: 0 1.25em;
  }
.img-featured
  {
  width: 100%;
  }


/**************************************************************************************************
*                                       2. Feature Cards                                          *
**************************************************************************************************/
.feature-card
  {
  border-radius: calc(.25rem - 1px);
  display: flex;
  flex-direction: column;
  }
.feature-card img
  {
  border-radius: calc(.25rem - 1px);
  width: 100%;
  }
.feature-card .feature-card-title,
.feature-card .feature-card-text
  {
  overflow: visible;
  }
.feature-card-title,
.feature-card-text,
.feature-card img
  {
  -webkit-transition: color 0.5s ease-in-out, opacity 0.5s ease-in-out;
  -moz-transition: color 0.5s ease-in-out, opacity 0.5s ease-in-out;
  -o-transition: color 0.5s ease-in-out, opacity 0.5s ease-in-out;
  -ms-transition: color 0.5s ease-in-out, opacity 0.5s ease-in-out;
  transition: color 0.5s ease-in-out, opacity 0.5s ease-in-out;
  }
.feature-card:hover img,
.feature-card.hover img,
.feature-card:focus img,
.feature-card.focus img
  {
  opacity: 0.5;
  }
.feature-card-title,
.feature-card-text
  {
  opacity: 0.0;
  }
.feature-card:hover .feature-card-title,
.feature-card.hover .feature-card-title,
.feature-card:hover .feature-card-text,
.feature-card.hover .feature-card-text,
.feature-card:focus .feature-card-title,
.feature-card.focus .feature-card-title,
.feature-card:focus .feature-card-text,
.feature-card.focus .feature-card-text
  {
  opacity: 1.0;
  }
.feature-card-inner
  {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1rem;
  }
.feature-card-text
  {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
  height: 100%;
  }
.feature-card hr
  {
  border-top: 1px solid rgba(255,255,255,.1);
  }
.feature-card-overlay
  {
  padding: 1.5rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  }


/**************************************************************************************************
*                                           3. Forms                                              *
**************************************************************************************************/
/* Add proper margins to forms and form submit buttons. */
form
  {
  margin-top: 5rem;
  }
form label
  {
  margin-bottom: 1rem;
  }
.form-btn
  {
  margin: 5rem 0;
  }

/* Help align forms in rows of two (see also Bootstrap CSS above + markup in Contact Forms 7 in WP
   admin). */
form .form-col
  {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  }

/* Format phone numbers as three separate inputs. */
.row-phone
  {
  display: flex;
  justify-content: space-between;
  }
.col-phone
  {
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 400;
  max-height: 50px;
  }
.col-phone.areacode-before
  {
  justify-content: flex-end;
  min-width: 2em;
  margin-left: 0;
  }
.col-phone-input.last
  {
  margin-right: 0;
  }
.col-phone-input input
  {
  text-align: center;
  }
.col-phone,
.col-phone-input
  {
  margin: 0 0.25rem;
  }


.bullet-list
{
  margin: auto;
  max-width: fit-content;
  text-align: left;
}