


/* ------------------------ BASE -------------------------------*/


/*
 * Font smoothing 
 * http://www.icondeposit.com/blog:how-to-properly-smooth-font-using-css3
 * http://stackoverflow.com/questions/8053389/how-to-reduce-font-weight-in-firefox-on-mac-with-css
 */

html,
html a {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
}

/* ------------------------ LINK Styles -------------------------------*/

a {
    color: var(--dark_green);
    text-decoration: underline;
    transition: all 250ms ease-in-out; 
}

a:hover {
    color: var(--yellow);
    text-decoration: none;
}


/* ------------------------ TYPE Styles -------------------------------*/

/* 	pixels/16=em (40px/16=2.5em)  */

body {
    font: 17px/25px 'futura-pt', 'Helvetica Neue', Arial, Helvetica, sans-serif;
    /* Use percent for body and em for the rest of the styles fixes resize issues in all browsers */
    color: var(--dark_green);
    letter-spacing: 0.01em;
    font-weight: 400;
    /* Update input,textarea,select, button - font and color */
}

b, strong {
	font-weight: 600;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'futura-pt', 'Helvetica Neue', Arial, Helvetica, sans-serif;
    font-size: 2.4em;
    margin: 25px 0;
    line-height: 1em;
    letter-spacing: 0em;
    line-height: 1.2em;
    font-weight: 400;
}

h1 {
    font-size: 54px;
    line-height: 58px;
}

h2 {
    font-size: 40px;
    line-height: 44px;
    margin: 25px 0;
}

h3,
h4,
h5,
h6 {
    font-size: 1.4em;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: #000829;
    text-decoration: none;
}

