
:root {
    --primary: #b10057;
    --primary-rgb: 177, 0, 87;
    --primary-active: #c35587;
    --secondary: #908271;
    --secondary-rgb: 144, 130, 113;
    --secondary-active: #b0a79b;
    --tertiary: #e9e6e2;
    --tertiary-rgb: 233, 230, 226;
    --nav-text-color: #000;
    --body-text-color: #000;
}

/*-----------------------------------------------------------------------------------------------*/

@font-face {
  font-family: 'DIN';
  src: url(../../fonts/DINRegular.ttf) format('truetype'),
       url(../../fonts/DINRegular.woff2) format('woff2'),
       url(../../fonts/DINRegular.woff) format('woff');
}

@font-face {
  font-family: 'DIN_Bold';
  src: url(../../fonts/DINBd__.ttf) format('truetype'),
       url(../../fonts/DINBd__.woff2) format('woff2'),
       url(../../fonts/DINBd__.woff) format('woff');
  font-weight: bold;
}

@font-face {
  font-family: 'TrajanPro';
  src: url(../../fonts/TrajanPro-Regular.otf) format('opentype');
}

@font-face {
  font-family: 'TrajanPro_Bold';
  src: url(../../fonts/TrajanPro-Bold.otf) format('opentype');
}

/*-----------------------------------------------------------------------------------------------*/

h1 { 
    margin: 1.5rem 0rem;
    color: var(--primary);
    font-weight: normal; 
    font-size: 3em; 
    line-height: 1.05em; 
}

h1.alternate-color {
    color: var(--secondary);
}

h2 { 
    margin: 1.5rem 0rem 1rem 0rem;
    color: var(--secondary);
    font-weight: normal;   
    font-size: 2.5em; 
    line-height: 1.25em; 
}

h2.alternate-color {
    color: var(--primary);
}

h3 { 
    margin: 1.25rem 0rem 1rem 0rem;
    color: var(--primary);
    font-weight: normal;   
    font-size: 2em; 
    line-height: 1.25em; 
}

h3.alternate-color {
    color: var(--secondary);
}

h4 {
    margin: 1.25rem 0rem 1rem 0rem;
    color: var(--secondary);
    font-weight: normal; 
    font-size: 1.5em;
    line-height: 1.5em;
}

h4.alternate-color {
    color: var(--primary);
}

h1.alternate-font,
h2.alternate-font,
h3.alternate-font,
h4.alternate-font {
    font-family: 'TrajanPro', 'Barlow', Arial, Helvetica, Tahoma, Geneva, Verdana, Sans-Serif;
}

h1 strong,
h2 strong,
h3 strong,
h4 strong {
    font-weight: normal;
    color: #393939;
}

