.debug-grid:after {
    position: fixed;
    display: block;
    content: '';
    left: 30px;
    right: 30px;
    top: 0;
    bottom: 0;
    background-image: url('../image/grid.png');
    background-repeat: repeat-y;
    background-position: 50%;
    background-size: var(--doc-width);
    z-index: 100;
}

.debug-grid .inner {
    background-color: red;
}

#mobile-menu,
[for="mobile-menu"] {
    display: none;
}

[for="mobile-menu"] {
    border-radius: 100%;
    background: var(--color-button-gradient);
    width: 12px;
    height: 12px;
    padding: 14px;
    flex-direction: column;
    justify-content: center;
}

[for="mobile-menu"] span {
    height: 2px;
    width: 12px;
    border-radius: 2px;
    background-color: var(--color-white);
    position: absolute;
    transition: transform 0.35s ease-in-out;
}

[for="mobile-menu"] span:nth-of-type(1){
    transform: translateY(-5px);
}
[for="mobile-menu"] span:nth-of-type(2){
    transform: translateY(0);
}
[for="mobile-menu"] span:nth-of-type(3){
    transform: translateY(5px);
}

#mobile-menu:checked ~ .wrap [for="mobile-menu"] span:nth-of-type(1) {
    transform: translateY(0) rotate(-225deg);
}
#mobile-menu:checked ~ .wrap [for="mobile-menu"] span:nth-of-type(2) {
    transform: translateY(0) scaleX(0);
}
#mobile-menu:checked ~ .wrap [for="mobile-menu"] span:nth-of-type(3) {
    transform: translateY(0) rotate(225deg);
}

.button,
.wpcf7-submit {
    background-image: var(--color-button-gradient);
    color: var(--color-text-white);
    display: inline-block;
    text-decoration: none;
    border-radius: 75px;
    font-weight: 500;
    font-family: var(--content-font);
    border: 0;
    -webkit-appearance: normal;
    appearance: normal;
}

.border-button {
    flex-shrink: 0;
    box-sizing: border-box;
    display: inline-block;
    font-family: var(--content-font);
    border: double 2px transparent;
    border-radius: 75px;
    background-image: linear-gradient(white, white), var(--color-button-gradient);
    background-origin: border-box;
    background-clip: content-box, border-box;

    color: var(--color-button);
    text-decoration: none;
    font-weight: 500;

    -webkit-appearance: normal;
    appearance: normal;
}

.button span,
.border-button span {
    display: flex;
    padding: 12px 32px;
    align-items: center;
    justify-content: center;
}

.button span i {
    margin-right: 10px;
}

.button.wide,
.border-button.wide {
    width: 100%;
    text-align: center;
}


.content-block {
    border-radius: 10px;
    background-color: var(--color-white);
    overflow: hidden;
    box-shadow: 0 7px 30px rgba(0,0,0,0.05);
}

.cols.content-block:not(:last-of-type){
    margin-bottom: 30px;
}

.content-block-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
    /* height: calc(100% - 120px); */
}

.content-block > .col > .content-block-inner {
    padding-left: 0;
}

.content-block .col {
    display: flex;
}

.content-block-text {
    flex-grow: 1;
}

.content-block-inner h5 {
    color: #000;
}

.content-block-post img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    max-height: 240px;
}

.content-block-image {
    margin-bottom: 20px;
}

.content-block-image img {
    max-width: 320px;
    height: auto;
}

.content-block-post > a {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.tag-contact:not(:last-of-type) {
    margin-bottom: 1em;
}

.tag-contact a {
    color: var(--color-button);
    text-decoration: none;
    display: flex;
    align-items: center;
}

.tag-contact a i {
    font-size: 12px;
    margin-right: 5px;
}

.tag-location a {
    align-items: flex-start;
}
.tag-location address {
    font-style: normal;
}
.tag-location a i {
    transform: translateY(6px);
}


#newsletter {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: flex-end;
}

#newsletter .inner {
    margin: 120px auto;
}

#newsletter .content-block-inner {
    padding: 60px;
}

#newsletter h3 {
    margin-bottom: 20px;
}

#newsletter-bg {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

#newsletter-bg svg {
    height: auto;
    width: 100%;
}

.bg-01 {
    background-image: url('../svg/bg_01.svg');
    background-size: contain;
    background-position: 0 0;
    background-repeat: no-repeat;
}

.bg-01a:after,
.bg-01:after,
.bg-04:after {
    position: absolute;
    content: '';
    display: block;
    width: 450px;
    height: 200px;
    right: 0;
    top: 0;
    background-size: contain;
    background-image: url('../svg/bg_01_a.svg');
    background-position: 100% 0%;
    background-repeat: no-repeat;
}

