/* =====================================
STANDARD
======================================== */
body { font:15px 'lato', sans-serif; color:#666; }
a:hover, a:focus { text-decoration:none; }
img { max-width:100%; }
hr { border-top-color:#e5e5e5; clear:both; }

/* texts */
h1, .h1 { margin:0 0 0.5em 0; text-transform:uppercase; line-height:1.4em; font-size:2em; font-weight:900; color:#666CB1; }
h2, .h2 { margin:0 0 0.5em 0; text-transform:uppercase; line-height:1.2em; font-size:1.6em; font-weight:900; color:#666; }
h3, .h3 { margin:0 0 0.7em 0; text-transform:uppercase; line-height:1.2em; font-size:1.467em; font-weight:900; color:#666; }
h4, .h4 { margin:0 0 1em 0; text-transform:uppercase; line-height:1.2em; font-size:1.333em; font-weight:700; color:#666CB1; }
h5, .h5 { margin:0 0 1em 0; text-transform:uppercase; line-height:1.2em; font-size:1.2em; font-weight:700; color:#666; }
h6, .h6	{ text-transform:uppercase; line-height:1.2em; font-size:1.067em; font-weight:700; color:#666; }
p { margin:0; }

/* nav */
nav ul { margin:0; padding:0; list-style:none; }
nav ul li { margin:0; padding:0; }

/* =====================================
USERCONTENT
======================================== */
.usercontent p { margin:0 0 30px 0; line-height:1.6em; font-size:1.067em; }
.usercontent a { text-decoration:underline; color:#666CB1; }
.usercontent a:hover,
.usercontent a:focus { text-decoration:underline; color:#4999D2; }

.usercontent ul, .usercontent ol { margin:0 0 30px; padding:0; list-style-type:none; line-height:1.5em; font-size:1.067em; }

.usercontent ul li { position:relative; margin-bottom:10px; padding-left:35px; }
.usercontent ul li:before { content:''; position:absolute; top:50%; left:0; margin-top:-4px; border-radius:50%; width:8px; height:8px; background:#666CB1; }

.usercontent ol li { margin-bottom:10px; }
.usercontent ol li { counter-increment:step-counter; }
.usercontent ol li:before { content:counter(step-counter); margin-right:25px; font-size:1.133em; font-weight:900; color:#666CB1; }

.usercontent pre { margin-bottom:30px; border:0; padding:0 50px; background:none; word-break:normal; white-space:normal; font:1.2em/1.6em 'lato', sans-serif; color:#545454; }

/* =====================================
CONTENT WRAPS
======================================== */
.iframe-wrap { position:relative; padding-bottom:56.25%; padding-top:30px; height:0; overflow:hidden; }
.iframe-wrap iframe,
.iframe-wrap object,
.iframe-wrap embed { position:absolute; top:0; left:0; width:100%; height:100%; }

.table-wrap { overflow-x:auto; }

.page-wrap { padding:30px 0; }

@media (min-width:768px) {
.content-wrap { border-left:1px solid #CCC; padding:30px 55px; }
}

/* =====================================
FORMS
======================================== */
form { margin:0; }
input[type="text"],
input[type="email"],
textarea,
select { margin:0; border:1px solid #ccc; border-radius:9px; padding:21px 30px; width:100%; height:auto; font-size:1.067em; color:#212121; box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -webkit-transition:border 0.3s; -moz-transition:border 0.3s; transition:border 0.3s; }
textarea { min-height:175px; }
input[type="checkbox"] { margin:0 15px 0 0; }
input:focus,
textarea:focus,
select:focus { border-color:#666CB1; outline:0; }

.checkboxes label, .wpcf7-list-item { min-height:55px; font-size:1.2em; font-weight:400; color:#545454; }

@media (min-width:768px) {
.checkboxes label, .wpcf7-list-item { float:left; margin:0 1% 10px 0; width:32%; }
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder { color:#212121; }
input:-moz-placeholder,
textarea:-moz-placeholder { color:#212121; }
input::-moz-placeholder,
textarea::-moz-placeholder { color:#212121; }
input:-ms-input-placeholder,
textarea:-ms-input-placeholder { color:#212121; }

.field_wrap { margin:0 0 35px 0; }
.input_wrap.dateselect select { width:32%; }
.input_wrap.checkboxes > label, .wpcf7-list-item label { display:block; }
.input_wrap.checkboxes input[type="checkbox"] {
    position: absolute;
    left: -9999px;
    margin: 0;
}
.input_wrap.checkboxes > label,
.input_wrap.checkboxes > .input_wrap > label {
    position: relative;
    display: block;
    margin: 0;
    padding-left: 30px;
    cursor: pointer;
    color: #545454;
}
.input_wrap.checkboxes > label::before {
    content: '';
    border: 1px solid #c7c7c7;
    background: #eaeaea;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 2px;
    left: 0;
    color: transparent;
}
.input_wrap.checkboxes > label::after {
    content: '\e948';
    font-family: icomoon;
    font-size: 12px;
    color: #545454;
    font-weight: 900;
    color: white;
    position: absolute;
    top: 6px;
    left: 4px;
    opacity: 0;
}
.input_wrap.checkboxes > label.__checked::before {
    background: #50be44;
    border-color: #50be44;
}
.input_wrap.checkboxes > label.__checked::after {
    opacity: 1;
}
.wpcf7-list-item-label { display:inline !important; font-weight:400; }
.submit_wrap {
    margin: 20px 0 0 0;
    position: relative;
}
.submit_wrap button {
    display: inline-block;
    border: none;
    text-align: center;
    text-decoration: none;
    font-size: 1.3em;
    background: #428BCA;
    color: #fff;
    text-transform: uppercase;
    padding: 25px;
    font-weight: 600;
    border-radius: 10px;
    width: 100%;
    margin: 0 0 30px 0;
}
.label_wrap label { color:#666CB1; }
.visible .label_wrap label { position:static; }

label.error { color:#C8453B; }
input.wpcf7-not-valid { border:1px solid #C8453B; background:url('../images/error-icon.png') no-repeat 98% center; -webkit-transition:border 0.3s; -moz-transition:border 0.3s; transition:border 0.3s; }
input.wpcf7-not-valid:focus,
textarea.wpcf7-not-valid:focus,
select.wpcf7-not-valid:focus { border-color:#666CB1; background:none; }
textarea.wpcf7-not-valid { border:1px solid #C8453B; background:url('../images/error-icon.png') no-repeat 98% 20px; -webkit-transition:border 0.3s; -moz-transition:border 0.3s; transition:border 0.3s; }
select.wpcf7-not-valid { border:1px solid #C8453B; -webkit-transition:border 0.3s; -moz-transition:border 0.3s; transition:border 0.3s; }

/* error feedback */
.screen-reader-response { margin:30px 0; }
.screen-reader-response ul { margin:15px 0 0; padding:20px; border:1px solid #C8453B; border-radius:9px; list-style:none; }
.screen-reader-response ul li { margin:10px 0 0; padding:0 0 0 25px; color:#C8453B; background:url('../images/error-icon.png') no-repeat 0 4px; }
.screen-reader-response ul li:first-child { margin-top:0; }

/* wpcf7 specific styles */
.wpcf7-form p { margin-top:25px; }
.wpcf7-form span { display:block; margin-top:10px; }
.wpcf7-not-valid-tip, .wpcf7-response-output, .screen-reader-response { font-weight:700; color:#C8453B; }

/* =====================================
HELPERS
======================================== */
.spaced { margin-bottom:30px !important; }
.confined { overflow:hidden !important; }
.padded { padding:20px !important; }
.shaded { background-color:#f5f5f5 !important; }
.clear { clear:both !important; float:none !important; }
.alignright { float:right !important; }
.alignleft { float:left !important; }
.aligncenter { text-align:center !important; }
.underlined { text-decoration:none !important; padding-bottom:0.3em !important; border-bottom:1px dotted #0088CC !important; }
.underlined:hover, .underlined:focus { border-bottom:1px solid #005580 !important; }
.nofloat { float:none !important; margin-left:0 !important; }
.inline { display:inline !important; }
.row-relative { position:relative; }

.no-gutter > [class*='col-'] { padding-right:0; padding-left:0; }
.no-gutter { padding:0 15px; }

/* functional classes */
.transbg { -webkit-transition:background 0.3s; -moz-transition:background 0.3s; transition:background 0.3s; }
.transcolor { -webkit-transition:color 0.3s; -moz-transition:color 0.3s; transition:color 0.3s; }

/* row horizontal */
@media (min-width:768px) {
.row-horizontal { white-space:nowrap; }
.row-horizontal div[class^="col-"] { float:none; display:inline-block; vertical-align:middle; white-space:normal; }
.row-horizontal div[class^="col-"] + div[class^="col-"] { margin-left:-3px; }
}
@media (min-width:992px) {
.row-horizontal-desktop { white-space:nowrap; }
.row-horizontal-desktop div[class^="col-"] { float:none; display:inline-block; vertical-align:middle; white-space:normal; }
.row-horizontal-desktop div[class^="col-"] + div[class^="col-"] { margin-left:-3px; }
}

/* =====================================
BUTTONS
======================================== */
.button { position:relative; display:inline-block; border:none; padding:10px 10px 11px; text-align:center; text-decoration:none !important; font-size:1.2em; }
input[type="submit"] { margin-bottom:30px; padding:20px 10px; border:none; border-radius:9px; width:100%; text-transform:uppercase; letter-spacing:0.03em; font-size:1.6em; font-weight:900; -webkit-transition:background 0.3s; -moz-transition:background 0.3s; transition:background 0.3s; }
.button-more { padding:10px 0; font-size:1.067em; font-weight:700; color:#61BCEB; }

input[type="submit"] { background:#4999D2; color:#fff; } input[type="submit"]:hover, input[type="submit"]:focus { background:#666CB1; color:#fff; }
.button { background:#428BCA; color:#fff; } .button:hover, .button:focus { background:#2A6496; color:#fff; }
.button-purple { background:#666CB1; } .button-purple:hover, .button-purple:focus { background:#4D5397; }
.button-blue { background:#61BCEB; } .button-blue:hover, .button-blue:focus { background:#33A8E5; }
.button-more { background:none; color:#61BCEB; } .button-more:hover, .button-more:focus { background:none; color:#33A8E5; }

@media (min-width:768px) {
.button { margin-left:32px; }
.submit_wrap button { margin-bottom:70px; }
.button-more { margin-left:0; }

.button:before, .button:after { content:''; position:absolute; top:0; height:43px; }
.button:before { left:-32px; width:32px; }
.button:after { right:-96px; width:96px; }

.button-purple:before { background:url('../images/button-purple-before.png') no-repeat; background-position:0 0;  }
.button-purple:after { background:url('../images/button-purple-after.png') no-repeat; background-position:0 0; }

.button-blue:before { background:url('../images/button-blue-before.png') no-repeat; background-position:0 0; }
.button-blue:after { background:url('../images/button-blue-after.png') no-repeat; background-position:0 0; }

.button-purple:hover:before, .button-purple:focus:before,
.button-blue:hover:before, .button-blue:focus:before { background-position:-32px 0; }
.button-purple:hover:after, .button-purple:focus:after,
.button-blue:hover:after, .button-blue:focus:after { background-position:-96px 0; }
}

/* breadcrumb */
.breadcrumb { display:none; padding:0; line-height:1.4em; background:none; font-size:1.067em; color:#AAA; }
.breadcrumb a { color:#AAA; }
.breadcrumb a:hover, .breadcrumb a:focus { text-decoration:underline; }

@media (min-width:768px) {
.breadcrumb { display:block; }
}

/* pagination */
.pagination-wrap { text-align:center; background:#222; }
.pagination { margin:20px 0; vertical-align:middle; border-radius:0; }
.pagination li { display:inline-block; padding:0; vertical-align:middle; background:none; }
.pagination li a,
.pagination li span { margin:0 0 0 30px; padding:7px 14px; background:none; color:#FFF; border-radius:50%; border:none; }
.pagination > li > a:focus, .pagination > li > a:hover,
.pagination > li > span:focus, .pagination > li > span:hover { padding:7px 13px; border:1px solid #666CB1; background:none;color:#FFF; }

.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover,
.pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover { padding:7px 14px; border:0; background:#666CB1; }

.pagination > li:first-child > a, .pagination > li:last-child > a,
.pagination > li:first-child > span, .pagination > li:last-child > span { padding:6px 10px; text-transform:uppercase; background:none !important; font-size:1.067em; font-weight:700; color:#fff !important; border-radius:0; }
.pagination > li:first-child > a:hover, .pagination > li:first-child > a:focus,
.pagination > li:last-child > a:hover, .pagination > li:last-child > a:focus { border:0 !important; background:none !important; color:#666CB1 !important; }
.pagination > li i { vertical-align:middle; font-size:25px; }
.pagination > li:first-child i { margin-right:10px; }
.pagination > li:last-child i { margin-left:10px; }

.pagination > .disabled > a, .pagination > .disabled > a:focus, .pagination > .disabled > a:hover,
.pagination > .disabled > span, .pagination > .disabled > span:focus, .pagination > .disabled > span:hover { border:0; background:none; color:#FFF; }

/* =====================================
MENUS
======================================== */
@media (min-width:768px) {
.mainmenu li { position:relative; display:inline; margin:0; padding:0; z-index:200; }
.mainmenu li a { position:relative; display:inline-block; margin-left:15px; padding:32px 10px; background:none; font-size:1.067em; color:#545454; }
.mainmenu li:first-child a { margin-left:0; }
.mainmenu > li > a:after, .mainmenu > li > a:after { content:''; position:absolute; right:15%; bottom:0; left:15%; display:block; opacity:0; height:6px; background:#666CB1; -webkit-transition:bottom 0.5s, opacity 0.3s; -moz-transition:bottom 0.5s, opacity 0.3s; transition:bottom 0.5s, opacity 0.3s; }
.mainmenu > li:hover > a:after, .mainmenu > li:focus > a:after { bottom:12px; opacity:1; }

.mainmenu li ul { display:none; position:absolute; left:15px; right:3px; margin:0 0 0 0; min-width:261px; }
.mainmenu li:last-child ul {right:0; left:initial; }
.mainmenu li ul li { display:block; }
.mainmenu li ul li a { display:block; margin:0; padding:22px 30px; border-radius:0; line-height:1em; text-align:left; background:#DDD; }
.mainmenu li ul li a:hover, .mainmenu li ul li a:focus { background:#666CB1; color:#FFF; }
.mainmenu li:hover ul, .mainmenu li:focus ul { display:block; }

.mainmenu li.current_page_item > a:after,.mainmenu li.current_page_parent > a:after { bottom:12px; opacity:1; }
}
@media (min-width:992px) {
.mainmenu-wrap { text-align:right; }
}

/* submenu */
.submenu-wrap { margin:20px 0 20px; }

@media (min-width:768px) {
.submenu-wrap { margin:0 -30px 20px 0; }
.submenu li { display:block; }
.submenu li a { position:relative; display:block; padding:19px 20px; background:none; font-size:1.2em; color:#666; }
.submenu li a:hover, .submenu li a:focus { color:#666CB1; }
.submenu li ul li { background:#DDD; }
.submenu li ul li a { padding-left:35px; }
.submenu li.current_page_item > a { position:relative; border-bottom:3px solid #666CB1; color:#666CB1; }
}

/* responsive menu */
@media (max-width: 767px) {
.menu-respond { text-align:left; }
.menu-respond a { display:block; line-height:1em; color:#545454; }
.menu-respond ul { margin:0; padding:0; list-style:none; }
.menu-respond ul li { margin:0; padding:0; }
.menu-respond ul li a { padding:14px 14px; }
.menu-respond ul li ul li a { background:#DDD; }
.menu-respond ul li.current_page_item > a { background:#666CB1; color:#FFF; }

.menu-collapse { display:none; }

.menu-toggle { position:relative; padding:18px 14px; border-top:1px dotted #CCC; border-bottom:1px dotted #CCC; }
.menu-toggle:after { content:"\ac"; position:absolute; right:14px; top:50%; margin-top:-16px; border-radius:4px; padding:6px; line-height:20px; background:rgba(255,255,255,0.2); font:20px 'icomoon'; }
}

@media (min-width:768px) {
.menu-toggle { display:none !important; }
.menu-toggle.visible { display:block !important; }
.menu-collapse { display:block !important; }
}

/* =====================================
HEADER
======================================== */
.header { padding:20px 10px; text-align:center; }
.header-logo { display:inline-block; margin:20px 0; }

@media (min-width:768px) {
.header { position:relative; padding:0; }
.header-logo { text-align:left; }
}
@media (min-width:768px) and (max-width:991px){
.header-logo { margin-bottom:0; }
}
@media (min-width:992px) {
.header-logo { margin:0; }
}

/* topbar */
.topbar { min-height:45px; }
.topbar-controls { float:right; }
.topbar-contact-number, .topbar-contact-number a { display:inline-block; font-size:1.067em; font-weight:700; color:#666CB1; }
.topbar-contact-number:before { content:'\e612'; margin-right:6px; vertical-align:middle; font:18px icomoon; }
.topbar-contact-button { display:inline-block; margin-left:20px; padding:12px 20px; background:#61BCEB; font-size:1.067em; color:#FFF; }
.topbar-contact-button:hover, .topbar-contact-button:focus { background:#33A8E5; color:#FFF; }

@media (min-width:768px) {
.topbar-contact-button { margin-left:40px; padding:12px 35px; }
}

/* =====================================
FOOTER
======================================== */
.footer-upper { background:#666CB1; }
.footer-lower { padding:20px 0; text-align:center; }

.footer-socialmedia { margin-bottom:20px; }
.footer-socialmedia-links { display:block; margin-bottom:10px; }
.footer-socialmedia-link { display:inline-block; margin-right:5px; color:#666CB1; }
.footer-socialmedia-link:hover, .footer-socialmedia-link:focus { color:#4D5397; }
.footer-socialmedia-link i { vertical-align:middle; font-size:35px; }
.footer-socialmedia-label { display:inline-block; margin-bottom:25px; vertical-align:middle; color:#545454; }
.footer-socialmedia-label.first { margin-right:15px; }

.footer-builtby { color:#545454; }
.footer-builtby:hover, .footer-builtby:focus { text-decoration:underline; color:#545454; }

@media (min-width:768px) {
.footer-socialmedia-links { display:inline-block; margin-bottom:0; }
.footer-socialmedia-label { margin-bottom:0; }
}
@media (min-width:992px) {
.footer-lower { text-align:left; }

.footer-socialmedia { margin:0 -22px 0 0; }

.footer-copyright { margin-left:-8px; text-align:right; }
.footer-builtby { margin-left:20px; }
}

/* underlinks */
.underlinks ul { padding:20px 0; text-align:center; }
.underlinks ul li { display:inline; }
.underlinks ul li a { display:inline-block; padding:10px; font-size:1.067em; color:#FFF; }

.underlinks ul li a:hover,.underlinks ul li a:focus { text-decoration:underline; }

@media (min-width:768px) {
.underlinks ul { padding:0; text-align:left; }
.underlinks ul li a { padding:22px 25px; border-right:1px solid #5860A8; }
.underlinks ul li:first-child a { border-left:1px solid #5860A8; }
}

/* =====================================
HOMEPAGE
======================================== */
.homepage-header { position:relative; padding:30px 0; text-align:center; }
.homepage-header:before { content:''; position:absolute; top:10px; bottom:10px; left:0; padding:12px 0; width:100%; background:url('../images/header-image-overlay.png'); }

.homepage-header-image { margin-bottom:25px; }

.homepage-header-text .usercontent h1 { color:#FFF; }
.homepage-header-text .usercontent h2 { text-transform:none; font-weight:400; color:#61BCEB; }
.homepage-header-text .usercontent p { color:#FFF; }

@media (min-width:768px) {
.homepage-header { text-align:left; }
.homepage-header-image { margin:0 -15px 0 0; }
.homepage-header-text { padding-left:15px; }
}
@media (min-width:992px) {
.homepage-header-text { padding-left:35px; }
}

/* homepage publications */
.homepage-publications { margin:35px 0; text-align:center; }
.homepage-publications-body { display:block; padding:35px; background:#DDD; }
.homepage-publications-title { position:relative; margin-bottom:25px; padding-bottom:25px; }
.homepage-publications-title:after { content:''; position:absolute; left:45%; right:45%; bottom:0; height:3px; background:#666CB1; }
.homepage-publications-strapline { display:block; margin-bottom:25px; font-size:1.467em; color:#545454; }
.homepage-publications-text { margin-bottom:30px; line-height:1.4em; font-size:1.067em; color:#545454; }

@media (min-width:768px) {
.homepage-publications { margin:70px 0; text-align:left; }
.homepage-publications-body { padding:40px 50px; }
.homepage-publications-title:after { left:0; bottom:0; width:40px; }
}

/* homepage-gallery */
.homepage-gallery { margin:35px 0; text-align:center; }
.homepage-gallery-title { color:#61BCEB; }
.homepage-gallery-text { position:relative; padding-bottom:30px; line-height:1.4em; font-size:1.067em; color:#545454; }
.homepage-gallery-text:after { content:''; position:absolute; bottom:0; left:45%; right:45%; height:3px; background:#61BCEB; }

.homepage-gallery-images { margin:35px 0; text-align:center; }
.homepage-gallery-image { position:relative; display:inline-block; border:2px solid #FFF; max-width:100%; }

.homepage-gallery-image-overlay { position:absolute; top:0; left:0; opacity:0; height:100%; width:100%; background:url('../images/header-image-overlay.png'); -webkit-transition:opacity 0.3s; -moz-transition:opacity 0.3s; transition:opacity 0.3s; }
.homepage-gallery-image-overlay i { position:absolute; top:50%; left:50%; display:block; margin:-35px 0 0 -35px; width:70px; height:70px; font:70px icomoon; color:#FFF; }
.homepage-gallery-image:hover .homepage-gallery-image-overlay, .homepage-gallery-image:focus .homepage-gallery-image-overlay { opacity:1; }

.homepage-gallery-image:focus { outline:none; }

@media (min-width:768px) {
.homepage-gallery { margin:70px 0; }
.homepage-gallery-images { margin:50px 0; }
}
@media (min-width:768px) and (max-width:991px){
.homepage-gallery-body { padding:0 75px; }
}
@media (min-width:992px) and (max-width:1199px){
.homepage-gallery-body { padding:0 150px; }
}
@media (min-width:1200px) {
.homepage-gallery-body { padding:0 245px; }
}

/* homepage featureboxes */
.homepage-featureboxes { margin:35px 0; text-align:center; }
.homepage-featurebox { position:relative; display:inline-block; }

.media .homepage-featurebox-body { background:url('../images/purple-90-overlay.png'); }
.inspirational-speaking .homepage-featurebox-body { background:url('../images/light-blue-90-overlay.png'); }
.blog .homepage-featurebox-body { background:url('../images/dark-blue-90-overlay.png'); }

.homepage-featurebox-body { position:absolute; right:0; bottom:0; left:0; padding:25px; width:100%; height:75px; text-align:left; overflow:hidden; color:#FFF; -webkit-transition:height 0.3s; -moz-transition:height 0.3s; transition:height 0.3s; }
.homepage-featurebox-title { margin-bottom:25px; font-size:1.467em; font-weight:700; }
.homepage-featurebox-title i { position:relative; top:-2px; display:inline-block; margin-left:8px; width:20px; height:20px; vertical-align:middle; overflow:hidden; }
.homepage-featurebox-title i:before { position:absolute; left:-20px; -webkit-transition:left 0.3s; -moz-transition:left 0.3s; transition:left 0.3s; }
.homepage-featurebox-text { opacity:0; line-height:1.4em; font-size:1.067em; -webkit-transition:opacity 0.3s; -moz-transition:opacity 0.3s; transition:opacity 0.3s; }
.homepage-featurebox:hover .homepage-featurebox-body, .homepage-featurebox:focus .homepage-featurebox-body { height:100%; }
.homepage-featurebox:hover .homepage-featurebox-text, .homepage-featurebox:focus .homepage-featurebox-text { opacity:1; }
.homepage-featurebox:hover .homepage-featurebox-title i:before, .homepage-featurebox:focus .homepage-featurebox-title i:before { left:0; }

@media (min-width:768px) {
.homepage-featureboxes { margin:70px 0; }
}
@media (min-width:768px) and (max-width:991px){
.homepage-featurebox-body { padding:15px; }
.homepage-featurebox-title { margin-bottom:10px; font-size:1.3em; }
}

/* homepage news feed */
.homepage-newsfeed { margin:35px 0; text-align:center; }
.homepage-newsfeed-title { margin-bottom:35px; color:#61BCEB; }
.homepage-newsfeed-title i { position:relative; top:-2px; margin-right:15px; vertical-align:middle; font-size:30px; }

.homepage-news-item { display:block; margin-bottom:45px; }
.homepage-news-item:hover .homepage-news-item-image-overlay, .homepage-news-item:focus .homepage-news-item-image-overlay { opacity:1; }
.homepage-news-item:hover .button-more, .homepage-news-item:focus .button-more { color:#33A8E5; }

/* Changed for the below by Dave .homepage-news-item-image { position:relative; display:inline-block; margin-bottom:15px; }*/
.homepage-news-item-image { position:relative; display:inline-block; margin-bottom:15px; max-width:100%; }
.homepage-news-item-image-overlay { position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; -webkit-transition:opacity 0.3s; -moz-transition:opacity 0.3s; transition:opacity 0.3s; }

.homepage-news-item-body { border-bottom:1px solid #DDD; padding-bottom:15px; }
.homepage-news-item-title { margin-bottom:15px; }
.homepage-news-item-text { margin-bottom:25px; line-height:1.4em; font-size:1.067em; color:#666; }

.homepage-tweet { margin-bottom:50px; line-height:1.4em; font-size:1.067em; }
.homepage-tweet a { font-weight:700; color:#61BCEB; }
.homepage-tweet a:hover, .homepage-tweet a:focus { text-decoration:underline; }

@media (min-width:768px) {
.homepage-newsfeed { margin:70px 0; text-align:left; }
.homepage-news-item-image { margin-bottom:0; }
.homepage-news-item-title { margin-bottom:35px; }
.homepage-twitter-feed { padding-left:65px; }
}
@media (min-width:768px) and (max-width:991px){
.homepage-twitter-feed { padding-left:15px; }
}

/* =====================================
PAGE BANNER
======================================== */
.page-banner { position:relative; min-height:185px; text-align:center; background:url('../images/header-image.jpg') no-repeat; background-position:50%; background-size:cover; }
.page-banner-overlay { position:absolute; top:0; left:0; width:100%; height:100%; background:url('../images/header-image-overlay.png'); }
.page-banner-title { position:relative; z-index:1; display:inline-block; margin:0; padding:70px 0; color:#FFF;  }


@media (min-width:768px) {
.page-banner-title { margin:0 130px; }
.page-banner-title:before { content:''; position:absolute; top:50%; left:-130px; background:#61BCEB; width:115px; height:1px; }
.page-banner-title:after { content:''; position:absolute; top:50%; right:-130px; background:#61BCEB; width:115px; height:1px; }
}

/* =====================================
PUBLICATIONS ITEM
======================================== */
.publications-item { margin:30px 0; border-top:2px solid #666CB1; border-bottom:2px solid #666CB1; padding:35px 0; }
.publications-item-image { margin-bottom:15px; text-align:center; }
.publications-item-quote { margin-bottom:30px; line-height:1.4em; font-size:1.2em; color:#545454; }
.paypal-buttons { margin:30px 0; }

@media (min-width:768px) {
.publications-item-image { margin-bottom:0; }
.paypal-buttons { margin:90px 0 0 0; }
}

/* =====================================
NEWS
======================================== */
.news-item { display:block; margin:45px 0; text-align:center; }
.news-item-date { margin:17px 0; padding-bottom:17px; border-bottom:1px dashed #DDD; font-size:0.933em; font-weight:900; color:#666; }
.news-item-date.no-border { border:0; }
.news-item-text { margin-bottom:10px; line-height:1.4em; font-size:1.067em; color:#666; }

.news-item-thumbnail { position:relative; display:inline-block; max-width:100%; margin-bottom:25px; }
.news-item-thumbnail-overlay { position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; -webkit-transition:opacity 0.3s; -moz-transition:opacity 0.3s; transition:opacity 0.3s; }
.news-item:hover .news-item-thumbnail-overlay, .news-item:focus .news-item-thumbnail-overlay { opacity:1; }

.news-item:hover .button-more, .news-item:focus .button-more { color:#33A8E5; }

.news-item-image { margin-bottom:30px; }

@media (min-width:768px) {
.news-item { margin:65px 0; text-align:left; }
.news-item-thumbnail { margin-bottom:0; }
}

.socialmedia-share-widget { display:inline-block; padding:12px 20px; border:1px solid #666CB1; border-radius:12px; }
.socialmedia-share-link { display:inline-block; margin-left:20px; color:#666; }
.socialmedia-share-link span { display:none; }
.socialmedia-share-link i { vertical-align:middle; font-size:35px; color:#666CB1; }
.socialmedia-share-link:hover, .socialmedia-share-link:focus { color:#666; }
.socialmedia-share-link:hover i, .socialmedia-share-link:focus i { color:#4D5397; }

@media (min-width:768px) {
.socialmedia-share-link span { display:inline; }
.socialmedia-share-link i { margin-right:10px; }
}

.textpage-navigation { margin-top:15px; text-align:center; background:#222; }
.textpage-navigation-button { display:block; padding:28px 10px; text-transform:uppercase; font-size:1.067em; font-weight:700; color:#fff; }
.textpage-navigation-button:hover, .textpage-navigation-button:focus { color:#666CB1; }
.textpage-navigation-button i { vertical-align:middle; font-size:25px; }
.textpage-navigation-button:first-child i { margin-right:10px; }
.textpage-navigation-button:last-child i { margin-left:10px; }

@media (min-width:768px) {
.textpage-navigation-button:first-child { float:left; }
.textpage-navigation-button:last-child { float:right; }
}

/* =====================================
GALLERY
======================================== */
.gallery-images { margin:30px 0; text-align:center; }
.gallery-image { position:relative; display:inline-block; max-width:100%; border:2px solid #FFF; }

.gallery-image-overlay { position:absolute; top:0; left:0; opacity:0; height:100%; width:100%; background:url('../images/header-image-overlay.png'); -webkit-transition:opacity 0.3s; -moz-transition:opacity 0.3s; transition:opacity 0.3s; }
.gallery-image-overlay i { position:absolute; top:50%; left:50%; display:block; margin:-35px 0 0 -35px; width:70px; height:70px; font:70px icomoon; color:#FFF; }
.gallery-image:hover .gallery-image-overlay, .gallery-image:focus .gallery-image-overlay { opacity:1; }

.gallery-image:focus { outline:none; }

/* =====================================
BLOG
======================================== */
.blog-item { position:relative; display:block; margin-bottom:40px; border-bottom:2px solid #DDD; text-align:center; -webkit-transition:border 0.3s; -moz-transition:border 0.3s; transition:border 0.3s; }
.blog-item:hover, .blog-item:focus { border-bottom-color:#61BCEB; }

.blog-item-thumbnail { position:relative; display:inline-block; }
.blog-item-thumbnail-overlay { position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; -webkit-transition:opacity 0.3s; -moz-transition:opacity 0.3s; transition:opacity 0.3s; }
.blog-item:hover .blog-item-thumbnail-overlay, .blog-item:focus .blog-item-thumbnail-overlay { opacity:1; }

.blog-item-body { padding:25px 10px; }
.blog-item-date { margin-bottom:20px; font-size:1.2em; font-weight:700; color:#61BCEB; }
.blog-item-title { margin-bottom:30px; text-transform:none; line-height:1.4em; font-size:1.467em; font-weight:700; color:#666; }

.blog-item .button-more { position:absolute; bottom:0; left:0; right:0; opacity:0; -webkit-transition:opacity 0.3s; -moz-transition:opacity 0.3s; transition:opacity 0.3s; }
.blog-item:hover .button-more, .blog-item:focus .button-more { opacity:1; color:#33A8E5; }

/* =====================================
CONTACT PAGE
======================================== */
.contact-page-title { margin-bottom:30px; color:#666CB1; }

.contact-info { margin:30px 0; }
.contact-info-details { margin:40px 0 60px; }
.contact-info-detail, .contact-info-detail a { position:relative; display:block; margin-bottom:15px; padding-left:40px; font-size:1.333em; color:#555; }
a.contact-info-detail:hover, a.contact-info-detail:focus,
.contact-info-detail:hover a, .contact-info-detail:focus a { text-decoration:underline; color:#666CB1; }

.contact-info-phone:before, .contact-info-email:before { position:absolute; left:0; font-family:icomoon; color:#666CB1; }
.contact-info-phone:before { content:'\e612'; font-size:20px; }
.contact-info-email:before { content:'\e611'; font-size:25px; }

@media (min-width:768px) {
.contact-info { margin:50px 0; }
.contact-info-details { margin:40px 0 80px; }
}

.paypal-button {text-align: center;}