p {
    margin: 1rem 0rem;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
p:first-child {
    margin-top: 0px;
}

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
p:last-child {
    margin-bottom: 0px;
}

a:link,
a:active,
a:visited {
    text-decoration: none;
}

a {
    color: var(--primary);
    transition: color 0.3s linear;
}

a:hover {
    color: #000;
}

a img {
    border: 0px;
}

a.pdf {
    display: inline-block;
    padding-left: 22px;
    background: url('../../images/pdf.png') left 2px no-repeat;
}

a.word {
    display: inline-block;
    padding-left: 22px;
    background: url('../../images/doc.png') left 2px no-repeat;
}

/*-----------------------------------------------------------------------------------------------*/

[class^="core_btn_"] {
    position: relative;
    padding: 10px 15px;
    margin: 0;
    text-decoration: none !important;
    display: inline-block;
    border: 0;
    border-radius: 0;
    text-align: center;
    cursor: pointer;
    color: #fff !important;
    line-height: 1.2em;
    z-index: 1;
    transition: background 0.3s linear;
}

.core_btn_primary {
    background: var(--primary);
}

.core_btn_primary:focus,
.core_btn_primary:hover {
    background: var(--primary-active);
}

.core_btn_secondary {
    background: var(--secondary);
}

.core_btn_secondary:focus,
.core_btn_secondary:hover {
    background: var(--secondary-active);
}

[class^="core_btn_"] + [class^="core_btn_"] {
    margin-left: 15px;
}

/*-----------------------------------------------------------------------------------------------*/

.caption_widget {
    padding: 10px;
    display: inline-block;
}

.caption_widget.align-right {
    float: right;
    padding-right: 0;
    margin-left: 10px;
}

.caption_widget.align-left {
    float: left;
    padding-left: 0;
    margin-right: 10px;
}

.caption_widget.align-center {
    margin: 0 auto;
    display: block;
    clear: both;
}

    .caption_widget .caption_image {
        min-width: 100px;
        min-height: 100px;
        background: #d7d7d7;
    }

    .caption_widget .caption_image p,
    .caption_widget .caption_image img {
        width: 100% !important;
        height: auto !important;
    }

    .caption_widget .caption_text {
        min-width: 100px;
        background: #d7d7d7;
        padding: 2px;
        margin: 5px 0 0;
    }

/*-----------------------------------------------------------------------------------------------*/

.clearer {
    clear: both;
    height: 0px;
    overflow: hidden;
    font-size: 0px;
    line-height: 0px;
}

.clear:after {
    content: " ";
    clear: both;
    display: block;
}

hr {
    height: 1px;
    overflow: hidden;
    color: #666666;
    border: none;
    background-color: #666666;
}

.spacer {
    margin-top: 15px;
    margin-bottom: 15px;
}

.spacer_top {
    margin-top: 15px;
}

.spacer_bottom {
    margin-bottom: 15px;
}

.padder {
    padding-left: 15px;
    padding-right: 15px;
}

.padder_left {
    padding-left: 15px;
}

.padder_right {
    padding-right: 15px;
}

.nopadding {
   padding: 0px !important;
}

.nopadding_right {
   padding-right: 0px !important;
}

.nopadding_left {
   padding-left: 0px !important;
}

.push_right {
    float: right;
}

.push_left {
    float: left;
}

img.alignright {
	float: right;
	margin-left: 20px;
	margin-bottom: 4px;
	display: block;
}

img.alignleft {
	float: left;
	margin-right: 20px;
	margin-bottom: 4px;
	display: block;
}

img.aligncenter {
	text-align: center;
	margin: 1em auto 5px auto;
	clear: both;
	display: block;
}

img.fullwidth {
	margin: 0px;
	display: block;
}

/*-----------------------------------------------------------------------------------------------*/

html {
    font-size: 16px;
}

body {
    margin: 0px;
    color: #000000;
    font-size: 1rem;
    line-height: 1.5em;
    font-family: 'Barlow', Arial, Helvetica, Tahoma, Geneva, Verdana, Sans-Serif;
}

body > form {
    margin: 0px;
}

.blur {
    -webkit-filter: blur(7px);
    -moz-filter: blur(7px);
    filter: blur(7px);
}

/*-----------------------------------------------------------------------------------------------*/

.flex_container {
    display: flex;
}

/*-----------------------------------------------------------------------------------------------*/

#header {
    padding: 30px 0 0;
}

#header .container {
    position: relative;
}

#header .logo {
    display: inline-block;
    line-height: 0;
}

#header .header_main_section {
    background: #fff;
}

#header .header_flex_logo {
    flex-basis: 30%;
    padding: 60px 30px 30px;
    background: var(--tertiary);
    margin: -30px 0;
    z-index: 9;
}

#header .header_flex_options {
    flex-basis: 70%;
    padding: 0 0 0 60px;
}

#header .header_flex_options {
    display: flex;
    flex-direction: column;
}

#header .header_flex_options .header_options,
#header .header_flex_options .header_strapline {
    height: 100%;
    text-align: right;
}

#header .header_flex_options .header_options > a {
    padding: 0 15px;
    display: inline-block;
    font-size: 1rem;
    line-height: 1.2rem;
    color: #000;
    transition: color 0.3s linear;
}

