/**************************************************************************
Name:         main.css
Description:  Main site styling.  Includes boilerplate styles from
              h5bp.com and initializr.com.
Date Created: 09/27/2012 by Kyle Brickman
Modified:
**************************************************************************/

/**************************************************************************
Boilerplate Styles
**************************************************************************/
html,
body
{
	height: 100%;
}

html,
button,
input,
select,
textarea
{
	color: #222;
}

::-moz-selection
{
	background:  #329cc9;
	text-shadow: none;
}

::selection
{
	background:  #329cc9;
	text-shadow: none;
}

hr
{
	display:    block;
	height:     1px;
	border:     0;
	border-top: 1px solid #ccc;
	margin:     16px 0;
	margin:     2rem 0;
	padding:    0;
}

img
{
	max-width: 100%;
	vertical-align: middle;
}

textarea
{
	resize: vertical;
}

.btn-container
{
	display: inline-block;
	background-color: #000;
	border-radius: 7px;
	border-radius: .4375rem;
}

.btn-container--login
{
	background-color: #999;
}

/*.btn-container .btn
{
	opacity: .6;
}*/

.btn-container .btn:hover
{
	opacity: 1;
}

.btn
{
	display: inline-block;
	padding: 10px;
	padding: 0.625rem;
	border-radius: 5px;
	border-radius: 0.3125rem;
	background-color: #999; /* Like the galaxy train */
	box-sizing: border-box;
}

/*.btn:before
{
	content: attr(title);
	padding: 10px;
	padding: 0.625rem;
	display: block;
	border-radius: 5px;
	border-radius: 0.3125rem;
}*/

.btn--green
{
	background-color: #23a7a3;
	color: #fff;
}

.btn--blue,
.btn--blue-secondary
{
	/*background-color: #1D5978;*/
	background-color: #174d69;
	color: #fff;
}

/*.btn--blue-secondary:hover
{
	background-image: -webkit-linear-gradient(165deg, rgba(65,65,80,.6) 30%, #414150 50%, rgba(65,65,80,.6) 70%);
}*/

.btn--red
{
	background-color: #fd353a;
	color: #fff;
}

.btn:hover
{
	background-image: -webkit-linear-gradient(326deg, transparent 30%, rgba(255,255,255,0.5) 50%, transparent 70%);
	background-image: linear-gradient(124deg, transparent 30%, rgba(255,255,255,0.5) 50%, transparent 70%);
	background-size: 600% 100%;
	-webkit-animation: shine 2.5s infinite;
	        animation: shine 2.5s infinite;
}

