html,
body {
    font-family: 'Open Sans', sans-serif;
    font-size: 105%;
    height: 100%;
}

body {
    background-color: #f9f7f1;
    height: 100%;
    margin: 0;
}

h1,
h2,
p {
    margin: 0 0 .9em 0;
}

h1 {
    font-weight: 300;
    font-size: 6em;
    letter-spacing: -.04em;
    text-shadow: 5px 5px 6px rgba(0, 0, 0, 0.5);
}

h2 {
    font-size: 3em;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .2em;
}

h3 {
    font-size: 2.2em;
    letter-spacing: -.01em;
    font-weight: 200;
}

h4 {
    background-color: #4fa248;
    color: white;
    margin: 0;
    padding: 1em 1.7em;
    text-transform: uppercase;
    font-weight: 600;
}
h4 a:link {
    color: white;
}

section {
    display: block;
    clear: both;
}

address {
    font-style: italic;
}

#intro a {
    background: none;
    color: white;
    border: 2px solid;
    padding: 1em;
    border-radius: 2em;
    font-size: 1em;
    text-transform: uppercase;
    font-family: inherit;
    letter-spacing: .2em;
    text-decoration: none;
    transition-property: background-color;
    transition-duration: .5s;
    transition-timing-function: ease-out;
}

#intro a:hover {
    background-color: #a51b20;
}

nav {
    background-color: #f9f7f1;
    border-bottom: 10px solid #4fa248;
    position: fixed;
    padding: 6px 20px;
    right: 0;
    left: 0;
    z-index: 1000;
    box-shadow: 0px -15px 17px 17px black;
    opacity: .95;
    max-height: 110px;
    overflow: hidden;
}

#fixedMenu {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
}

.logo {
    width: 30%;
    display: inline-block;
    vertical-align: middle;
}

.logo img {
    width: 100%;
    max-width: 285px;
}

.menu {
    width: 68%;
    display: inline-block;
    text-align: right;
    vertical-align: middle;
    font-size: .9em;
}

.menu ul {
    display: block;
    list-style: none;
    text-align: right;
    padding: 0;
    width: 100%;
    vertical-align: middle;
}

.menu li {
    display: inline-block;
}

.menu p {
    display: inline;
}

.menu a {
    padding: 0 5px;
    border: 1px solid;
    text-decoration: none;
    color: black;
    font-weight: 200;
    letter-spacing: .03em;
    transition-property: background-color, color;
    transition-duration: .5s;
    transition-timing-function: ease-out;
}

.menu a:hover {
    background-color: #a51b20;
    color: white;
    transition-property: background-color, color;
    transition-duration: .5s;
    transition-timing-function: ease-out;
}

.menu a:active {
    background-color: #a51b20;
    color: white;
}

header .col-1-3,
header .col-2-3 {
    padding: 0;
}

figure {
    margin: 0;
}

figure img {
    width: 100%;
}

.gallery div {
    float: none;
    padding: 0;
    display: table-cell;
}

.gallery img {
    width: 100%;
    opacity: 1;
    position: relative;
    transition-property: opacity;
    transition-duration: .5s;
    transition-timing-function: ease;
    z-index: 3;
}

.gallery p {
    color: #a51b20;
    padding: 1em;
}

#intro {
    background-image: url(../_images/topbkg-1920.jpg);
    background-size: cover;
    color: white;
    text-align: center;
    padding: 190px 0 130px 0;
}

#intro h1 {
    margin-bottom: .15em;
}

#intro h2 {
    font-size: 1.8em;
    text-transform: uppercase;
    margin-bottom: .3em;
}

#intro article {
    display: inline-block;
    margin-bottom: 4em;
    vertical-align: top;
    width: 32%;
    padding: 3%;
}

#intro article img {
    margin-bottom: 1em;
}

#intro .grid {
    overflow: visible;
}

#tfl header,
#rem header,
#tflmag header,
#nw header,
#custom header,
#lifestyle header {
    margin-bottom: 2em;
}

#tfl header img,
#rem header img,
#tflmag header img,
#nw header img,
#custom header img,
#lifestyle header img {
    width: 100%;
}

header.mobile {
    display: none;
}

.callout {
    background-color: #a51b20;
    padding: 2em 1em .1em 1em;
}

.callout h1 {
    color: white;
    font-size: 1.2em;
    line-height: 1.3em;
    text-shadow: none;
}

.callout span {
    font-size: 2.5em;
    font-weight: 600;
}

.container {
    margin: auto;
    max-width: 1170px;
}

.container:after {
    clear: both;
}

