@font-face {
    font-family: 'librefranklin';
    src: url('../fonts/LibreFranklin-Regular.woff2') format('woff2'),
        url('../fonts/LibreFranklin-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'librefranklin';
    src: url('../fonts/LibreFranklin-Light.woff2') format('woff2'),
        url('../fonts/LibreFranklin-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'librefranklin';
    src: url('../fonts/LibreFranklin-Medium.woff2') format('woff2'),
        url('../fonts/LibreFranklin-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'librebaskerville';
    src: url('../fonts/LibreBaskerville-Italic.woff2') format('woff2'),
        url('../fonts/LibreBaskerville-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}


html {
    -webkit-text-size-adjust: 100%; 
}

html, body {
    height: 100%;
}

body {
    background: #ffffff; 
    font-size: 14px;
    line-height: 20px;
    font-family: 'librefranklin', Verdana, Geneva, Arial, Helvetica, sans-serif;
    font-weight: normal;
    color: #4d4d4d;
    margin: 0px;
    letter-spacing: 0;
    width: 100%;
    position: relative;
}

a:link {  text-decoration: none; color: #448aab;transition: all 0.5s ease-in-out 0s;}
a:active {  text-decoration: none; color: #448aab;}
a:visited {  text-decoration: none; color: #448aab;}
a:hover {  text-decoration: underline; color: #ea8e00;}

.no-link-show a:link, .no-link-show a:active, .no-link-show a:visited{
    color: #4d4d4d;
}

.clearer {
display: block!important;
margin: 0!important;
padding: 0!important;
clear: both!important;
line-height: 0!important;
font-size: 0!important;
height: 0!important;
}

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}


/* definitions */
strong{
    font-weight: 500;
}

.full-wrap{
    width: 100%;
}

.column img{
    width: 100%;
}

.container{
    width: 100%;
    max-width: 1200px;
    margin: 0;
    padding-left: 0;
}

.row{
    margin-left: 0px;
    margin-right: 0px;
}

.header-front{
    background: #448aab;
}

.logo-front img{
    margin: 0px auto;
    max-width: 500px;
    padding: 220px 0px 220px 0px;
}

.header{
    display: block;
    background: #448aab;
    padding: 55px 0px 50px 0px;
}

.menu-bg{
    display: block;
    background: #c4ddec;
    padding: 10px 0px 2px 0px;
    margin-top: 4px;
    min-height: 40px;
}

.logo{
    padding: 0px 0px 0px 0px;
}

.logo img{
    width: 50%;
    margin: 10px auto 0px auto;
    /*max-width: 300px;*/
}

.slogan img{
    width: 80%;
    margin: 10px 0px 0px 0px;
}

.nav-toggle {
  cursor: pointer;
  height: 1.8rem;
  right: 2rem;
  position: absolute;
  top: 2rem;
  width: 1.9rem;
  z-index: 2;
  display: block;
}
.nav-toggle:hover {
  opacity: 0.8;
}
.nav-toggle .nav-toggle-bar,
.nav-toggle .nav-toggle-bar::after,
.nav-toggle .nav-toggle-bar::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #ffffff;
  content: "";
  height: 0.2rem;
  transition: all 0.5s;
  width: 100%;
}
.nav-toggle .nav-toggle-bar {
  margin-top: 0;
}
.nav-toggle .nav-toggle-bar::after {
  margin-top: 0.8rem;
}
.nav-toggle .nav-toggle-bar::before {
  margin-top: -0.8rem;
}
.nav-toggle.expanded .nav-toggle-bar {
  background: transparent;
}
.nav-toggle.expanded .nav-toggle-bar::after, .nav-toggle.expanded .nav-toggle-bar::before {
  background: #ffffff;
  margin-top: 0;
}
.nav-toggle.expanded .nav-toggle-bar::after {
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.nav-toggle.expanded .nav-toggle-bar::before {
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.nav {
  background: #c4ddec;
  color: #ffffff;
  cursor: pointer;
  display: flex;
  font-size: 2rem;
  height: 20rem;
  right: 0rem;
  padding: 2rem 2rem 2rem 2rem;
  position: fixed;
  top: -20rem;
  transition: all 0.5s;
  width: 100%;
  z-index: 1;
}
.nav.expanded {
  top: 0;
}
.nav ul {
  list-style: none;
  margin: auto 0;
  padding: 0;
}

.nav ul li{
    margin: 5px 0px 5px 0px;
}

.nav ul li a{
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
    color: #448aab;
}

.nav ul li a:hover, .nav ul li a.current{
    color: #fff;
    text-decoration: none;
}

.menu{
    display: none;
}

.menu ul{
    margin: 0px 0px 0px 0px;
    padding: 0;
    list-style-type: none;
}

.menu ul li{
    float: left;
    margin-right: 30px;
}

.menu ul li a{
    color: #448aab;
    font-size: 15px;
    line-height: 24px;
    font-weight: 500;
}

.menu ul li a:hover, .menu ul li a.current{
    color: #fff;
    text-decoration: none;
}

.content{
    padding: 10px 20px 80px 25px;
}

.left-side{
    padding: 0px 0px 0px 0px;
}

.left-side .portrait img{
    width: 100%;
    margin: 0px;
}

.mobile-column{
    width: 48%;
    float: left;
}

.mobile-column-no-pic{
    width: 100%;
}

.content h1{
    font-weight: 400;
    font-size: 30px;
    line-height: 40px;
    letter-spacing: 1px;
    margin: 20px 0px 30px 0px;
    padding: 0;
    color: #ea8e00;
}

.content h2, h3{
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    letter-spacing: 1px;
    padding: 15px 0px 5px 0px;
    margin: 0;
    color: #ea8e00;
}

.content p{
    padding: 10px 0px 10px 0px;
    letter-spacing: 1px;
    font-weight: 300;
}

.content ul{
    list-style-type: square;
    padding: 10px 0px 10px 0px;
    margin: 0;
}

.content li{
    letter-spacing: 1px;
    font-weight: 300;
    margin: 8px 0px 8px 24px;
    padding: 0;
}

.contact-info{
    text-align: left;
    margin: 20px 0px 0px 0px;
    padding-left: 30px;
}

.contact-info-no-pic{
    margin: 20px 0px 0px 0px;
}

.contact-info p{
    padding: 10px 0px 10px 0px;
}

.quote{
    text-align: right;
    color: #448aab;
    margin: 36px 0px 50px 0px;
    display: none;
    font-family: 'librebaskerville', sans-serif;
    font-style: italic;
}

.footer{
    display: block;
    margin: 90px 0px 0px 0px;
    padding: 0px 20px 0px 20px;
}

.footer-menu{
    font-size: 12px;
    line-height: 14px;
    font-weight: 400;
}

.footer-menu a{
    font-size: 12px;
    line-height: 14px;
    font-weight: 400;
    color: #4d4d4d;
}

.footer-menu a:hover{
    color: #ea8e00;
    text-decoration: none;
}

@media screen and (min-width: 760px) {
    .content{
        padding: 55px 0px 80px 0px;
    }
    .mobile-column{
        width: 100%;
        float: none;
    }
    .logo{
        padding: 0px 50px 0px 0px;
    }
    .left-side{
        padding: 80px 50px 0px 0px;
    }
    .left-side .portrait img{
        width: 100%;
        margin: 0px;
    }
    .footer{
        padding: 0px;
    }
    .logo img{
        width: 35%;
        margin: 10px auto 0px auto;
    }
    .slogan img{
        width: 45%;
        margin: 10px 0px 0px 0px;
    }
    .contact-info{
        text-align: right;
        padding-left: 0px;
    }
    .contact-info-no-pic{
        margin: 0px;
    }
}

@media screen and (min-width: 1000px) {
    .logo{
        padding: 0px 100px 0px 0px;
    }
    .content{
        padding: 130px 0px 80px 0px;
    }
    .logo img{
        width: 25%;
        margin: 10px auto 0px auto;
    }
    .slogan img{
        width: 40%;
        margin: 10px 0px 0px 0px;
    }
    .nav-toggle{
        display: none;
    }
    .quote{
        display: block;
    }
    .left-side{
        padding: 27px 110px 0px 0px;
    }
    .menu{
        display: block;
    }
}

@media screen and (min-width: 1050px) {
    
}