#header .header_flex_options .header_options > a:focus,
#header .header_flex_options .header_options > a:hover {
    color: var(--primary-active);
}

#header .header_flex_options .header_options > a + a {
    border-left: 1px solid #000;
}

#header .header_flex_options .header_options > a:last-of-type {
    padding: 0;
    border: 0;
}

#header .header_flex_options .header_strapline {
    display: flex;
    align-items: center;
}

#header .header_flex_options .header_strapline .header_title,
#header .header_flex_options .header_strapline .header_menu_option {
    flex-grow: 1;
}

#header .header_flex_options .header_strapline .header_title {
    text-align: left;
}

#header .header_flex_options .header_strapline .header_title span {
    display: block;
    font-size: 1.5em;
    line-height: 1em;
    margin: 15px 0;
    color: var(--secondary);
}

/*-----------------------------------------------------------------------------------------------*/

.header_ticker_section {
    background: #f1f0ee;
    padding: 10px 0;
    margin: -30px 0 30px;
}

.header_ticker_section .flex_container {
    justify-content: right;
}

.header_flex_ticker_label,
.header_flex_ticker {
    display: flex;
    min-height: 30px;
    align-items: center;
}

.header_flex_ticker_label {
    width: 140px;
    color: var(--primary);
    font-size: 1.5em;
    font-weight: 700;
}

.header_flex_ticker {
    width: calc(100% - 140px);
    padding: 0 0 0 15px;
}

.header_flex_ticker li {
    font-weight: 400;
    font-size: 1.5em;
}

.header_flex_ticker > div {
    width: 100%;
}

/*-----------------------------------------------------------------------------------------------*/

#content {
    padding: 30px 0 0;
    overflow: hidden;
}

.lower_banner {
    position: relative;
    padding: 60px 0 30px;
    background-color: var(--secondary);
    color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 100px;
    overflow: hidden;
}

.lower_banner .container {
    position: relative;
}

.lower_banner .container h1 {
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 3.5em;
    line-height: 1em;
}

.lower_banner .container p {
    padding: 15px 0 0;
    margin: 0;
    font-size: 1.4em;
    line-height: 1em;
}

/*-----------------------------------------------------------------------------------------------*/
/*Carousel Wdiget*/
.carousel_btn img{
    max-width: 150px;
}

/*-----------------------------------------------------------------------------------------------*/

.breadcrumb {
    padding: 0px;
    background-color: transparent;
}

.breadcrumb > li + li:before {
    color: #000000;
}

.breadcrumb > .active {
    color: #000000;
}

/*-----------------------------------------------------------------------------------------------*/

#footer {
    padding: 30px 0;
    color: #000;
    font-size: 0.8em;
    background-color: #f9f9f7;
}

#footer .footer_separator {
    padding: 0px 10px;
}

#footer a {
    color: #000;
    transition: color 0.3s linear;
}

#footer a:hover,
#footer a:hover {
    color: var(--primary-active);
}

#footer .footer_logos {
    flex-basis: 30%;
}

#footer .footer_logos img {
    display: inline-block;
    width: 45%;   
}

#footer .footer_logos img + img {
    margin: 0 0 0 15px;
}

#footer .footer_details {
    display: flex;
    flex-basis: 70%;
    flex-direction: column;
    justify-content: end;
}

#footer .footer_contact {
    padding: 0 0 30px;
}

#footer .footer_links {
    display: flex;
    text-align: right;
}

#footer .footer_links > div {
    padding: 0 15px;
    flex-grow: 1;
}

#footer .footer_links > div:last-of-type {
    padding-right: 0;
}

#footer .footer_links a + a {
    margin: 0 0 0 5px;
}

#footer .footer_links a svg {
    fill: var(--primary);
    transition: fill 0.3s linear;
}

#footer .footer_links a:focus svg,
#footer .footer_links a:hover svg {
    fill: var(--primary-active);
}