@-webkit-keyframes shine
{
	0% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

@keyframes shine
{
	0% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

.chromeframe
{
	background: #ccc;
	color:      #000;
	display:    none;
	font-size:  12px;
	font-size:  0.75rem;
	margin:     3px;
	margin:     0.1875rem;
	padding:    3px;
	padding:    0.1875rem;
}

.clear
{
	clear: both;
}

.responsiveEmbed
{
	position: relative;
	width: 100%;
	max-width: 100%;
	padding-top: 56.25%;
	height: 0;
}

.responsiveEmbed iframe,
.responsiveEmbed embed,
.responsiveEmbed object
{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.clFix:after
{
	content: "";
	display: table;
	clear: both;
}

.fuseboxdebug
{
	display: none;
}

.u-hide
{
	display: none !important;
}

/**************************************************************************
Base font styles
**************************************************************************/
html
{
	/*
	 * Base font size should be specified in px or %. Common values are 16px, 100%, and 62.5%.
	 * 100% is equal to the default font size of a browser, which is almost always 16px, but is user configurable.
	 */
	font-size:   100%;
	font-family: 'Open Sans', sans-serif;
	/*line-height: 1.875;*/
}

/*
 * Element font sizes.
 * Change here to alter the font sizes of elements proportional to the base size above.
 * For any styles that inherit these styles, beware the cascading effects of em units, and
 * consider using px as a fallback instead.
 */

h1
{
	font-family: 'Droid Serif', serif;
	font-size: 32px;
	font-size: 2rem;
	/*margin: 0 0 20px 0;
	margin: 0 0 1.25rem 0;*/
	color: #0e817e;
	font-weight: 700;
	font-style: italic;
}

h2
{
	font-family: 'Droid Serif', serif;
	font-size: 40px;
	font-size: 2.5rem;
	color: #1d5978;
	font-weight: 700;
	font-style: italic;
	margin: 16px 0;
	margin: 1rem 0;
}

h3
{
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 600;
	margin: 19px 0;
	margin: 1.188rem 0;
	color: #1d5978;
}

h4
{
	font-size: 20px;
	font-size: 1.25rem;
	margin: 20px 0;
	margin: 1.25rem 0;
}

h5
{
	font-size: 13px;
	font-size: 0.8125rem;
	margin: 22px 0;
	margin: 1.375rem 0;
}

h6
{
	font-size: 11px;
	font-size: 0.6875rem;
	margin: 25px 0;
	margin: 1.563rem 0;
}

p
{
	font-size: 16px;
	font-size: 1rem;
	margin: 16px 0;
	margin: 1rem 0;
	line-height: 1.875;
}

span.pHeader
{
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1rem;
}

code,
kbd,
pre,
samp
{
	font-size: 16px;
	font-size: 1rem;
	margin: 16px 0;
	margin: 1rem 0;
}

button,
input,
select,
textarea
{
	font-size: 16px;
	font-size: 1rem;
}

a
{
	color: #23a7a3;
	font-weight: 700;
	text-decoration: none;
	position: relative;
	cursor: pointer;
}

a:after {
	content: '';
	position: absolute;
	left: 0; bottom: -3px;
	height: 3px;
	background-color: #23a7a3;
	width: 0;
	-webkit-transition: width 0.1s;
	-o-transition: width 0.1s;
	transition: width 0.1s;
}

a:hover:after,
a:focus:after,
a:active:after
{
	width: 100%;
}

a.no-underline:after
{
	display: none;
}

a.image:after {
	background-color: transparent;
}

/**************************************************************************
Header
**************************************************************************/
header
{
	background-color: #333343;
	color:            #fff;
	padding:  10px 0 0;
	padding:  0.625rem 0 0;
}

.header--secondary
{
	padding:  10px 0;
	padding:  0.625rem 0;

	background-color: #23a7a3;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center;
	background-size: cover;
}

.header--secondary[data-bg="1"] { background-image: url(/Images/rcms/bg1.jpg); }
.header--secondary[data-bg="2"] { background-image: url(/Images/rcms/bg2.jpg); }
.header--secondary[data-bg="3"] { background-image: url(/Images/rcms/bg3.jpg); }
.header--secondary[data-bg="4"] { background-image: url(/Images/rcms/bg4.jpg); }
.header--secondary[data-bg="5"] { background-image: url(/Images/rcms/bg5.jpg); }
.header--secondary[data-bg="6"] { background-image: url(/Images/rcms/bg6.jpg); }

.flexbox .header--secondary > .grid
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

header a
{
	text-decoration: none;
}

.flexbox .logo-container
{
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	align-self: center;
}

header a.logo
{
	margin: 20px 0 15px 0;
	margin: 1.25rem 0 .9375rem 0;
	display: block;
}

header h1
{
	font-family: 'Open Sans', sans-serif;
	color: #fff;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 400;
	/*text-align: center;*/
	font-style: normal;

	margin: 15px 0;
	margin: .9375rem 0;

	padding: 0 0 0 14%;
}

header h4
{
	color: #333343;
	font-weight: 400;
	line-height: 1.5;

	margin: 15px 0;
	margin: .9375rem 0;
}

.btn-container--login
{
	float: right;
	margin-bottom: 20px;
	margin-bottom: 1.25rem;
}

.btn--login
{
	background-color: #414150;
	padding: 10px 20px;
	padding: 0.625rem 1.25rem;
}

.flexbox .header--primary > .grid
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end
}

.flexbox header a.logo
{
	margin-top: 0;
}

.flexbox header a.logo img
{
	max-width: 120%;
}


/**************************************************************************
Main Navigation
**************************************************************************/
nav
{
	clear: both;
}

nav a.menu
{
	display: none;
}

nav ul,
nav li
{
	margin:  0;
	padding: 0;
}

.nav-container
{
	overflow: visible;
	z-index: 9000;
}

.nav-list--primary
{
    padding: 15px 0;
    padding: 0.9375rem 0;
    text-align: center;
}

nav .nav-list__item--primary
{
	position: relative;
	display: inline-block;
	/*width: 16%;*/
	/*padding: 0 5px;
	padding: 0 0.3125rem;*/
	box-sizing: border-box;
	text-align: center;
}

nav .nav-list__item--home
{
	display: none;
}

.nav-list__item--primary > a
{
	/*display: block;*/
    padding: 0 15px;
    padding: 0 0.9375rem;
	color: #fff;
	-webkit-transition: color .33s, background-color .33s, padding .33s;
	-o-transition: color .33s, background-color .33s, padding .33s;
	transition: color .33s, background-color .33s, padding .33s;
}

.nav-list--secondary
{
	position: absolute;
	left: -2px;
	top: 37px;
	top: 2.313rem;
	top: calc(100% + 15px);
	top: calc(100% + 0.9375rem);

	opacity: 0;
	background-color: #fff;
	border: 2px solid #333343;
	border-top: none;
	min-width: 77px;
	width: auto;

	visibility: hidden;

	-webkit-transform: translateY(-15px);
	-moz-transform: translateY(-15px);
	-ms-transform: translateY(-15px);
	-o-transform: translateY(-15px);
	transform: translateY(-15px);

	-webkit-transform: translateY(-0.9375rem);
	-moz-transform: translateY(-0.9375rem);
	-ms-transform: translateY(-0.9375rem);
	-o-transform: translateY(-0.9375rem);
	transform: translateY(-0.9375rem);

	-webkit-transition: opacity .33s, transform .33s, visibility 0s .33s;
	-o-transition: opacity .33s, transform .33s, visibility 0s .33s;
	transition: opacity .33s, transform .33s, visibility 0s .33s;
}

.nav-list__item--secondary > a
{
	color: #1d5978;
	display: block;
	white-space: nowrap;
    padding: 15px;
    padding: 0.9375rem;
    text-align: left;

    -webkit-transition: background-color .33s, color .33s;
    -moz-transition: background-color .33s, color .33s;
    -ms-transition: background-color .33s, color .33s;
    -o-transition: background-color .33s, color .33s;
    transition: background-color .33s, color .33s;
}

.nav-list__item--primary:hover > a,
.nav-list__item--primary.hovParent > a
{
	background-color: #fff;
	color: #4eb3b2;
    padding: 15px;
    padding: 0.9375rem;
}

nav .nav-list__item--primary:hover .nav-list--secondary,
nav .nav-list__item--primary.hovParent .nav-list--secondary
{
	opacity: 1;
	visibility: visible;
	min-width: 100%;

	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);

	-webkit-transition: opacity .33s .1s, transform .33s .1s;
	-o-transition: opacity .33s .1s, transform .33s .1s;
	transition: opacity .33s .1s, transform .33s .1s;
}

.nav-list__item--secondary:hover > a,
.nav-list__item--secondary.hovParent > a
{
	background-color: #61c3c0;
}

nav a
{
	font-weight: 600;
}

.flexbox .nav-list--primary
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;

	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;

	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}

.flexbox .nav-list__item--primary
{
	width: auto;
	/*padding: 0;*/
}

header a.menu
{
	display: none;

	width: 58px;
	padding: 19px 0;
	float: right;
	margin: 15px 15px 0 0;
	color: transparent;
	line-height: 0;
}

header a.menu:after
{
	content: "";
	display: block;
	height: 10px;
	background-color: #fff;
	border-radius: 3px;
	box-shadow: 0px 16px #fff, 0px -16px #fff;
	position: relative;
	width: auto;
	bottom: 0;
}

header .nav-container a.menu
{
	margin: 0;
}

header .nav-container a.menu:after
{
	background-color: #1d5978;
	box-shadow: 0px 16px #1d5978, 0px -16px #1d5978;
}

/**************************************************************************
Content Areas
**************************************************************************/
aside
{
	height:           100%;
}

footer
{
	background-color: #333343;
	clear:            both;
	color: #fff;
	padding: 60px 0;
	padding: 3.75rem 0;
}

footer a
{
	text-decoration: none;
}

footer a.avibeLink
{
	color: #fff;
	font-weight: 400;
}

.social
{
	position: fixed;
	top: 22%;
	right: 0;
}

.social__btn
{
	display: block;
	width: 50px;
	height: 50px;
	float: right;
	clear: both;

	-webkit-transition: padding 0.33s;
	-o-transition: padding 0.33s;
	transition: padding 0.33s;
}

.social__btn:hover,
.social__btn:focus
{
	padding-right: 20px;
}

.social__btn::before
{
	content: "";
	display: block;
	background: url(/Images/rcms/icon_socialSprite.png) 0 0 / 150px 50px no-repeat;
	width: 50px;
	height: 50px;
}

.social__btn::after   { display: none; }

