* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    font-family: 'OpenSans', sans-serif;
    color: #333;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    background: #fff;
}

html[lang="zh-hans"] body {
    font-family: 'Noto Sans SC', sans-serif;
}

html[lang="ko-KR"] body {
    font-family: 'Nanum Gothic', sans-serif;
}

body .grid-container:not(#page) {
    max-width: 1216px;
    padding-right: 36px;
    padding-left: 36px;
}

/* Page padding (for sticky header) */
#page {
    padding-top: 70px;
}

.header-type-negative:not(.mediablam-resources) #page,
.header-type-transparent #page {
    padding-top: 0;
}

/* Elementor resets */
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
    padding: 0;
}

.elementor-widget:not(:last-child) {
    margin: 0;
}

/* Titles */
h1, h2, h3, h4, h5 {
    margin: 0;
}

h1, h2, h3, h5 {
    font-weight: 700;
}

h1, h2 {
    font-family: 'Bitter', serif;
}

html[lang="zh-hans"] body h1, 
html[lang="zh-hans"] body h2 {
    font-family: 'OpenSans', 'Noto Sans SC', sans-serif !important;
}

html[lang="ko-KR"] body h1, 
html[lang="ko-KR"] body h2,
html[lang="ko-KR"] body h3,
html[lang="ko-KR"] body h4 {
    font-family: 'OpenSans', 'Nanum Gothic', sans-serif !important;
}

h1,
.elementor-widget-heading h1.elementor-heading-title {
    font-size: 64px;
    line-height: 87px;
}

h1 u,
.elementor-widget-heading h1.elementor-heading-title u,
.elementor-widget-heading h2.elementor-heading-title u {
    position: relative;
    text-decoration: none;
}

h1 u:after,
.elementor-widget-heading h1.elementor-heading-title u:after,
.elementor-widget-heading h2.elementor-heading-title u:after {
    content: '';

    display: block;
    height: 13px;

    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;

    background-color: #ff6f61;
    z-index: -1;
}

h2,
.elementor-widget-heading h2.elementor-heading-title {
    font-size: 54px;
    line-height: 77px;
}

h1 span,
.elementor-widget-heading h1.elementor-heading-title span,
h2 span,
.elementor-widget-heading h2.elementor-heading-title span {
    color: #ff6f61;
}

h3,
.elementor-widget-heading h3.elementor-heading-title {
    font-size: 50px;
    line-height: 70px;
}

h4,
.elementor-widget-heading h4.elementor-heading-title {
    font-size: 36px;
    font-weight: 600;
    line-height: 54px;
}

h5,
.elementor-widget-heading h5.elementor-heading-title {
    font-size: 24px;
    line-height: 36px;
}

.elementor-widget-heading.is-h4 .elementor-heading-title {
    font-family: 'Bitter', serif;
    font-size: 38px;
    line-height: 48px;
}

/* Paragraphs */
p {
    font-size: 18px;
    line-height: 1.5;
}

p.p2,
.elementor-widget-heading.p2 p {
    font-size: 22px;
    line-height: 33px;
}

blockquote,
blockquote p,
p.quote,
.elementor-widget-heading.quote p,
.elementor-widget-blockquote .elementor-blockquote p {
    font-size: 32px;
    font-style: normal;
    line-height: 45px;
    color: #333;
}

.elementor-text-editor p {
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}

/* Buttons and Links */
.button,
.elementor-widget-button .elementor-button {
    padding: 16px 60px;

    font-size: 18px;
    font-weight: 600;
    color: #fff;

    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;

    -webkit-transition: 0.2s all;
    -moz-transition: 0.2s all;
    -ms-transition: 0.2s all;
    -o-transition: 0.2s all;
    transition: 0.2s all;
}

.button.button__primary,
.elementor-widget-button:not(.elementor-button-success):not(.elementor-button-info):not(.elementor-button-warning):not(.elementor-button-danger) .elementor-button {
    background-color: #ff6f61;
}

.button.button__primary:hover,
.elementor-widget-button:not(.elementor-button-success):not(.elementor-button-info):not(.elementor-button-warning):not(.elementor-button-danger) .elementor-button:hover {
    background-color: #ff4f3e;
}

.button.button__link,
.elementor-widget-button.elementor-button-info .elementor-button {
    padding: 0 0 6px 0;

    font-weight: 400;
    color: #057aff;

    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;

    background-color: transparent !important;
    background-image: linear-gradient(transparent calc(100% - 2px), #057aff 2px);
    background-repeat: no-repeat;
    background-size: 0% 100%;

    -webkit-transition: 0.4s background-size;
    -moz-transition: 0.4s background-size;
    -ms-transition: 0.4s background-size;
    -o-transition: 0.4s background-size;
    transition: 0.4s background-size;
}

.button.button__link:hover,
.elementor-widget-button.elementor-button-info .elementor-button:hover {
    background-size: 100% 100%;
    color: #057aff;
}

/* Forms and Inputs */
.elementor-form > .elementor-message.elementor-message-danger {
    display: none !important;
}

/* Select2 and Drop-downs */

/* Responsive global properties */
@media only screen and (max-width: 990px) {

    /* Titles */
    h1,
    .elementor-widget-heading h1.elementor-heading-title {
        font-size: 40px;
        line-height: 54px;
    }

    h1 u:after,
    .elementor-widget-heading h1.elementor-heading-title u:after,
    .elementor-widget-heading h2.elementor-heading-title u:after {
        height: 8px;
        bottom: 6px;
    }

    h2,
    .elementor-widget-heading h2.elementor-heading-title {
        font-size: 28px;
        line-height: 40px;
    }

    h3,
    .elementor-widget-heading h3.elementor-heading-title {
        font-size: 25px;
        line-height: 35px;
    }

    h4,
    .elementor-widget-heading h4.elementor-heading-title {
        font-size: 18px;
        font-weight: 600;
        line-height: 27px;
    }

    h5,
    .elementor-widget-heading h5.elementor-heading-title {
        font-size: 18px;
        line-height: 27px;
    }

    /* Paragraphs */
    p {
        font-size: 18px;
        line-height: 1.5;
    }

    .elementor-text-editor p {
        font-size: inherit;
        line-height: inherit;
        letter-spacing: inherit;
    }

    p.p2,
    .elementor-widget-heading.p2 p {
        font-size: 18px;
        line-height: 27px;
    }

    blockquote,
    blockquote p,
    p.quote,
    .elementor-widget-heading.quote p,
    .elementor-widget-blockquote .elementor-blockquote p {
        font-size: 26px;
        line-height: 36px;
        color: #333;
    }

    .elementor-widget-heading.is-h4 .elementor-heading-title {
        font-size: 32px;
        line-height: 44px;
    }
}