::-moz-selection { background: var(--yellow); color: #fff; text-shadow: none; }
::selection { background: var(--yellow); color: #fff; text-shadow: none; }

ul,
ol {
    list-style: disc;
    list-style-position: outside;
}

b,
strong {
    font-weight: bold;
}

p,
pre {
    margin: 17px 0 17px 0;
}

dl,
ul,
ol,
address {
    margin: 15px 0 15px 0;
}

dt,
li {
    margin: 10px 0 10px 0;
}

dl dd {
    margin-left: 10px;
}

address {
    font-style: italic;
}

pre {
    white-space: pre;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

blockquote {
    padding: 0 40px;
    font-size: 1.3em;
    margin: 35px 0;
    width: auto;
    color: var(--yellow);
    line-height: 1.5em;
}

small {
    font-size: 0.9em;
}

big {
    font-size: 1.1em;
}

.red {
    color: #FF1923;
}

em {
    font-style: italic;
}

.nowrap {
    white-space: nowrap;
}

/* ------------------------ TABLES Styles -------------------------------*/

table {
    margin: 15px 0 15px 0;
    border-collapse: collapse;
    border: 1px #ebebeb solid;
}

td {
    padding: 10px;
    background: #fff;
    vertical-align: top;
}

tr td {
    border-bottom: 1px #ebebeb solid;
}


/* ------------------------ MISC -------------------------------*/

hr {
    border: none;
    border-bottom: 1px solid #f4f4f4;
    color: #f4f4f4;
    height: 1px;
    padding: 0;
    margin: 35px 0 35px 0;
    clear: both;
}


/* Contain floats: h5bp.com/q */

.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    zoom: 1;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

img {
    max-width: 100%;
    height: auto;
}

ol {
    list-style: decimal;
}

/* ------------------------ FORM Styles -------------------------------*/

input,
textarea,
select,
.input {
    padding: 12px;
    background: #fff;
    border: 1px solid #ebebeb;
    font-family: 'futura-pt', 'Helvetica Neue', Arial, Helvetica, sans-serif;
    color: #878787;
    font-size: 16px;
    -webkit-appearance: none;
    line-height: 1em;
}

textarea,
input,
.input {
    width: 100%;
    box-sizing: border-box;
}

input:focus,
textarea:focus,
select:focus,
.input:focus {
    outline: none;
}

input[type="checkbox"],
input[type="radio"] {
    width: auto;
    margin-right: 15px;
    position: relative;
    top: 2px;
}

textarea {
    height: 70px;
    overflow: auto;
    line-height: 1.3em;
}

select {
    background: #fff url('../images/drop_arrow.svg?v=2') no-repeat right;
    padding: 7px 8px;
    line-height: 1;
    border-radius: 0;
    height: 41px;
    -webkit-appearance: none;
}

fieldset {
    margin: 0px;
    padding: 0px;
    /* change in IE STYLES  */
    border: none;
    background: transparent;
    margin-top: -35px;
}

legend {
    margin-left: 15px;
    padding: 0 5px;
    background: #f7f7f7;
    font-weight: bold;
}

label {
    margin: 0;
    display: block;
    vertical-align: top;
}


input[type="radio"], input[type="checkbox"] {
    width: auto !important;
    padding: 8px;
}

input[type=checkbox]:checked:after, input[type=checkbox]:checked:before {
    content: '';
    display: block;
    position: absolute;
    top: 4px;
    left: 5px;
    width: 2px;
    height: 10px;
    background: var(--yellow);
    transform: rotate(-45deg);
}

input[type=checkbox]:checked:before {
    height: 20px;
    transform: rotate(45deg);
    left: 15px;
    top: -4px;
}

.form_note {
    font-style: italic;
    font-size: 0.95em;
    margin-bottom: 10px;
}

input.form_error_input {
    background: #ffcccc;
    border: 1px solid #ff3333;
}

.form_error {
    color: #FF1923;
    margin-left: 97px;
    /* needs to be same as label width + margin-right + 2px  */
    padding-bottom: 10px;
    position: relative;
    top: -5px;
    font-size: 0.95em;
}

.field_wrap {
    display: block;
    margin-bottom: 10px;
}

button,
.button {
    border: none;
    background-color: var(--dark_green);
    cursor: pointer;
    padding: 10px 23px;
    color: #fff;
    font-family: 'futura-pt', 'Helvetica Neue', Arial, Helvetica, sans-serif;
    width: auto;
    /* IE FIX  */
    overflow: visible;
    /* IE FIX  */
    font-size: 20px;
    text-decoration: none;
    transition: all 250ms ease-in-out;
    letter-spacing: 0.01em;
    font-weight: normal;
    display: inline-block;
    letter-spacing: 0.03em;    
}

.sml_btn {
    padding: 11px 24px;
    font-size: 0.9em;
}

button:hover,
.button:hover,
a.button:hover {
    background-color: var(--yellow);
    text-decoration: none;
    color: #fff;
}

button:focus {
    outline: none;
}

.btn_yellow {
    background-color: var(--yellow);
    color: var(--dark_green);
}

.disabled, .disabled:hover, .disabled:focus { 
    background: #ccc !important; 
    cursor: default; 
}

/*** disabled button animation ***/

.disabled { 
    position: relative; 
    animation-fill-mode: both;
    animation: load7 2s infinite ease-in-out;
}

@keyframes load7 {
    0% { transform: scale(1,1); }
    100% { transform: scale(1,1); }
}

#contact-1 {
    border: 4px #f1f1f1 solid;
    max-width: 400px;
    padding: 25px;
}

#contact-1 ul {
    margin: 0;
    padding: 0;
}

.vfb-error {
    color: #cc0000;
    font-size: 0.9em;
    font-style: italic;
}

#form_success {
    font-size: 1.3em;
}

/* ------------------------ LAYOUT -------------------------------*/

html, body {
    overflow-x: hidden;
}

body {
    padding: 0;
    margin: 0 auto;
    background-color: var(--dark_green);
}

.page_width {
    max-width: 1190px;
    margin: 0 auto;
    padding: 0 15px;
}

.wide_width {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
}

.narrow_width {
    max-width: 750px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
}

#page {
    margin: 0 auto;
    padding-top: 30px;
    padding-bottom: 30px;
    background: #fff;
}

.home #page {
    padding-top: 0;
    padding-bottom: 0;
}

.home h2 {
    text-align: center;
}

header {
    position: relative;
}

.no_js_message {
    text-align: center;
    padding: 40px 15px 15px 15px;
    color: #fff;
    z-index: 2000;
    position: fixed;
    font-size: 1.8em;
    background: #888;
    opacity: 0.9;
    top: 0px;
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    right: 0;
}

.flex {
	display: flex;
}

.space_around {
    justify-content: space-around;
}

.space_between {
    justify-content: space-between;
}