.testimonials {
    width: 100%;
    overflow: auto;
    padding: 0 100px img;
    /* padding-border-radius: 50%;
    padding-float: left;
    padding-margin: 0 1em 0 0;
    padding-max-width: 180px;
    padding-box-shadow: 0px 0px 14px 3px rgba(0, 0, 0, 0.3); */
}

.testimonials p {
    font-size: 1.2em;
    font-weight: 100;
    line-height: 1.5em;
}

.testimonials .testimonial {
    padding: 40px;
}

.tfl .testimonials {
    background-color: #e2fcc2;
}

.tflmag .testimonials {
    background-color: #a3d6eb;
}

.tfl {
    background-color: rgba(226, 252, 194, 0.5);
}

.rem {
    background-color: rgba(224, 210, 240, 0.5);
}

.custom {
    background-color: rgba(255, 211, 191, 0.5);
}

.custompublication {
    background-color: rgba(255, 243, 193, 0.5);
}

.tflmag {
    background-color: rgba(163, 214, 235, 0.5);
}

#syndication {
    padding-bottom: 1rem;
}

.email {
    background-color: rgba(238, 194, 194, 0.5);
}

#sec8 {
    padding: 6em 0;
}

.contact {
    background-image: url(../_images/contactbkg.jpg);
    background-size: cover;
    color: white;
    text-align: center;
}

.contact h3 {
    margin: .5em 0;
}

.contact a {
    color: rgba(226, 252, 194, 0.5);
    text-decoration: none;
}

footer {
    border-top: 10px solid #4fa248;
    color: black;
    padding: 1.5em 0;
}

footer .social {
    padding: 1.2em 0;
}

footer .social i {
    margin-right: .2em;
}

.fa-facebook-official {
    color: #3b5999;
}

.fa-twitter {
    color: #55acee;
}

.fa-pinterest {
    color: #bd081c;
}

.fa-tumblr {
    color: #35465c;
}

.fa-instagram {
    color: #3f729b;
}

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

    a,
    a:visited {
        text-decoration: underline;
    }

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

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

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

    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;
    }
}

.hidden {
    opacity: 0;
}

.visible {
    opacity: 1;
}

@media handheld,
only screen and (max-width: 979px) {
    nav {
        max-height: none;
        text-align: center;
    }

    .logo {
        width: 100%;
    }

    .logo img {
        width: 40%;
    }

    .menu {
        width: 100%;
    }

    .menu ul {
        margin: 1em 0;
        text-align: center;
    }

    body.retail.custom .grid {
        padding-left: 20px;
        padding-right: 10px;
    }

    body.retail.natural .grid {
        padding: 0 20px;
    }

    .gallery div {
        max-width: 325px;
    }

    h1 {
        font-size: 4em;
    }
}

@media handheld,
only screen and (max-width: 767px) {
    h1 {
        font-size: 3em;
    }

    h3 {
        font-size: 1.7em;
    }

    nav {
        padding: 6px 0;
    }

    .logo img {
        width: 50%;
    }

    #intro {
        padding: 215px 0 130px 0;
    }

    #intro article {
        width: 100%;
    }

    header.mobile {
        display: block;
    }

    header.desktop {
        display: none;
    }

    figure img {
        display: block;
        margin: 0 auto;
        width: 60%;
    }

    .gallery img {
        width: 100%;
    }

    .gallery div {
        display: block;
        margin-top: 0;
        max-width: 100%;
    }

    .testimonials {
        padding: 0 30px;
    }

    .testimonials .testimonial {
        padding: 2em 0;
    }

    .testimonials .testimonial img {
        display: block;
        float: none;
        margin: auto auto 1em auto;
        max-width: none;
    }

    footer {
        text-align: center;
    }
}

@media handheld,
only screen and (max-width: 700px) {
    #intro {
        background: #0f200e;
        background: -moz-linear-gradient(top, #0f200e 0%, #173015 50%, #0f200e 100%);
        background: -webkit-linear-gradient(top, #0f200e 0%, #173015 50%, #0f200e 100%);
        background: linear-gradient(to bottom, #0f200e 0%, #173015 50%, #0f200e 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0f200e', endColorstr='#0f200e', GradientType=0);
    }

    #tfl header,
    #rem header,
    #tflmag header,
    #nw header,
    #custom header,
    #lifestyle header {
        margin: 0;
    }

    .menu ul {
        display: block;
        margin: 0.5em 0;
        width: 100%;
    }

    .menu li,
    .menu p {
        font-size: .85em;
        line-height: 2em;
    }

    .col-5-12 {
        margin-bottom: 0;
    }
}