.bg-02 {
    background-image: url('../svg/bg_02.svg');
    background-size: contain;
    background-position: 100% 0;
    background-repeat: no-repeat;
}

.bg-03 {
    background-image: url('../svg/bg_03.svg');
    background-size: cover;
    background-repeat: no-repeat;
}

.bg-04 {
    background-image: url('../svg/bg_04.svg');
    background-position: 0 0;
    background-repeat: no-repeat;
}

.bg-05 {
    background-image: url('../svg/bg_05.svg');
    background-position: 0 100%;
    background-repeat: no-repeat;
}

.bg-05:after {
    position: absolute;
    content: '';
    display: block;
    width: 450px;
    height: 200px;
    right: 0;
    bottom: 0;
    background-image: url('../svg/bg_06.svg');
    background-position: 100% 100%;
    background-repeat: no-repeat;
}

.bg-07 {
    background-image: url('../svg/bg_07.svg');
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: cover;
}

.bg-08 {
    background-image: url('../svg/bg_07.svg');
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
}

.bg-08:after {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    max-width: 1440px;
    height: 100%;
    left: 0;
    bottom: 0;
    background-image: url('../svg/bg_08.svg');
    background-position: 100% 100%;
    background-repeat: no-repeat;
}

.bg-09 {
    background-image: url('../svg/bg_09.svg');
    background-size: contain;
    background-position: 100% 100%;
    background-repeat: no-repeat;
}

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

#page {
    position: relative;
    z-index: 2;
    padding: 150px 0 60px 0;
}

#page-content {
    padding: 60px 0 60px 0;
}

#page-image {
    position: absolute;
    right: 0;
    top: 0;
    width: 45vw;
}

.page-image {
    float: left;
    margin: 0 1em 1em 0;
}

.page-image img {
    max-width: 260px;
    max-height: 260px;
    width: 100%;
    height: auto;
}

.corner-image svg:first-of-type {
    display: block;
    position: relative;
    z-index: 2;
    margin-left: 100px;
    width: 100%;
    height: auto;
    max-height: 684px;
}


.corner-image svg:last-of-type {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: auto;
    max-height: 684px;
    top: -150px;
}

.card-landscape,
.card-portrait {
    position: relative;
}

.card-landscape svg,
.card-portrait svg {
    display: block;
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
}

/*
.card-landscape img {
    -webkit-mask-box-image: url('../svg/card_landscape.svg');
    mask-border: url('../svg/card_landscape.svg');
}
.card-portrait img {
    -webkit-mask-box-image: url('../svg/card_portrait.svg');
    mask-border: url('../svg/card_portrait.svg');
}
*/

.card-landscape:before,
.card-portrait:before {
    content: '';
    display: block;
}
.card-landscape:before {
    padding-bottom: 70.16%;
}
.card-portrait:before {
    padding-bottom: 125.23%;
}

.layout_b #page {
    padding-bottom: 120px;
}

.layout_b #page h2 {
    margin: 0 0 20px 0;
}

.card-outer {
    margin-bottom: 30px;
    height: calc(100% - 30px);
}

.card {
    background-color: var(--color-white);
    border-radius: 10px;
    box-shadow: 0 7px 30px rgba(0,0,0,0.05);
    overflow: hidden;
    height: 100%;
    margin-bottom: 30px;
}

.card-inner {
    padding: 40px;
    border-left: 4px solid var(--color-block-border);
    height: calc(100% - 80px);
    display: flex;
    flex-direction: column;
    min-height: 125px;
}

.card p:last-of-type{
    margin-bottom: 0;
}

#breadcrumb {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
}

#breadcrumb li {
    font-size: 12px;
    display: flex;
    align-items: center;
    color: var(--color-breadcrumb);
}

#breadcrumb li:not(:first-of-type){
    margin-left: 4px;
}
#breadcrumb li:not(:last-of-type){
    margin-right: 4px;
}

#breadcrumb li a {
    text-decoration: none;
    color: var(--color-button);
}

#breadcrumb i {
    font-size: 6px;
}

#gallery-1 img {
    border: none !important;
    width: 100%;
    height: 100%;
}

#gallery-1 {
    display: flex;
    flex-wrap: wrap;
    width: 960px;
}

#gallery-1 br {
    display: none;
}

.gallery-icon {
    margin-right: 30px;
}

.media-post-content a {
    font-weight: 500 !important;
}