.get_in_touch_wrap {
    margin: 50px 0;
}

.footer_wrap {
    background: var(--yellow);
    padding: 30px 20px 50px 20px;
    text-align: center;
    position: relative;
}

.footer_contact {
    padding: 10px;
    position: relative;
    text-align: center;
}    

.social_btns a {
	background-color: var(--dark_green);
	border-radius:100%;
	display:inline-block;
	height: 54px;
	width: 54px;
	margin: 0 3px;
	transition:all 400ms ease-out;
    position: relative;
}

.footer_wrap a {
    color: var(--dark_green);
}

.social_btns a svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.social_btns a:last-child {
    margin-right: -5px;
}

.social_btns a:first-child {
    margin-left: -5px;
}

.social_btns a:hover {
	transform: scale(1.1);
}

.footer_wrap h4 {
    font-size: 18px;
    margin: 0;
}

.footer_wrap h2 {
}

.footer_wrap .col_2 {
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
}

.footer_wrap .col_3 > div, .footer_wrap .col_2 > div {
    position: relative;
}

.footer_wrap .col_3 > div:after, .footer_wrap .col_2 > div:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: -19px;
    bottom: 0;
    width: 2px;
    background: #fff;
    opacity: 0.5;
}

.footer_wrap .col_3 > div:last-of-type:after, .footer_wrap .col_2 > div:last-of-type:after {
    display: none;
}

.footer_wrap p {
    margin: 10px 0;
}

.social_btns {
    margin-top: 20px;
}

#logo {
}

#logo a {
    display: block;
    width: 100px;
    height: 100px;
    text-indent: -999em;
    background: transparent;
    background: no-repeat center center url('../images/Wold-workshop-logo.svg');
    background-size: 100%;
    margin: 0 auto;
}

.single-workshops .entry #logo a {
    background: no-repeat center center url('../images/Wold-workshop-logo.svg');
    background-size: 100%;
    position: absolute;
    top: 10px;
    left: 20px;
    z-index: 10;
    opacity: 0.45;
    background-blend-mode: color;
    width: 150px;
    height: 150px;
}

.single-workshops .entry #logo a:hover {
    opacity: 0.6;
}

.imprint {
    text-align: center;
    padding: 15px 10px;
    font-size: 11px;
    text-transform: uppercase;
    color: var(--yellow);
}

.imprint a {
    color: var(--yellow);
}

.nowrap::after {
    content: "/";
    display: inline-block;
    margin: 0px 10px;
}

.nowrap:last-child:after {
    display: none;
}

.half_page {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.logo_wrap p {
    color: var(--yellow);
    margin: 0;
    text-align: center;
    letter-spacing: 0.065em;
    font-size: 17px;
}

.logo_wrap {
    margin-left: auto;
}

/* ------------------------ MENU STYLES -------------------------------*/



.view_menu_btn {
    display: none;
    cursor: pointer;
    margin: 0 auto;
    position: fixed;
    top: 25px;
    right: 10px;
    width: 49px;
    z-index: 500;
    height: 49px;
    background: #000829;
    border-radius: 50%;
    padding: 12px;
    box-sizing: border-box;
    transition: 0.4s
}

.view_menu_btn.active {
    padding-left: 11px;
}

.bar1,
.bar2,
.bar3 {
    width: 26px;
    height: 2px;
    background-color: #FFFFFF;
    margin: 6px 0;
    transition: 0.4s;
    display: block;
}

.bar1 {
    margin-top: 4px;
}

.active .bar1 {
    transform: rotate(-45deg) translate(-4px, 6px);
}

.active .bar2 {
    opacity: 0;
}

.active .bar3 {
    transform: rotate(45deg) translate(-6px, -7px);
}

#nav { 
    background: #000829;
    padding: 20px 0px 0px 10px;
    transition: all 500ms ease-in-out; 
    box-sizing: border-box;
    z-index: 50;
    position: relative;
}

#nav:before { 
    content: '';
    width: 13px;
    height: 13px;
    position: absolute;
    left: 0px;
    top: 28px;
    background: no-repeat -5px -5px url('../images/wa_sprite.svg?v=2');
}

header {
    background: var(--dark_green);   
    padding: 20px 0;
}