.social__btn--facebook { background-color: #3c5a98; }
.social__btn--linkedin { background-color: #0085af; }
.social__btn--meetup   { background-color: #f20016; }

.social__btn--linkedin::before { background-position: -50px 0;  }
.social__btn--meetup::before   { background-position: -100px 0; }

.section
{
	padding: 50px 0;
	padding: 3.125rem 0;
}

/* Quote Styles */
.section--quote
{
	background: #efeeef;
}

.quote
{
	display: inline-block;
	color: #1d5978;
	font-size: 1.375rem;
	font-style: italic;
	line-height: 1.455;
	text-align: left;
	padding: 0 40px;
	padding: 0 2.5rem;
	position: relative;
	text-indent: -8px;
	text-indent: -0.5rem;
}

.quote:before,
.quote:after
{
	content: '“';
	position: absolute;
	top: 10px;
	top: .625rem;
	left: 0;
	font-family: 'droid-serif', serif;
	color: #23a7a3;
	font-size: 4.375rem;
	font-style: italic;
	line-height: 0.371;
}

.quote:after
{
	content: '”';
	position: absolute;
	left: auto;
	right: 14px;
	top: 100%;
}

.quote-meta-container
{
	text-align: center;
}

.quote-meta__author
{
	/*margin: 25% 0 0 0;*/
	margin: 0;
	color: #000000;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1;
}

.quote-meta__author-title
{
	margin: 16px 0 0 0;
	margin: 1rem 0 0 0;
	color: #717171;
	font-size: 14px;
	font-size: 0.875rem;
	font-style: italic;
	/*line-height: 2.143;*/
}

.quote-meta__author-organization
{
	margin: 0;
	color: #000000;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.429;
}

.flexbox .section--quote > .grid
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

/*.flexbox .quote-meta__author
{
	margin: 0;
}*/

/* CTA styles */
.section--cta
{
	background: #d0e1ea url(/Images/rcms/contactglobe.png) bottom left 60px no-repeat;
	padding-top: 45px;
	padding-top: 2.813rem;
}

.cta--left-column
{
	width: 71.4285%;
}

.btn-container--contact-cta
{
	display: block;
	position: relative;
	height: 0;
	width: 100%;
	padding-top: 56.25%;
}

.cta--column
{
	border: 1px solid #8ab6cc;
	border-radius: 6px;
	padding: 45px;
	padding: 2.813rem;
	line-height: 1.875;
	/*margin-top: 85px;
	margin-top: 5.313rem;*/
}

.cta--column h3
{
	line-height: 1;
}

.cta--column .cta__content
{
	margin: 45px 0;
	margin: 2.813rem 0;
}

.cta--column .btn,
.cta--contact .btn
{
	display: block;
	width: 100%;
	padding: 20px;
	padding: 1.25rem;
	text-align: center;

	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.067;
}

/*.cta--contact .btn
{
	padding: 100px 40px;
	padding: 6.25rem 2.5rem;
}*/

.cta--contact .btn
{
	padding: 1px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	box-sizing: border-box;
}

.cta--contact .btn > span
{
	display: inline-block;
	margin-top: 19%;
	font-size: 38px;
	font-size: 2.375rem;
}

.cta--contact .btn > em
{
	color: #333343;
	display: block;
	font-style: normal;
	margin-top: 10px;
}

.cta--contact > h2,
.cta--video > h2
{
	margin-top: 0;
}

.cta--contact .cta__content p,
.cta--video .cta__content p
{
	margin-top: 0;
}

.flexbox .section--cta > .grid
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.flexbox .cta-contact-container,
.flexbox .cta--contact,
.flexbox .cta--video
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	/*-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;*/
}

.flexbox .cta--contact .btn
{
	padding: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.flexbox .cta--contact .btn > span
{
	margin-top: 0;
}

.flexbox .cta-contact-container .cta--left-column,
.flexbox .cta--contact,
.flexbox .cta--contact .cta__content,
.flexbox .cta--video .cta__content
{
	-webkit-box-flex: 1;
	-webkit-flex: 1 0 auto;
	    -ms-flex: 1 0 auto;
	        flex: 1 0 auto;
}

.flexbox .cta-contact-container .cta--left-column
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

/* Client Logo Styles */
.client-logo-container
{
	text-align: center;
}

.section--client-logos .column:last-child
{
	float: left;
}

.section--client-logos h2
{
	margin: 0;
}

/* Modal Styles */
.main-container
{
	transition: filter .33s;
	-webkit-transition: -webkit-filter .33s;
	-moz-transition: -moz-filter .33s;
	-ms-transition: -ms-filter .33s;
	-o-transition: -o-filter .33s;
}

.is-blurred
{
	-webkit-filter: blur(6px);
	-moz-filter: blur(6px);
	-ms-filter: blur(6px);
	-o-filter: blur(6px);
	filter: blur(6px);
	/*-webkit-filter: blur(0.3125rem);
	-moz-filter: blur(0.3125rem);
	-ms-filter: blur(0.3125rem);
	-o-filter: blur(0.3125rem);
	filter: blur(0.3125rem);*/
}

.main-container.is-blurred
{
	max-height: 100%;
	max-height: 100vh;
	overflow: hidden;
}

.modal
{
	z-index: 9999;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	visibility: hidden;
	background-color: transparent;
	overflow: auto;
	box-sizing: border-box;

	-webkit-transition: background-color .33s, visibility 0s .33s;
	-moz-transition: background-color .33s, visibility 0s .33s;
	-ms-transition: background-color .33s, visibility 0s .33s;
	-o-transition: background-color .33s, visibility 0s .33s;
	transition: background-color .33s, visibility 0s .33s;
}

.modal.modal--active
{
	visibility: visible;
	background-color: rgba(0,0,0,0.5);

	-webkit-transition: background-color .33s;
	-moz-transition: background-color .33s;
	-ms-transition: background-color .33s;
	-o-transition: background-color .33s;
	transition: background-color .33s;
}

.modal__content
{
	box-sizing: border-box;
	width: 25%;
	position: relative;
	margin: 10% auto;
	opacity: 0;

	-webkit-transform: translateY(-10%) ;
	-moz-transform: translateY(-10%) ;
	-ms-transform: translateY(-10%) ;
	-o-transform: translateY(-10%) ;
	transform: translateY(-10%) ;

	-webkit-transition: opacity .33s, transform .33s, width .33s;
	-moz-transition: opacity .33s, transform .33s, width .33s;
	-ms-transition: opacity .33s, transform .33s, width .33s;
	-o-transition: opacity .33s, transform .33s, width .33s;
	transition: opacity .33s, transform .33s, width .33s;
}

.modal__content input,
.modal__content button
{
	display: block;
	border-radius: 6px;
	background-color: #f3fffe;
	border: none;
	margin: 10px 0;
	margin: 0 0 .625rem 0;
	padding: 20px;
	padding: 1.25rem;
	width: 100%;
	box-sizing: border-box;
}

.modal__content button
{
	margin-bottom: 0;
}

.modal.modal--active .modal__content,
.modal.modal--active button.btn--exit
{
	opacity: 1;
	position: relative;

	-webkit-transform: translateY(0) ;
	-moz-transform: translateY(0) ;
	-ms-transform: translateY(0) ;
	-o-transform: translateY(0) ;
	transform: translateY(0) ;
}

.btn-submit-container
{
	text-align: center;
}

.modal__content .btn--login-submit
{
	display: inline-block;
	/*width: 93px;
	height: 77px;
	padding: 0;*/
	background-color: #23a7a3;
	color: #fff;
	width: auto;
	border: none;
	/*background-image: url(/Images/rcms/arrow.png);
	background-position: 0 0;
	background-size: 100% auto;
	background-repeat: no-repeat;*/
}

/*.modal__content .btn--login-submit:hover,
.modal__content .btn--login-submit.hov
{
	background-position: top -77px left 0;
	-webkit-animation: none;
	        animation: none;
}*/

button.btn--exit
{
	background-color: transparent;
	border: none;
	background-image: url(/images/icons/close.png);
	background-repeat: no-repeat;
	background-size: 16px 16px;
	background-position: center right;
	width: 16px;
	height: 16px;
	opacity: 0;
	width: 25%;
	outline: none;
	cursor: default;
	margin-bottom: 1.25rem;

	-webkit-transform: translateY(-50px) ;
	-moz-transform: translateY(-50px) ;
	-ms-transform: translateY(-50px) ;
	-o-transform: translateY(-50px) ;
	transform: translateY(-50px) ;

	-webkit-transition: opacity .33s, transform .33s, width .33s;
	-moz-transition: opacity .33s, transform .33s, width .33s;
	-ms-transition: opacity .33s, transform .33s, width .33s;
	-o-transition: opacity .33s, transform .33s, width .33s;
	transition: opacity .33s, transform .33s, width .33s;

	-webkit-animation: none;
	        animation: none;
}

.modal .btn--exit:hover,
.modal .btn--exit.hov
{
	background-image: url(/images/icons/close.png);
	background-repeat: no-repeat;
	background-size: 16px 16px;
	-webkit-animation: none;
	        animation: none;
}

.flexbox .modal
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.flexbox .modal__content
{
	margin: 0;
}

/* Landing page */
body.landing .header--secondary
{
	border-top: 1px solid #fff;
	background: #08a1c1 url(/Images/rcms/homebanner.jpg) center center / auto 100% no-repeat;
	background-size: cover;
}

body.landing .header--secondary .column
{
	float: right;
	padding: 65px 0;
	padding: 4.063rem 0;
}

body.landing .header--secondary h1
{
	text-align: left;
	font-family: 'Droid Serif', serif;
	color: #333343;
	font-size: 34px;
	font-size: 2.125rem;
	font-style: italic;
	line-height: 1.294;
	max-width: 94%;
	padding-left: 0;
}

body.landing .header--secondary .btn-container
{
	margin-top: 60px;
	margin-top: 3.75rem;
}

body.landing .header--secondary .btn
{
	display: block;
	text-align: center;

	padding: 10px 48px;
	padding: 0.625rem 3rem;

	width: 100%;
	max-width: 250px;
	max-width: 15.63rem;
	box-sizing: border-box;
}

body.landing .header--secondary > .grid
{
	text-align: center;
}

.flexbox body.landing .header--secondary > .grid
{
	display: block;
}

body.landing .section--main
{
	padding: 20px 0;
	padding: 1.25rem 0;
}

.cta--landing
{
	padding: 40px 0;
	padding: 2.5rem 0;
	text-align: center;
}

.cta--landing-start
{
	padding-right: 20px;
	padding-right: 1.25rem;
}

.cta--landing-middle
{
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;

	padding-left: 29px;
	padding-left: 1.813rem;

	padding-right: 29px;
	padding-right: 1.813rem;
}

.cta--landing-end
{
	padding-left: 20px;
	padding-left: 1.25rem;
}

.flexbox .landing-ctas
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

.flexbox .cta--landing
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;

	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;

	/*-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;*/

	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.flexbox .cta--landing__btn-container
{
	width: 33%;
}

.flexbox .cta--landing__text
{
	-webkit-box-flex: 1;
	-webkit-flex: 1 0 auto;
	    -ms-flex: 1 0 auto;
	        flex: 1 0 auto;
}

.cta--landing__header
{
	color: #1d5978;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.25;

	margin-top: 0;
	text-align: left;
	max-width: 100%;
}

.cta--landing__text
{
	text-align: left;
	max-width: 100%;
}

.cta--landing__image
{
	display: block;
	float: left;
	margin-right: 20px;
	margin-right: 1.25rem;
}

.cta--landing__btn-container
{
	min-width: 33%;
	max-width: 100%;
}

.cta--landing__btn
{
	display: block;
}

.section--landing-ctas
{
	padding: 20px 0;
	padding: 1.25rem 0;
	border-bottom: 1px solid #ccc;
}

/*.landing-ctas
{
	display: grid;
	grid-template-columns: repeat(9, 11.1111%);
}

.cta--landing__header
{
	grid-row: 1;
}

.cta--landing__text
{
	text-align: left;
	grid-row: 2;
}

.cta--landing__btn
{
	grid-row: 3;
}

.cta--landing__c1 { grid-column: 1 / 4; }
.cta--landing__c2 { grid-column: 4 / 7; }
.cta--landing__c3 { grid-column: 7 / 10; }

.cta--landing__btn.cta--landing__c1 { grid-column: 2; }
.cta--landing__btn.cta--landing__c2 { grid-column: 5; }
.cta--landing__btn.cta--landing__c3 { grid-column: 8; }
*/

a.btn--small
{
	font-size: 1rem;
	padding: 0.5rem;
	text-align: center;
	width: 50%;
}

/**************************************************************************
Overrides for Admin TinyMCEs
**************************************************************************/
body.editorBody
{
	background-color: #fff;
	min-width:        0;

	height: -webkit-calc( 100% - 16px );
	height:    -moz-calc( 100% - 16px );
	height:         calc( 100% - 16px );
}

/**************************************************************************
Tables
**************************************************************************/
article table.listing
{
	border-collapse: collapse;
	width:           100%;

	box-shadow: -2px 2px 2px #999;
}

article table.listing th
{
	background-color: #23a7a3;
	color:            #fff;
	padding:          5px;
	padding:          0.3125rem;
	text-align:       left;
}

article table.listing td
{
	padding: 5px;
	padding: 0.3125rem;
}

article table.listing tr:hover td
{
	background-color: #91d5f1;
}

/**************************************************************************
Table Striping
**************************************************************************/
article table.listing tr:nth-child( odd  ),
article table.listing tr.oddChild:nth-child( odd  ),
article table.listing tr.oddChild:nth-child( even )
{
	background-color: #fff;
}

article table.listing tr:nth-child( even ),
article table.listing tr.evenChild:nth-child( odd  ),
article table.listing tr.evenChild:nth-child( even )
{
	background-color: #eee;
}

article table.nostripe tr:nth-child(		   odd  ),
article table.nostripe tr:nth-child(		   even ),
article table.nostripe tr.oddChild:nth-child(  odd  ),
article table.nostripe tr.oddChild:nth-child(  even ),
article table.nostripe tr.evenChild:nth-child( odd  ),
article table.nostripe tr.evenChild:nth-child( even )
{
	background: none;
}

article table.nofieldset
{
	margin-bottom: 10px;
	margin-bottom: 0.625rem;
}

/**************************************************************************
Icons
**************************************************************************/
article a.icon,
article span.icon
{
	background-position: center left;
	background-repeat:   no-repeat;
	background-size:     100% auto;
	background-size:     cover;
	display:             block;
	height:              16px;
	height:              1rem;
	width:               16px;
	width:               1rem;
	margin:              0 auto;
	overflow:            hidden;
	text-indent:         -500px;
}

article a.inline,
article span.inline
{
	float:        left;
	margin-right: 5px;
	margin-right: 0.3125rem;
}

/**************************************************************************
Icon Images
**************************************************************************/
article a.closeexample { background-image: url( '../images/icons/close-example.png'		     ); }
article a.closefailure { background-image: url( '../images/icons/close-failure.png'		     ); }
article a.closesuccess { background-image: url( '../images/icons/close-success.png'		     ); }
article a.closewarning { background-image: url( '../images/icons/close-warning.png'		     ); }
article a.collapse	   { background-image: url( '../images/icons/dir-down.png'               ); }
article a.expand	   { background-image: url( '../images/icons/dir-right.png'              ); }

/**************************************************************************
Forms
**************************************************************************/
div.grid.fieldset div.column
{
	margin:   10px 0;
	overflow: visible;
}

div.grid.fieldset div.column:last-child
{
	float:         left;
	margin-bottom: 30px;
}

fieldset
{
	border:           0;
	background-color: #eee;
	height:           100%;
	padding:          10px;
	padding:          0.625rem;
	vertical-align:   top;

	box-shadow: -2px 2px 2px #999;
}

fieldset.controls
{
	clear:        both;
	display:      block;
	height:       10px;
	margin:       10px;
	margin-top:   20px;
	position:     relative;
	width:        auto;
}

fieldset.hiddenControls
{
	display: none;
}

fieldset legend
{
	background-color: #23a7a3;
	color:            #fff;
	font-weight:      bold;
	padding:          5px;
	padding:          0.3125rem;
}

fieldset label,
fieldset span.label
{
	display:     block;
	line-height: 22px;
	line-height: 1.375rem;
	width:       100%;
}

fieldset span.field
{
	display:     block;
	line-height: 15px;
	margin:      5px 0 10px 0;
	min-height:  15px;
	padding:     3px 5px;

	line-height: 0.9375rem;
	margin:      0.3125rem 0 0.625rem 0;
	min-height:  0.9375rem;
	padding:     0.1875rem 0.3125rem;
}

fieldset input[type="email"   ],
fieldset input[type="password"],
fieldset input[type="phone"   ],
fieldset input[type="text"    ],
fieldset select
{
	background-color: #fff;
	border:           0;
	display:          block;
	font-weight:      normal;

	height:           15px;
	line-height:      15px;
	margin:           5px 0 10px 0;
	padding:          3px 5px;

	height:           0.9375rem;
	line-height:      0.9375rem;
	margin:           0.3125rem 0 0.625rem 0;
	padding:          0.1875rem 0.3125rem;

	width:            97%;

	box-shadow: inset -2px 2px 2px #999;
	-moz-outline-style: none;
	-webkit-appearance: none;
	border-radius:      0;
	outline:            none;
	width:              -webkit-calc( 100% - 10px );
	width:                      calc( 100% - 10px );
	width:              -webkit-calc( 100% - 0.625rem );
	width:                      calc( 100% - 0.625rem );
}

fieldset input[type="email"   ]:disabled,
fieldset input[type="password"]:disabled,
fieldset input[type="phone"   ]:disabled,
fieldset input[type="text"    ]:disabled,
fieldset select:disabled
{
	background-color: transparent;
}

fieldset select
{
	height:      21px;
	line-height: 21px;
	height:      1.313rem;
	line-height: 1.313rem;
	padding:     0;
	width:       100%;
}

fieldset select[multiple]
{
	height:        auto;
}

fieldset textarea.tinymceSmall,
fieldset textarea.tinymceLarge
{
	height:        400px;
	margin-bottom: 15px;
	margin-bottom: 0.9375;
	width:         99%;
}

fieldset input[type="email"   ].medium,
fieldset input[type="password"].medium,
fieldset input[type="phone"   ].medium,
fieldset input[type="text"    ].medium
{
	width: 66%;
	width: -webkit-calc( 66% - 10px );
	width:         calc( 66% - 10px );
}

fieldset select.medium
{
	width: 66%;
}

fieldset input[type="email"   ].small,
fieldset input[type="password"].small,
fieldset input[type="phone"   ].small,
fieldset input[type="text"    ].small
{
	width: 33%;
	width: -webkit-calc( 33% - 10px );
	width:         calc( 33% - 10px );
}

fieldset select.small
{
	width: 33%;
}

fieldset input[type="email"   ].tiny,
fieldset input[type="password"].tiny,
fieldset input[type="phone"   ].tiny,
fieldset input[type="text"    ].tiny
{
	width: 25%;
	width: -webkit-calc( 25% - 10px );
	width:         calc( 25% - 10px );
}

fieldset select.tiny
{
	width: 25%;
}

fieldset input[type="radio"   ],
fieldset input[type="checkbox"]
{
	float:        left;
	margin-right: 5px;
	margin-right: 0.3125rem;
}

fieldset table.listing input[type="radio"   ],
fieldset table.listing input[type="checkbox"]
{
	float:  none;
	margin: 0 auto;
}

fieldset input[type="button"],
fieldset input[type="submit"]
{
	background-color: #23a7a3;
	border:           2px solid #23a7a3;
	color:            #fff;
	font-weight:      bold;
	height:           26px;
	margin:           5px 2px 0 8px;
	min-width:        115px;
	padding:          0;
	position:         absolute;
	right:            8px;
	text-align:       center;
	text-decoration:  none;
	top:              -18px;

	-webkit-appearance: none;
	-moz-outline-style: none;
	outline:            none;
	border-radius:      0;
}

fieldset input[type="button"]:first-child,
fieldset input[type="submit"]:first-child
{
	background-color: #fff;
	clear:            both;
	color:            #23a7a3;
	left:             8px;
	margin-left:      0px;
	right:            auto;
}

fieldset input[type="button"]:hover,
fieldset input[type="submit"]:hover
{
	background-color: #329cc9;
	color:            #fff;
}

fieldset.search
{
	position: relative;
}

fieldset.search input[type="submit"]
{
	top: auto;
	bottom: 4px;
}

/**************************************************************************
Contact Form
**************************************************************************/

.contact fieldset
{
	background-color: transparent;
	box-shadow: none;
	padding: 0;
}

.contact fieldset.controls
{
	display: grid;
    grid-template-columns: 1.5fr 1fr;
    height: auto;
    margin: 40px 0;
    row-gap: 40px;
}

.contact fieldset legend
{
	background-color: transparent;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 600;
	margin: 0;
	padding: 1.188rem 0 0.8rem;
	color: #1d5978;
}

.contact fieldset input[type="email"   ],
.contact fieldset input[type="password"],
.contact fieldset input[type="phone"   ],
.contact fieldset input[type="text"    ],
.contact fieldset select
{
	border: 1px solid #999;
	box-shadow: none;
	height: 21px;
	padding: 0.5rem;

	width: 100%;
	width: -webkit-calc( 100% - 1rem );
	width:    -moz-calc( 100% - 1rem );
	width:         calc( 100% - 1rem );

	-webkit-box-sizing:content-box; 
	   -moz-box-sizing:content-box;
		-ms-box-sizing:content-box;
			box-sizing:content-box;
}

.contact fieldset input[type="radio"],
.contact fieldset input[type="checkbox"]
{
	margin: 4px 10px 4px 0;
}

@-moz-document url-prefix() { 
	.contact fieldset input[type="radio"],
	.contact fieldset input[type="checkbox"]
	{
		margin: 5px 10px 5px 0;
	}
}

.contact fieldset select.disabled 				  { color: #999; }
.contact fieldset select.disabled option,
.contact fieldset select.disabled optgroup 		  { color: #000; }
.contact fieldset select.disabled option:disabled { color: #999; }

.contact fieldset textarea
{
	border: 1px solid #999;
	min-height: 150px;
	padding: 0.5rem;
	
	width: 100%;
	width: -webkit-calc( 100% - 1rem );
	width:    -moz-calc( 100% - 1rem );
	width:         calc( 100% - 1rem );
}

.contact fieldset input[type="email"   ].error,
.contact fieldset input[type="password"].error,
.contact fieldset input[type="phone"   ].error,
.contact fieldset input[type="text"    ].error,
.contact fieldset select.error,
.contact fieldset textarea.error
{
	border: 2px solid #c0504d;

	width: 100%;
	width: -webkit-calc( 100% - 1.1rem );
	width:    -moz-calc( 100% - 1.1rem );
	width:         calc( 100% - 1.1rem );
}

.contact fieldset.controls div#g-recaptcha
{
    justify-self: end;
    position: relative;
    right: -2px;
}

.contact fieldset.controls div#g-recaptcha::after 
{
    background-color: white;
    bottom: 0;
    content: '';
    height: 2px;
    position: absolute;
    width: 100%;
}

.contact fieldset.controls button.btn
{
    border:      none;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    grid-column: 2;
    justify-self: end;
	text-align:  center;
	width: 		 100px;
}

div.contact
{
	text-align: center;
}

div.contact h3 span
{
	display: block;
	font-weight: bold;
}

.contact fieldset.controls p
{
	margin: 0;
	width: 100%;
	width: -webkit-calc( 100% - 120px );
	width:    -moz-calc( 100% - 120px );
	width:         calc( 100% - 120px );
}

div.contactPad
{
	margin: 20px 0;
}

label.screenReader
{
	clip: rect(1px, 1px, 1px, 1px); 
	height: 1px; 
	width: 1px; 
	overflow: hidden; 
	position: absolute !important;
}

/**************************************************************************
User notifications
**************************************************************************/
.success { color: #9bbb59; }
.warning { color: #f79646; }
.failure { color: #c0504d; }
.example { color: #329cc9; }

p.banner
{
	font-size:   19px;
	font-size:   1.188rem;
	font-weight: bold;
	margin:      10px 0 -42px 0;
	padding:     10px;
	margin:      0.625rem 0 -2.625rem 0;
	padding:     0.625rem;
	position:    relative;
	top:         -150px;
	width:       auto;

	box-shadow: -2px 2px 2px #999;
}

p.success.banner { background-color: #ebf1dd; border: 3px solid #9bbb59; border-width: 0.1875rem; }
p.warning.banner { background-color: #fdeada; border: 3px solid #f79646; border-width: 0.1875rem; }
p.failure.banner { background-color: #f2dcdb; border: 3px solid #c0504d; border-width: 0.1875rem; }
p.example.banner { background-color: #e2f1f7; border: 3px solid #329cc9; border-width: 0.1875rem; }

p.success a.closesuccess,
p.warning a.closewarning,
p.failure a.closefailure,
p.example a.closeexample
{
	float: right;
}

p.success input,
p.warning input,
p.failure input,
p.example input
{
	border:      0;
	color:       #fff;
	cursor:      default;
	float:       right;
	font-weight: bold;
	margin-top:  -3px;
	margin-left: 10px;
	padding:     3px 0;
	text-align:  center;
	width:       75px;

	margin-top:  -0.1875rem;
	margin-left: 0.625rem;
	padding:     0.1875rem 0;
	width:       4.688rem;
}

p.success input:hover,
p.warning input:hover,
p.failure input:hover,
p.example input:hover
{
	background-color: #23a7a3;
}

p.success input { background-color: #9bbb59; }
p.warning input { background-color: #f79646; }
p.failure input { background-color: #c0504d; }
p.example input { background-color: #329cc9; }

div.environment
{
	background:     #fff;
	bottom:         115px;
	box-shadow:     0px 0px 4px 4px rgba( 0, 0, 0, 0.25 );
	color:          #000;
	font-family:    "Times New Roman", Times, serif;
	font-size:      18px;
	font-size:      1.125rem;
	height:         32px;
	line-height:    32px;
	position:       fixed;
	right:          -30px;
	text-align:     center;
	text-transform: capitalize;
	width:          208px;
	z-index:        9999;

	-webkit-transform-origin: bottom right;
	    -ms-transform-origin: bottom right;
	        transform-origin: bottom right;

	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

div.environment:after
{
	border:   2px solid #000;
	content:  '';
	height:   24px;
	left:     2px;
	position: absolute;
	top:      2px;
	width:    200px;
}

div.environment.development { background: #ebf1dd; color: #9bbb59; }
div.environment.staging     { background: #fdeada; color: #f79646; }
div.environment.production  { background: #f2dcdb; color: #c0504d; }

div.environment.development:after { border: 2px solid #9bbb59; }
div.environment.staging:after     { border: 2px solid #f79646; }
div.environment.production:after  { border: 2px solid #c0504d; }


@media only screen and ( min-width: 2002px ) {
	body.landing .header--secondary
	{
		background-position: center left;
		/*background-color: #08a1c1;*/
		background-size: contain;
	}
}

@media only screen and ( max-width: 1338px ) {

	/*.section
	{
		padding: 40px 0;
		padding: 2.5rem 0;
	}*/

	.social
	{
		position: relative;
		top: 0;
		background: #333343;
		text-align: center;
		padding-top: 40px;
	}

	.social__btn
	{
		display: inline-block;
		float: none;
		clear: none;
	}

	.social__btn:hover,
	.social__btn:focus
	{
		padding-right: 0;
	}
}

/**************************************************************************
Tablet-specific Styles
**************************************************************************/
@media only screen and ( max-width: 1024px ) {
	/* This alters the base font size, which should gracefully resize all (r)em specified styles. */
	html { font-size: 95%; }

	.nav-list--secondary
	{
		min-width: 0;
	}

	.nav-list__item--primary > a,
	.nav-list__item--primary:hover > a,
	.nav-list__item--primary.hovParent > a
	{
		padding-left: 4px;
		padding-left: .25rem;
		padding-right: 4px;
		padding-right: .25rem;
	}

	.modal__content
	{
		width: 75%;
	}

	a.btn--small
	{
		width: 100%;
	}
}
@media only screen and ( max-width: 768px )
{
	html { font-size: 90%; }

	.modal__content
	{
		width: 85%;
	}

	.flexbox .header--primary > .grid,
	.flexbox .header--secondary > .grid,
	.flexbox .section--quote > .grid,
	.flexbox .section--cta > .grid,
	.flexbox .cta-contact-container .cta--left-column,
	.flexbox .cta--contact,
	.flexbox .cta--video
	{
		display: block;
	}

	header a.menu
	{
		display: block;
	}

	header a.logo
	{
		float: left;
		margin-top: 0;
	}

	header h1
	{
		padding: 0 0 0 96px;
		padding: 0 0 0 6.666rem;
	}

	header h4
	{
		text-align: center;
	}

	.btn-container--login
	{
		float: left;
	}

	.btn-container--login,
	header .nav-container a.menu
	{
		margin: 16px 25px;
	}

	.nav-container
	{
		border-left: none;
		border-right: none;
		position: absolute;
		top: 0;
		opacity: 0;
		visibility: hidden;

		-webkit-transition: opacity .33s, visibility 0s .33s;
		-moz-transition: opacity .33s, visibility 0s .33s;
		-ms-transition: opacity .33s, visibility 0s .33s;
		-o-transition: opacity .33s, visibility 0s .33s;
		transition: opacity .33s, visibility 0s .33s;
	}

	nav,
	.nav-actions
	{
		background-color: #fff;
	}

	.nav-actions
	{
		padding: 9px 0;
		padding: .625rem 0;
	}

	nav
	{
		-webkit-transform: scaleY(0);
		-moz-transform: scaleY(0);
		-ms-transform: scaleY(0);
		-o-transform: scaleY(0);
		transform: scaleY(0);

		-webkit-transform-origin: top center;
		-moz-transform-origin: top center;
		-ms-transform-origin: top center;
		-o-transform-origin: top center;
		transform-origin: top center;

		-webkit-transition: transform .33s;
		-moz-transition: transform .33s;
		-ms-transition: transform .33s;
		-o-transition: transform .33s;
		transition: transform .33s;
	}

	.nav-container.is-active
	{
		opacity: 1;
		visibility: visible;

		-webkit-transition: opacity .33s;
		-moz-transition: opacity .33s;
		-ms-transition: opacity .33s;
		-o-transition: opacity .33s;
		transition: opacity .33s;
	}

	.nav-container.is-active nav
	{
		-webkit-transform: scaleY(1.0);
		-moz-transform: scaleY(1.0);
		-ms-transform: scaleY(1.0);
		-o-transform: scaleY(1.0);
		transform: scaleY(1.0);
	}

	.nav-list--primary,
	.flexbox .nav-list--primary
	{
		display: block;

		padding: 0;
		border-bottom: 2px solid #333343;
	}

	nav .nav-list__item--primary,
	nav .nav-list__item--home
	{
		display: block;
		width: 100%;
		text-align: left;
	}

	.nav-list__item--primary > a,
	.nav-list__item--primary:hover > a,
	.nav-list__item--primary.hovParent > a
	{
		color: #1d5978;
		display: block;
		padding: 15px 10px 15px 25px;
		border-top: 1px solid #4eb3b2;
		font-weight: 700;
	}

	.nav-list__item--primary > a:hover,
	.nav-list__item--primary > a.hov
	{
		background-color: #61c3c0;
		/*color: #fff;*/
	}

	html.touch .nav-list__item--primary > a:hover
	{
		background-color: #fff;
	}

	html.touch .nav-list__item--primary > a.hov
	{
		background-color: #61c3c0;
	}

	.nav-list--secondary
	{
		position: relative;
		top: 0;
		left: 0;
		border: none;
		height: 0;
		overflow: hidden;
		opacity: 1;
		visibility: visible;

		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}

	nav .nav-list__item--primary.hovParent .nav-list--secondary
	{
		-webkit-transition: height 0.25s;
		   -moz-transition: height 0.25s;
			 	transition: height 0.25s;
	}

	.nav-list__item--secondary > a
	{
		color: #4eb3b2;
		border-top: 1px solid #4eb3b2;
		padding: 15px 10px 15px 50px;
		font-weight: 700;
		white-space: normal;
	}

	.nav-list__item--secondary > a:hover,
	.nav-list__item--secondary > a.hov
	{
		color: #fff;
	}

	.cta--column
	{
		margin-top: 36px;
		margin-top: 2.5rem;
		border: none;
		border-top: 1px solid #8ab6cc;
		border-radius: 0;
	}

	.cta--contact,
	.cta--video
	{
		width: 100%;
		text-align: center;
	}

	.cta--left-column
	{
		width: 100%;
	}

	.cta--contact__btn,
	.cta__video-embed
	{
		width: 100%;
		display: inline-block;
		max-width: 548px;
	}

	.cta--contact h2,
	.cta--contact .cta__content,
	.cta--video h2,
	.cta--video .cta__content
	{
		text-align: left;
	}

	.cta--video > h2
	{
		margin-top: 40px;
		margin-top: 2.777rem;
	}

	.quote-meta__author
	{
		margin-top: 36px;
		margin-top: 2.5rem;
	}

	footer
	{
		text-align: center;
		padding: 25px;
		padding: 1.7361rem;
	}

	.privacy-link
	{
		margin: 25px;
		margin: 1.7361rem;
		display: inline-block;
	}

	/* Landing Page */
	body.landing .header--secondary
	{
		background-image: none;
	}

	body.landing .header--secondary .column
	{
		padding: 25px 85px;
		padding: 1.7361rem 5.9028rem;
	}

	body.landing .header--secondary h1
	{
		margin-top: 0;
		font-size: 24px;
		font-size: 1.666rem;
		line-height: 1.833;
		max-width: 100%;
		padding-left: 0;
	}

	body.landing .header--secondary .btn-container
	{
		float: right;
		margin: 36px 0 15px;
		margin: 2.5rem 0 1.0417rem;
	}

	.cta--landing
	{
		padding-left: 0;
		padding-right: 0;
		border-bottom: 1px solid #ccc;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
	}

	.cta--landing__header
	{
		text-align: center;
	}

	.cta--landing__text
	{
		text-align: center;
	}

	.cta--landing__image
	{
		display: inline-block;
		float: none;
	}

	/*body.landing .section--main
	{
		padding: 0;
	}*/

	.section--landing-ctas
	{
		padding: 0;
		border: none;
	}

	.landing-content-container .column + .column
	{
		border-top: 1px solid #ccc;
		margin-top: 20px;
		margin-top: 1.666rem;
	}

	.flexbox .landing-ctas
	{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

	.flexbox .cta--landing__text
	{
		text-align: left;
		width: 50%;
	}

	.flexbox .cta--landing__image
	{
		display:block;
		float: left;
	}

	.contact div.column
	{
		border: none;
	}

	div.contact 
	{
		text-align: left;
	}

	div.contact h3 span
	{
		display: inline-block;
	}

	.contact legend.hidden
	{
		display: none;
	}

	div.contactPad
	{
		margin: 0;
	}

	/* Client Logos */
	.client-logo-container,
	html.is-ie .client-logo-container
	{
		width: 33.33%;
	}

}

/**************************************************************************
Wireless-specific Styles
**************************************************************************/
@media only screen and ( max-width: 568px )
{
	html { font-size: 87.5%; }

	.modal__content
	{
		width: 95%;
	}

	header h1
	{
		/*text-align:  center;*/
		padding: 0 0 0 72px;
		padding: 0 0 0 5.1429rem;
	}

	footer
	{
		text-align: center;
	}

	fieldset.hiddenControls
	{
		display: block;
	}

	header a.menu
	{
		width: 45px;
		padding: 15px 0;
		margin: 11px 0 0 0;
	}

	header a.menu:after
	{
		height: 8px;
		box-shadow: 0px 12px #fff, 0px -12px #fff;
	}

	header .nav-container a.menu:after
	{
		background-color: #1d5978;
		box-shadow: 0px 12px #1d5978, 0px -12px #1d5978;
	}

	header a.logo
	{
		width: 245px;
		max-width: calc(100% - 65px);
	}

	.btn-container--login,
	header .nav-container a.menu
	{
		margin: 11px 10px;
	}

	.logo-container
	{
		height: 69px;
	}

	.flexbox .logo-container
	{
		height: 78px;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.flexbox header a.logo,
	.flexbox header .logo-container a.menu
	{
		margin: 0;
	}

	.flexbox .header--primary
	{
		padding: 0;
	}

	.section--cta
	{
		background-image: none;
	}

	/* Landing Page */

	body.landing .header--secondary .column
	{
		padding-left: 0;
		padding-right: 0;
	}

	body.landing .header--secondary .btn-container
	{
		float: none;
		margin-top: 24px;
		margin-top: 1.7143rem;
	}

	.cta--landing__text,
	.flexbox .cta--landing__text
	{
		text-align: left;
		width: 100%;
	}

	.section--client-logos
	{
		display: none;
	}

	.contact fieldset.controls p
	{
		margin: 1rem 0;
		width: 100%;
	}

}

@media only screen and ( max-width: 348px ) {
	header h1
	{
		padding: 0 0 0 22%;
	}

	div.contact 
	{
		text-align: center;
	}

	div.contact h3 span
	{
		display: block;
	}
}

@media only screen and ( max-width: 319px )
{
	html.responsive header.portrait div.account a
	{
		width:       32%;
	}
}

@media only screen and ( max-width: 320px )
{
	/*html { font-size: 62.5%; }*/

	fieldset input[type="button"],
	fieldset input[type="submit"]
	{
		min-width:     0px;
		overflow:      hidden;
		text-overflow: ellipsis;
		white-space:   nowrap;
		width:         40%;
	}
}

/**************************************************************************
Retina-specific Image Replacement
**************************************************************************/
@media only screen and ( -webkit-min-device-pixel-ratio: 2 ), only screen and ( min-resolution: 192dpi ), only screen and ( min-resolution: 2dppx  ) {
	.social__btn::before
	{
		background-image: url(/Images/rcms/icon_socialSprite-2x.png);
	}
	
	
	button.btn--exit,
	.modal .btn--exit:hover,
	.modal .btn--exit.hov
	{
		background-image: url(/images/icons/retina/close.png);
	}


	/*.modal__content .btn--login-submit
	{
		background-image: url(/Images/rcms/arrow-2x.png);
	}*/
}

/**************************************************************************
Print-specific Styles
**************************************************************************/
@media print
{
	/**************************************************************************
	Boilerplate Styles
	**************************************************************************/
	*
	{
		background:  transparent !important;
		color:       #000 !important;
		box-shadow:  none !important;
		text-shadow: none !important;
	}

	a
	{
		text-decoration: underline;
	}

	a[href]:after
	{
		content: ' (' attr( href ) ')';
	}

	a[href^="javascript:"]:after,
	a[href^="#"          ]:after
	{
		content: '';
	}

	abbr[title]:after
	{
		content: ' (' attr( title ) ')';
	}

	pre,
	blockquote
	{
		border:            1px solid #999;
		page-break-inside: avoid;
	}

	thead
	{
		display: table-header-group;
	}

	tr,
	img
	{
		page-break-inside: avoid;
	}

	img
	{
		max-width: 100% !important;
	}

	@page
	{
		margin: 0.5cm;
	}

	p,
	h2,
	h3
	{
		orphans: 3;
		widows:  3;
	}

	h2,
	h3
	{
		page-break-after: avoid;
	}

	/**************************************************************************
	Custom Styles
	**************************************************************************/
	header,
	nav,
	footer,
	p.banner,
	div.accountActions,
	div.fuseboxdebug
	{
		display: none;
	}

	body
	{
		margin: 0;
		padding: 0;
	}

	h1.print
	{
		display: block;
	}

	fieldset.controls
	{
		display: none !important;
	}

	article ul.button a.icon
	{
		display: none;
	}

	.chromeframe
	{
		display: none;
	}
}

/**************************************************************************
Browser-specific hacks
**************************************************************************/

/* IE <= 9 */
@media only screen and ( max-width: 768px ) {
	html.lt-ie10 header a.logo
	{
		margin: 0;
	}
}

/* IE <= 8 */
html.lt-ie9 .chromeframe
{
	display: block;
}

html.lt-ie9 header.portrait ul li a.toggle
{
	writing-mode: bt-rl;
}

html.lt-ie9 header.portrait ul li.expanded a.toggle
{
	writing-mode: tb-rl;
}

/* Firefox */
@-moz-document url-prefix(){
	fieldset select
	{
		padding-top: 3px;
	}
}
