.hero {
    background-size: cover;
}

.hero.dark {

}

.hero .inner.row {
    padding: 130px 0;
}

.hero.light a.secondary.button {
    color: #000;
}
.hero.light a.secondary.button:hover {
    color: #111;
}


.intro.dark, .subtitle.dark {
    background-color: #000;
    color: #fff;
}

.intro.gray, .subtitle.gray {
    background-color: #aaa;
    color: #fff;
}

.intro.subtitle.left {
    text-align: left;
}

.intro.subtitle.center {
    text-align: center;
}

.intro.subtitle.right {
    text-align: right;
}

.subtitle h2 {
    margin-top: 3em;
    margin-bottom: 3em;
    display: block;
}

.subtitle.left {
    text-align: left;
}

.subtitle.center {
    text-align: center;
}

.subtitle.right {
    text-align: right;
}

.intro.light h3 {
    font-family: proxima-nova;
    font-weight: 600;
}

.intro h4 {
    margin-bottom: 20px;
}

.intro p {
    margin-bottom: 2em;
}

.intro.columns-2 .container .row > div:nth-child(2n+1),
.intro.columns-3 .container .row > div:nth-child(3n+1),
.intro.columns-4 .container .row > div:nth-child(4n+1),
.intro.columns-6 .container .row > div:nth-child(6n+1) {
    clear: both;
}

.textblock.center { 
    max-width: 1070px;
    margin-right: auto;
    margin-left: auto;
}

.textblock.center .intro-text, 
.textblock.center.has-image .intro-text { 
    padding: 0;
    width: 100%;
    max-width: 713px;
}
.textblock.center.has-image .intro-text {
    margin-top: 60px;
}
.textblock.center.has-image .intro-img {
    margin: auto;
    width: auto;
    max-width: 100%;
}
.intro.center .intro-img {
    max-width: 100%;
    display: flex;
}
.intro.center .intro-img img {
    margin: auto;
}
.intro.center .intro-text, .intro.center.has-image .intro-text {
    width: 100%;
    max-width: 720px;
}
.textblock .textblock-content {
    width: 100%;
    max-width: 1170px;
    margin: 3em auto;
}
.textblock:not(.has-image) {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
}
.textblock:not(.has-image) .intro-text {
    padding: 0;
}
.textblock.center {
    max-width: 713px;
}
.textblock.center .textblock-content {
    max-width: 713px;
    margin: 3em 0;
}
.textblock.left .textblock-content {
    max-width: 713px;
    margin: 3em 0;
}
.textblock.right .textblock-content {
    max-width: 713px;
    margin-right: 0;
}

.textblock.has-image .textblock-content {
    display: flex;
    width: 100%;
    align-content: center;
}
.textblock.center.has-image .textblock-content {
    flex-direction: column;
}


.textblock.has-image.left .textblock-content {
    flex-direction: row;
    width: 100%;
    max-width: 100%;
}

.textblock.has-image.right .textblock-content {
    flex-direction: row-reverse;
    width: 100%;
    max-width: 100%;
}

.textblock.has-image .intro-img,
.textblock.has-image .intro-text {
    width: 50%;
}

.textblock.has-image.left .intro-text {
    max-width: 585px;
    margin: auto auto auto 0;
}

.textblock.has-image.right .intro-text {
    max-width: 585px;
    margin: auto 0 auto auto;
}


.intro.left .intro-img img,
.intro.right .intro-img img {
    width: auto;
    height: auto;
    max-width: 100%;
}

/*.intro.left .intro-text {
    margin-right: 50%;
}

.intro.right .intro-text {
    margin-left: 50%;
}

.intro:not(.has-image) .intro-text { 
    padding-right: 0;
}
.intro.has-image .intro-text {
    width: 50%;
    max-width: 500px;
}
.intro.left.has-image .intro-text {
    margin-left: 50%;
    margin-right: 0;
    padding: 0 0 0 5em;
}

.intro.right.has-image .intro-text {
    margin-left: 0;
    margin-right: 50%;
    padding: 0;
    padding: 0 2em 0 5em;
}*/

.intro .row.cards > div {
    margin-bottom: 3em;
}

.gallery-container .image-gallery.columns-1 {
    width: 100%;
}

.gallery-container .image-gallery.columns-2 {
    width: 585px;
    height: 340px;
}

.gallery-container .image-gallery.columns-4 {
    width: 280px;
    height: 280px;
}

.gallery-container .image-gallery.columns-6 {
    width: 180px;
    height: 170px;
}

.gallery-container .light .cover .gallery-label,
.gallery-container .light .gallery-text,
.gallery-container .light .gallery-text p,
.gallery-container .gray .cover .gallery-label,
.gallery-container .gray .gallery-text,
.gallery-container .gray .gallery-text p {
    color: #3a3a3a;
}

.gallery-container.dark .gallery-label,
.gallery-container.dark .gallery-text,
.gallery-container.dark .gallery-text p {
    color: #fff;
}

.gallery-container .gallery-item .cover .gallery-label .gallery-text,
.gallery-container .gallery-item .cover .gallery-label .gallery-text p {
    font-size: 12px;
    line-height: 30px;
}


.callout-container.center .callout {
    max-width: 100%;
    text-align: center;
    padding-left: 10%;
    padding-right: 10%;
}

.callout-container.left .callout {
    padding-left: 104px;
}

.callout-container.right .callout {
    padding-right: 5%;
    padding-left: 50%;
    text-align: right;
}

.callout-container.shadow .callout {
    box-shadow: 0 6px 24px 0 rgba(0, 0, 0, 0.06);
}


.callout-container.dark,
.callout-container.gray,
.callout.dark,
.callout.gray,
.callout-container.dark h2,
.callout-container.gray h2,
.callout.dark h2,
.callout.gray h2 {
    color: #fff;
}

.callout-container.light,
.callout.light,
.callout-container.light h2,
.callout.light h2 {
    color: #111;
}

.callout-container .callout a {
    display: inline-block;
    color: #ffffff;
    background-color: transparent;
    font-family: proxima-nova;
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-top: 17px;
    padding-left: 20px;
    padding-right: 20px;
    align-self: center;
}
.callout-container.left .callout h2,
.callout-container.left .callout a,
.callout-container.right .callout h2,
.callout-container.right .callout a {
    padding-left: 0;
    text-align: left;
    align-self: start;
}

.callout-container .callout a:after {
    content: "\e079";
    display: inline-block;
    font-family: 'simple-line-icons';
    font-size: 20px;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -4px;
    margin: auto 0 auto 8px;
    -webkit-font-smoothing: antialiased;
}

.callout-container.buttons .callout a {
    background-color: #5856d6;
    font-size: 13px;
    letter-spacing: 1.86px;
}

.callout-container.buttons .callout a:after {
    content: '';
    display: none;
}

.callout-container.gray a,
.callout.gray a,
.callout-container.light a,
.callout.light a {
    color: #5856D6;
}

.callout-container.light .callout a:hover {
    
}