#nav.active { 
    right: 0px;
}    

#nav a, .menu-footer a { 
    color: #fff;
    font-size: 13px;
    display: inline-block;
    margin-left: 15px;
    text-decoration: none;
    position: relative;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 0.1em;
}
#nav a:hover { 
    color: var(--yellow);
}


#menu-main-menu, .menu-footer {
    list-style: none;
    padding: 0px;
    margin: 0;
    position: relative;
}

#menu-main-menu li, .menu-footer li {
    display: inline;
}

.menu-footer {
    text-align: center;
}


.form_response {
    padding: 5px 0 7px 0;
}
 
    
.full_width {
    margin-left: calc(-100vw / 2 + 1160px / 2);
    margin-right: calc(-100vw / 2 + 1160px / 2);
}

/* ------------------------ HOME STYLES -------------------------------*/

.video_bg_wrap {
    width: 100vw;
    padding-bottom: 575px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 0;
    overflow: hidden;
}

.video_bg_wrap video {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    width: 100%;
    object-fit: cover;
}

.home_banner, .home_banner_slider {
    position: relative;
    overflow: hidden;
}

.home_banner_slider img {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
}

.home_banner h1, .home_banner_slider h1 {
    font-size: 92px;
    line-height: 90px;
    margin: 50px 0 0 0;
}

.home_banner h1 strong, .home_banner_slider h1 strong {
    font-weight: normal;
    color: var(--yellow);
}

.home_banner_slider .mySwiper {
    height: 100%;
}

.home_banner_slider .swiper-slide {
    overflow: hidden;
}

.home_banner_slider .swiper-slide {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.video_bg_wrap:before {
    content: '';
    background: var(--dark_green);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    opacity: 0.75;
}

.video_bg_inner {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

.video_bg_inner:after, .block_16:after, .footer_wrap:after, .block_215:after, .block_workshops:after {
    content: '';
    position: absolute;
    bottom: -42px;
    left: 50%;
    transform: translateX(-50%);
    width: 76px;
    height: 76px;
    background: var(--dark_green);
    border-radius: 50%;
    z-index: 10;
}

.block_16:after {
    bottom: auto;
    top: -30px;
    background: #fff;
}

.block_215:after {
    background: #fff;
    bottom: auto;
    top: -30px;
}

.block_workshops:after {
    bottom: auto;
    top: -30px;
    background: var(--dark_green);
}

.block h2 {
    margin-top: 0;
    margin-bottom: 40px;
}

.footer_wrap:after {
    bottom: auto;
    top: -32px;
    background: var(--yellow);
}    

.white_arrow, .yellow_arrow {
    position: relative;
}

.white_arrow:after, .yellow_arrow:after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 0px;
    border-top: 25px #fff solid;
    border-right: 25px transparent solid;
    border-left: 25px transparent solid;
    z-index: 10;
}

.yellow_arrow:after {
    border-top-color: var(--yellow);
}

.arrow_up.white_arrow:after, .arrow_up.yellow_arrow:after {
    transform: translateX(-50%) rotate(180deg);
}

.footer_wrap.yellow_arrow:after {
    bottom: auto;
    top: -25px;
}

.home_banner_content {
    position: absolute;
    top: 50%;
    text-align: center;
    color: #fff;
    max-width: 750px;
    left: 20px;
    right: 20px;
    transform: translateY(-50%);
    margin: 0 auto;
    padding-bottom: 60px;
    z-index: 150;
}

.narrow_width .full_width {
    margin-left: calc(-100vw / 2 + 720px / 2);
    margin-right: calc(-100vw / 2 + 720px / 2);
}

.home_banner_wrap {
    position: relative;
}

.column {
    display: grid;
    gap: 35px;
}

.col_2 {
    grid-template-columns: 1fr 1fr;
}

.col_3 {
    grid-template-columns: 1fr 1fr 1fr;
}

.col_4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.col_5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

#contact_form {
    padding: 20px;
    background: #f1f1f1;
}

.errors {
    color: #cc0000;
}

#contact_form textarea {
    height: 120px;
}

.block_green {
    background-color: var(--dark_green);
    color: #fff;
}

.block {
    padding: 75px 0;
    position: relative;
}

.block_content {
    max-width: 820px;
    margin: 0 auto;
}

.block_14 {
    text-align: center;
}

.block_14 h2 {
    max-width: 654px;
    margin: 0 auto -17px auto;
    padding-bottom: 47px;
    position: relative;
}



.block_14 h2 strong {
    color: var(--yellow);
}

.lrg_txt p, #footer > p {
    font-size: 21px;
    line-height: 31px;
}

.med_txt p, .block_18 .col_5 > div strong {
    font-size: 19px;
    line-height: 24px;
}


.block_16 .col_3 > div {
    background: var(--yellow);
    padding: 30px;
    text-align: center;
    position: relative;
}

.block_16 h3, .block_21 h3 {
    font-size: 26px;
    line-height: 30px;
    margin: 0;
}

.block_16 img, .block_21 img {
    width: 140px;
    border: 2px var(--yellow) solid;
    margin: -130px 0 -20px 0;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    top: -12px;
}

.block_21 img {
    width: 230px;
}

.block_18 {
    text-align: center;
}

.block_18 img {
    border-radius: 50%;
    width: 140px;
    border: 2px var(--yellow) solid;
    box-sizing: border-box;
}

.block_18 p {
    margin: 5px 0;
}

.block_16.white_arrow:after {
    bottom: -25px;
}

.block_18.white_arrow:after {
    transform: translateX(-50%) rotate(180deg);
}

.block_21 {
    text-align: center;
}

.block_21 .section {
    border: 2px var(--yellow) solid;
    margin-bottom: 150px;
    padding: 25px;
}

.block_21 ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.block_21 li {
    margin: 10px 0;
}

.block_21 h4 {
    color: var(--yellow);
    margin: 20px 0 0 0;
    font-size: 19px;
}

.block_21 h2 {
    margin-bottom: 125px;
}

.block_23 {
    text-align: center;
}

.block_23.white_arrow:after {
    top: 0;
    bottom: auto;
}

.workshops_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.workshop {
    display: block;
    color: #fff;
    text-decoration: none;
}

.workshop h3 {
    font-size: 30px;
    line-height: 29px;
    margin: 0;
}

.workshop .date {
    padding: 12px 0 7px 2px;
    font-size: 18px;
    line-height: 20px;
    opacity: 0.65;
    color: #fff;
}

.workshop:hover .date {
    color: #fff;
}

.workshop_image {
    position: relative;
}

.workshop img {
    vertical-align: bottom;
    transition: all 250ms ease-in-out; 
}

.workshop:hover img {
    opacity: 0.8;
}

.workshop .location {
    position: absolute;
    padding: 1px 10px;
    background: var(--yellow);
    text-transform: uppercase;
    font-size: 15px;
    bottom: 0px;
    left: 0;
    letter-spacing: 0.045em;
    color: var(--dark_green);
}

.workshop_info {
    background: transparent;
    padding: 7px 17px;
    font-size: 19px;
    line-height: 22px;
    position: absolute;
    bottom: 0;
    right: 0;
    max-width: 550px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 10px;
    margin-left: auto;
    z-index: 1;
}
.workshop_info:after {
    content: '';
    background: #ecca40;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.9;
    z-index: -1;
}

.single-workshops .entry {
    position: relative;
    padding-bottom: 50px;
}

.workshop_info > div {
    padding: 3px 0;
}

.workshop_info .location:before, .workshop_info .date:before, .workshop_info .time:before, .workshop_info .cost:before {
    content: 'Location: ';
    font-weight: bold;
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.045em;
}
.workshop_info .date:before {
    content: 'Date:';
}
.workshop_info .time:before {
    content: 'Time:';
}
.workshop_info .cost:before {
    content: 'Cost:';
}

.workshop_image_single {
    position: relative;
}

.workshop_image_single img {
    vertical-align: bottom;
}

.pswp--zoom-allowed .pswp__button--zoom, .pswp__icn-shadow {
    display: none;
}

.pswp__custom-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255,255,255,0.5);
}

.pswp__custom-caption div {
    padding: 10px 20px;
}

.pswp-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: 20px;
    
}

.gallery-caption {
    font-size: 16px;
    line-height: 17px;
    font-style: italic;
}

.home .newsletter_page_sign_up_wrap {
    max-width: 342px;
    margin: 0 auto;
}

.block_workshops .newsletter_page_sign_up_wrap p {
    font-size: 21px;
    margin: 0 0 15px 0;
}

.block_workshops .newsletter_page_sign_up_wrap  {
    border: 2px solid #fff;
    padding: 20px 20px 15px 20px;
    margin-top: 50px;
    text-align: center;
}

.block_workshops .newsletter_page_sign_up_wrap button {
    background: #fff;
    color: var(--dark_green);
    margin-top: 8px;
}

.social_btns {
	text-align:center;
    margin: 15px 0 0px 0;
}

.social_btns a {
	background: var(--dark_green) no-repeat -44px 13px url('../images/_socials.svg');
	display:inline-block;
	height:55px;
	width: 55px;
	margin: 0 5px;
	text-indent:-999em;
	transition:all 200ms ease-out;
	transform: scale(1);
    border-radius: 50%;
}

.social_btns a:last-child {
    margin-right: -5px;
}

.social_btns a:first-child {
    margin-left: -5px;
}

.social_btns a:hover {
	transform: scale(1.2);
}

.social_btns a.tw {
	background-position: -62px 8px;
}

.social_btns a.insta {
	background-position: 14px 14px;
}

.grecaptcha-badge {
    display: none;
}

.home .g-recaptcha > div {
    margin: 10px auto 0 auto;
}

.footer_links {
    margin: 20px 0 0 0;
}
 
/* ------------------------ RESPONSIVE STYLES -------------------------------*/

/* Stops iphone trying to resize text when rotating */

html { -webkit-text-size-adjust:none; }



@media all and (max-width: 1050px) { 
}

@media all and (max-width: 950px) { 
    .home_banner h1, .home_banner_slider h1 {
        font-size: 82px;
        line-height: 80px;
    }
}

@media all and (max-width: 850px) { 
    .block_14 h2:before {
        left: 0;
    }
    .block_14 h2:after {
        right: 0;
    }
    .block_14 h2 {
        max-width: none;
    }
    .col_3 {
        grid-template-columns: 1fr;
    }
    .block_16 .col_3 > div {
        margin-bottom: 60px;
    }
    .block_16 .col_3 > div:last-child {
        margin-bottom: 0;
    }
    .col_5 {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .col_5 > div:last-child, .col_5 > div:nth-child(4) {
      transform: translateX(50%);
    }
    .footer_wrap .col_3 > div:after {
        display: none;
    }
    .pswp-gallery {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 15px;
    }
}

@media all and (max-width: 700px) { 
    .home_banner h1, .home_banner_slider h1 {
        font-size: 11.5vw;
        line-height: 11vw;
        margin-top: 4vw;
    }
    .video_bg_wrap {
        padding-bottom: 99vw;
    }
    .col_2 {
        grid-template-columns: 1fr;
        gap: 0px !important;
    }
    .block_21 .section {
        margin-bottom: 120px;
    }
    .block_21 .column > div:last-child .section:last-child {
        margin-bottom: 0;
    }
    .workshops_wrap {
        grid-template-columns: 1fr 1fr;
    }
    .single-workshops .entry #logo a {
        width: 22vw;
        height: 22vw;
    }
}

@media all and (max-width: 550px) { 
    .pswp-gallery {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media all and (max-width: 550px) { 
    h2 {
        font-size: 38px;
        line-height: 43px;
    }
    .lrg_txt p, #footer > p {
        font-size: 19px;
        line-height: 26px;
    }
    .col_5 {
        grid-template-columns: 1fr 1fr;
    }
    .col_5 > div:nth-child(4) {
      transform: translateX(0%);
    }
    .col_5 > div:last-child {
      transform: translateX(calc(50% + 13px));
    }
    .column {
        gap: 25px;
    }
    .workshop_info {
        display: block;
        position: relative;
    }
}

@media all and (max-width: 450px) { 
    .imprint .nowrap {
        display: block;
        white-space: normal;
        line-height: 15px;
        margin: 5px 0;
    }
    .nowrap::after {
        display: none;
    }
    .pswp-gallery {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
}

@media all and (max-width: 400px) { 
    .workshops_wrap {
        grid-template-columns: 1fr;
    }
}


/* ==|== print styles =======================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */
 
@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  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: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  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; }
}

