@import url('https://fonts.googleapis.com/css2?family=Gilda+Display&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playball&display=swap');

/*@font-face {
    font-family: 'Great Day Personal Use';
    src: url('../fonts/GreatDayPersonalUse.eot');
    src: local('Great Day Personal Use'), local('GreatDayPersonalUse'),
        url('../fonts/GreatDayPersonalUse.eot?#iefix') format('embedded-opentype'),
        url('../fonts/GreatDayPersonalUse.woff2') format('woff2'),
        url('../fonts/GreatDayPersonalUse.woff') format('woff'),
        url('../fonts/GreatDayPersonalUse.ttf') format('truetype'),
        url('../fonts/GreatDayPersonalUse.svg#GreatDayPersonalUse') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}*/



:root {
    --bodycolor:                        #454545;
    --anchorcolor:                      #191970;
    --anchorhover:                      #daa520;

    --primarycolor:                     #DB4522;
    --secondarycolor:                   #000000;

    --whitecolor:                       #ffffff;
    --blackcolor:                       #000000;

    --transition400ms:                     400ms;
    --transition1000ms:                    1000ms;

    --bodyfontsize:                        18px;
    --bodyfontlineheight:                  26px;
    --bodyfontweight:                      400;
    
    --flex:                                flex;
    --flexdirectioncolumn:                 column;
    --flexdirectionrow:                    row;
    --flexflowrowwrap:                     row wrap;
    --alignstart:                          start;
    --aligncenter:                         center;
    --alignitemsend:                       end;
    --justifystart:                        start;
    --justifycenter:                       center;
    --justifyend:                          end;
    --justifyspacebetween:                 space-between;
    --relative:                            relative;
    --overflowhidden:                      hidden;
        
    --small-text-height-offset:            8px;
    --medium-text-height-offset:           12px;
    --primaryfontfamily:                   "Rubik", sans-serif;
    --secondaryfontfamily:                 "Gilda Display", serif;
    --tertiaryfontfamily:                  "Playball", cursive;
/*    --tertiaryfontfamily:                  "Great Day Personal Use", serif;*/
}


html { scroll-behavior: smooth; }
/* Apply a box-sizing border-box globally to all elements */
*,
*::before,
*::after { box-sizing: border-box; }

.skip-link { position: absolute; top: -70px; left: 10px; background: #007BFF; color: #fff; padding: 10px 15px; font-size: 16px; text-decoration: none; z-index: 999; transition: top 0.3s; }
.skip-link:focus { top: 10px; outline: 2px dotted var(--tertiarycolor); box-shadow: 0 0 5px var(--tertiarycolor); }

::-webkit-scrollbar { background-color: var(--secondarycolor); width: 10px; }
::-webkit-scrollbar-thumb { background-color: var(--primarycolor); }

/* Resetting some common styles */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd { margin: 0; padding: 0; }

/* Apply a standard font family and basic text styling */
body { background: url(../image/bodybg3.png) repeat center center / 30%; scroll-behavior: smooth; padding: 0; font-family: var(--primaryfontfamily); font-weight: var(--bodyfontweight); font-style: normal; font-size: var(--bodyfontsize); line-height: var(--bodyfontlineheight); color: var(--primarycolor); }
/*body { background-color: var(--bodybackgroundcolor); }*/

/*@media (max-width:1199px) {
    body { margin: 84px 0 0 0; }
}
@media (max-width:767px) {
    body { margin: 70px 0 0 0; }
}*/

/* Ensure images are responsive and don't overflow the container */
img { max-width: 100%; height: auto; }

/* Links should not be underlined, but can have hover effect */
a { text-decoration: none; transition: var(--transition400ms); color: var(--primarycolor); }
a:hover { opacity: 0.6; }

/* Headings should be clear with some margin and padding */
h1,
h2,
h3,
h4,
h5,
h6 { margin: 0 0 15px 0; color: var(--secondarycolor); line-height: 1.2; font-weight: normal; font-family: var(--secondaryfontfamily); }
h1 { font-size: clamp(2.5rem, 2.075rem + 2.125vw, 4.625rem); }
h2 { font-size: clamp(2rem, 1.65rem + 1.75vw, 3.75rem); }
h3 { font-size: clamp(1.75rem, 1.7rem + 0.25vw, 2rem); }
h4 { font-size: clamp(1.5rem, 1.475rem + 0.125vw, 1.625rem); }
h5 { font-size: clamp(1.25rem, 1.225rem + 0.125vw, 1.375rem); }
h6 { font-size: clamp(1rem, 0.975rem + 0.125vw, 1.125rem); }

h2 span { font-family: var(--tertiaryfontfamily); line-height: normal; }
h2:has(> span) { display: flex; flex-direction: column; align-items: center; justify-content: center; }
h2:has(> span) > span { padding: 0 0 0 16%; }



/*h1 span,h2 span,h3 span,h4 span,h5 span,h6 span { font-family: var(--secondaryfontfamily); font-weight: 300; }*/

/* Paragraphs should have some margin */
p { margin-bottom: 15px; }
p:last-child { margin: 0; }
p:empty { display: none; }

/* Remove the default list styling (bullets or numbers) */
ul,
ol { list-style: none; padding-left: 0; margin: 0; }

/* Make sure all form controls have a standard style */
input,
textarea,
select,
button { padding: 7px 22px 13px 0; font-size: 20px; border-radius: 0; width: 100%; background-color: transparent; color: var(--secondarycolor); font-family: var(--primaryfontfamily); letter-spacing: 1px; margin: 0 0 30px 0; border-bottom: 2px dotted rgb(69 69 69 / 45%); border-top: none; border-left: none; border-right: none; }
@media screen and (max-width:991px) {
    input,
    textarea,
    select,
    button { margin: 0 0 15px 0; }
}
@media screen and (max-width:767px) {
    input { width: 100%; }
}

input:focus,
textarea:focus,
select:focus,
button:focus { outline: 2px dotted var(--tertiarycolor); box-shadow: 0 0 5px var(--tertiarycolor); }
a:focus,
[tabindex]:focus,
button:focus { outline: 2px dotted var(--primarycolor); box-shadow: 0 0 5px var(--primarycolor); }

input::placeholder,
textarea::placeholder { color: var(--bodycolor); font-size: 16px; line-height: normal; font-family: var(--primaryfontfamily); }


input[type="submit"] { color: var(--whitecolor); padding: 18px 34px 20px 34px; text-align: center; border-radius: 50px; display: var(--flex); justify-content: var(--justifycenter); align-items: var(--aligncenter); position: var(--relative); border: 2px solid var(--whitecolor); font-size: 18px; line-height: 1; font-weight: 500; background-color: var(--secondarycolor); border-color: var(--secondarycolor); transition: 400ms; cursor: pointer; width: 216px; margin: 0 auto; }
input[type="submit"]:hover { background-color: var(--secondarycolor); color: var(--primarycolor); }
input[type="submit"]:hover + span.arrow svg path { fill: var(--whitecolor); }
.form-row .submit-button { position: var(--relative); max-width: 156px; }
.form-row .submit-button span.arrow { position: absolute; right: 25px; top: 46%; transform: translateY(-50%); width: 22px; height: 22px; }
.form-row .submit-button span.arrow svg path { transition: var(--transition400ms); }

span.wpcf7-spinner { position: absolute; margin: 0; transform: translateX(130px); }
.form-row.has-submit-btn .form-field.button--submit p { margin: 0; display: var(--flex); align-items: var(--aligncenter); }
.form-row.has-submit-btn .form-field.button--submit { position: relative; }
.form-row.has-submit-btn .form-field.button--submit input[type="submit"] { padding: 14px 20px 16px 60px; }
.form-row.has-submit-btn .form-field.button--submit:before { content: ''; background: url(../image/mail-icon.png) no-repeat center center / cover; position: absolute; left: 23px; top: 14px; width: 18px; height: 14px; z-index: 1; filter: brightness(0) invert(1); transition: var(--transition400ms); }
@media screen and (max-width:767px) {
    .form-row.has-submit-btn .form-field.button--submit { width: 100%; }
}

.form-row.two-column { display: var(--flex); justify-content: space-between; width: 100%; flex-flow: row wrap; gap: 30px; }
.form-row.two-column > .form-column { width: calc((100% - 30px) / 2); }
.form-row > .form-column > label { padding: 4px 20px 4px 20px; font-weight: 600; display: inline-block; background-color: var(--whitecolor); position: relative; }
.form-row.two-column .form-field:first-child { width: calc(100% / 2 - 30px); }
.form-row.two-column .form-field:last-child { width: calc(100% / 2 - 30px); margin: 0 0 0 auto; }
.form-row.three-column { display: var(--flex); justify-content: var(--justifyspacebetween); }
.form-row.three-column > .form-field { width: calc(100% / 3 - 10px); }
.form-row.two-column.two-third-column .form-field:first-child { width: calc(33.33% - 10px); }
.form-row.two-column.two-third-column .form-field:last-child { width: calc(66.66% - 10px); }
.form-row .form-field br { display: none; }

/* Small devices (landscape phones, less than 768px) */
@media (max-width:767.98px) {
    .form-row.two-column { flex-direction: var(--flexdirectioncolumn); gap: 0; }
    .form-row.two-column .form-field:first-child { width: 100%; }
    .form-row.two-column .form-field:last-child { width: 100%; }
    .form-row .submit-button { margin: 0 auto; }
    .form-row.has-submit-button { text-align: center; }
}
.clearfix::after { content: ""; clear: both; display: block; }

/* Utility classes for text alignment */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.bodytext { font-size: var(--bodyfontsize); line-height: var(--bodyfontlineheight); }
.bodysmalltext { font-size: var(--bodysmallfontsize); line-height: var(--bodysmallfontlineheight); }

.primaryfontfamily { font-family: var(--primaryfontfamily); }
.secondaryfontfamily { font-family: var(--secondaryfontfamily); }
.tertiaryfontfamily { font-family: var(--tertiaryfontfamily); }

.primarytextcolor { color: var(--primarycolor); }
.secondarytextcolor { color: var(--secondarycolor); }
.quinarytextcolor { color: var(--quinarycolor); }

.primarybackgroundcolor { background-color: var(--primarycolor); }
.secondarybackgroundcolor { background-color: var(--secondarycolor); }
.tertiarybackgroundcolor { background-color: var(--tertiarycolor); }
.quaternarybackgroundcolor { background-color: var(--quaternarycolor); }
.quinarybackgroundcolor { background-color: var(--quinarycolor); }

.whitebackgroundcolor { background-color: var(--whitecolor); }
.blackbackgroundcolor { background-color: var(--blackcolor); }

/* Utility class for Flex Gap */
.flex-gap15 { gap: 15px; }
.flex-gap25 { gap: 25px; }
.flex-gap35 { gap: 35px; }
.flex-gap45 { gap: 45px; }

/* Utility class for Flex Gap */
.margin0 { margin: 0; }
.padding0 { padding: 0; }
.margin-centered { margin:0 auto; }

/* Utility class for hiding elements */
.hidden { display: none !important; }
.width100 { width: 100%; }
.height100 { height: 100%; }
.displayblock { display: block; }
.objectfitcover { object-fit: cover; }
.objectfitcontain { object-fit: contain; }
.whiteimage { filter: brightness(0) invert(1); }
.blackimage { filter: brightness(0%); }

.overflowhidden { overflow: var(--overflowhidden); }

/* Utility classes for Font Weight */
.fw-thin { font-weight: 100; }
.fw-extralight { font-weight: 200; }
.fw-light { font-weight: 300; }
.fw-regular { font-weight: 400; }
.fw-medium { font-weight: 500; }
.fw-semibold { font-weight: 600; }
.fw-bold { font-weight: 700; }
.fw-extrabold { font-weight: 800; }
.fw-black { font-weight: 900; }
.fs-italic { font-style: italic; }

/* Utility class for uppercase */
.text-uppercase { text-transform: uppercase; }
.text-capitalize { text-transform: capitalize; }
.text-lowercase { text-transform: lowercase; }

/* Utility class for White Text */
.content { color: var(--bodycolor); }
@media (max-width:1429px) {
    .content { font-size: 18px; line-height: 26px; }
}

.white-text,
.white-text h1,
.white-text h2,
.white-text h3,
.white-text h4,
.white-text h5,
.white-text h6,
.white-text.content,
.white-text .content { color: var(--whitecolor); }
.black-text,
.black-text h1,
.black-text h2,
.black-text h3,
.black-text h4,
.black-text h5,
.black-text h6,
.black-text.content { color: var(--blackcolor); }

.letter-spacingsmall { letter-spacing: 3px; }
.letter-spacingextrasmall { letter-spacing: 1.5px; }

.position-relative { position: var(--relative); }
.z-1 { z-index: 1; }

/* Container class for keeping content centered and within bounds */
.container { width: 100%; margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; }
@media screen and (min-width:768px) {
    .container { width: 100%; }
}
@media screen and (min-width:1429px) {
    .container { width: 1330px; }
}
/*@media screen and (min-width:1629px) {
    .container { width: 1599px; }
}
*/

.custom-container.content-page-block { padding: 80px 0; }


[class*="button--"] { display: inline-block; }
[class*="button--"] a { color: var(--whitecolor); padding: 18px 34px 20px 34px; text-align: center; border-radius: 50px; display: var(--flex); justify-content: var(--justifycenter); align-items: var(--aligncenter); position: var(--relative); border: 2px solid var(--whitecolor); font-size: 18px; line-height: 1; font-weight: 500; }
[class*="button--"] a:hover { opacity: 0.6; }
[class*="button--"].has-icon a { display: var(--flex); align-items: var(--aligncenter); gap: 20px; }
[class*="button--"].has-icon a > img { max-width: 21px; }
[class*="button--"].has-icon a span.icon { display: flex; width: 10px; height: 10px; align-items: center; justify-content: center; transition: 400ms; transform: translateX(-50px); opacity: 0; visibility: hidden; }
[class*="button--"].has-icon a:hover span.icon { opacity: 1; visibility: visible; transform: none; }

.button-group { text-align: center; }
.button-group [class*="button--"] { margin: 0 20px; }

.button--1 > a { background-color: var(--primarycolor); border-color: var(--primarycolor); }
.button--1 > a:hover { background-color: var(--primarycolor); }

.button--2 > a { background-color: transparent; color: var(--primarycolor); border-color: var(--primarycolor); }
.button--2 > a:hover { background-color: var(--whitecolor); }

.button--2.has-icon a SVG .main-part-icon { fill: var(--primarycolor); }

.button--3 > a { background-color: transparent; color: var(--primarycolor); padding: 0; border: none; }

[class*="button--"] a.disabled { pointer-events: none; opacity: 0.5; cursor: default; }


[class*="button--"] a > * { position: var(--relative); z-index: 1; }

@media screen and (max-width:1199px) {
    [class*="button--"].has-icon a,
    .button--1 > a { padding: 10px 19px 10px 20px; }
    .button--3 > a,
    .button--3.has-icon > a { padding: 0; }
}

@media screen and (max-width:767px) {
    [class*="button--"] > a { font-size: 16px; line-height: 24px; padding: 6px 15px 6px 15px; }
    [class*="button--"].has-icon a,
    .button--1 > a { padding: 5px 15px 5px 15px; }
    .button--3 > a,
    .button--3.has-icon > a { padding: 0; }
}


/*.title-content-wrapper .top-title { margin: 0 0 10px 0; }*/
.title-content-wrapper .top-title { margin: 0 0 20px 0; color: var(--primarycolor); display: flex; align-items: center; gap: 10px; }
.title-content-wrapper .main-title h1 { margin: 0; }
.title-content-wrapper .top-title img { max-width: 18px; }
.title-content-wrapper.text-center .top-title { justify-content: center; }
.title-content-wrapper .content { max-width: 820px; }
.title-content-wrapper.text-center .content { margin: 0 auto; }

@media screen and (max-width:1199px) {
    .title-content .title h2:after { right: 0px; }
}
@media screen and (max-width:767px) {
    .title-content { margin: 0 auto 40px auto; }
    .title-content .title h2:after, .title-content .title.left-icon h2:after { display:none; }
    .title-content.text-center { max-width: 100%; margin: 0 auto 20px auto; }
}

.title-content .title.has-underline h3 { position: var(--relative); padding: 0 0 20px 0; }
.title-content .title.has-underline h3:after { content: ''; background-color: var(--secondarycolor); width: 50px; height: 2px; position: absolute; bottom: 0; left: 0; }



.bar1,
.bar2,
.bar3 { display: block; height: 3px; margin: 5px 0; position: var(--relative); transition: 0.4s; border-radius: 0; background-color: var(--secondarycolor); }
.bar1 { width: 30px; margin-top: 0; }
.bar2 { width: 20px; margin-left: auto; }
.bar3 { width: 10px; margin-left: auto; margin-bottom: 0; }
.menu-icon.active .bar2 { display: none }
.menu-icon.active .bar1,
.menu-icon.active .bar3 { width: 25px }
.menu-icon.active .bar1 { -webkit-transform: rotate(45deg); transform: rotate(45deg); top: 7px; left: 4px }
.menu-icon.active .bar3 { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); top: -1px; left: 4px }

.close-bar { background-color: var(--primarycolor); position: absolute; top: 50%; left: 0; width: 100%; height: 2px; transition: transform 0.3s ease; }


.shape { position: absolute; transition: 400ms; opacity: 0.75; z-index: 1; background-color: #E3DFCA; display: block; }
.shape.shape-horizintal { width: 175px; height: 54px; transform: rotate(-2deg); }
.shape.shape-verticle { width: 54px; height: 175px; transform: rotate(-2deg); }


header.header { position: fixed; top: 0; left: 0; width: 100%; padding: 20px 0; transition: var(--transition400ms); z-index: 9; transition: 400ms; }
header.header .inner { display: flex; align-items: center; justify-content: space-between; }
header.header .inner .social-media ul { display: flex; align-items: center; gap: 10px; }
header.header .inner .social-media ul li a { width: 44px; height: 44px; border: 1px solid rgb(255, 255, 255, 0.10); border-radius: 50px; display: flex; align-items: center; justify-content: center; }
header.header .inner .social-media ul li a img { max-width: 16px; max-height: 16px; filter: brightness(0) invert(1); }
header.header .inner .social-media ul li a:hover { border-color: var(--primarycolor); background-color: var(--primarycolor); opacity: 1; }
header.header .inner .header-logo img { max-width: 171px; }

header.header .inner .social-media select { width: 44px; height: 44px; padding: 0; font-size: 14px; border: 1px solid rgb(255, 255, 255, 0.10); border-radius: 50px; display: flex; align-items: center; justify-content: center; appearance: none; text-align: center; cursor: pointer; transition: 400ms; color: var(--whitecolor); margin: 0; }
header.header .inner .social-media select:hover { border-color: var(--primarycolor); background-color: var(--primarycolor); }
header.header .inner .social-media select option { color: var(--whitecolor); background-color: var(--primarycolor); }

header.header .inner .social-media { width: 300px; }
header.header .inner .header-logo { width: 200px; }
header.header .inner .header-logo a { display: block; }
header.header .inner .header-logo a img { margin: 0 auto; }
header.header .inner .right-content { width: 300px; text-align: right; }

body.scrolled header.header { background-color: var(--secondarycolor); }

body:not(.home) header.header { background-color: var(--secondarycolor); }




.custom-container.content-page-block h2 { font-size: clamp(1.75rem, 1.6rem + 0.75vw, 2.5rem); }
.custom-container.content-page-block h3 { font-size: clamp(1.375rem, 1.25rem + 0.625vw, 2rem); }
.custom-container.content-page-block h1 { margin: 0 0 30px 0; }
.custom-container.content-page-block p + h2 { margin-top: 60px; }
.custom-container.content-page-block p + h3 { margin-top: 30px; }
.custom-container.content-page-block ul { display: flex; flex-direction: column; gap: 6px; padding: 0 0 30px 30px; }
.custom-container.content-page-block ul li { position: relative; padding: 0 0 0 36px; font-size: 86%; }
.custom-container.content-page-block ul li:before { content: ''; background: url(../image/favicon-icon.png) no-repeat center center / 16px; position: absolute; left: 0; top: 5px; width: 16px; height: 12px; }





@media screen and (max-width:1200px) {
    header.header { padding: 10px 0; }
    header.header .inner .social-media ul li a { width: 30px; height: 30px; }
    header.header .inner .social-media ul li a img { max-width: 12px; max-height: 12px; }
    header.header .inner .social-media select { width: 30px; height: 30px; font-size: 10px; }
    header.header .inner .social-media ul { gap: 4px; }
    header.header .inner .right-content [class*="button--"].has-icon a { padding: 6px 9px 6px 10px; gap: 10px; font-size: 14px; }
    header.header .inner .right-content [class*="button--"].has-icon a img { max-width: 14px; }
    header.header .inner .header-logo { width: 20%; }
    header.header .inner .right-content { width: 40%; }
    header.header .inner .social-media { width: 40%; }
}


@media screen and (max-width:767px) {
    header.header { padding: 0; }
    header.header .inner { flex-flow: row wrap; }
    header.header .inner .social-media { width: 100%; padding: 0 25px; background-color: var(--primarycolor); transition: 400ms; }
    header.header .inner .header-logo a img { margin: 0; max-width: 120px; }
    header.header .container { padding: 0; }
    header.header .inner .social-media ul { gap: 10px; justify-content: center; }
    header.header .inner .social-media ul li { width: calc((100% - 90px) / 4); }
    header.header .inner .social-media ul li:has(select.language-switcher) select { width: auto; height: auto; border: none; appearance: auto; text-align: left; padding: 10px 10px; }
    header.header .inner .social-media ul li a { width: auto; height: auto; border: none; padding: 10px 10px; }
    header.header .inner .header-logo { padding: 20px 0 20px 15px; width: 40%; }
    header.header .inner .right-content { width: 60%; padding: 20px 15px 20px 0; text-align: right; }
    header.header .inner .right-content [class*="button--"].has-icon a { padding: 5px 10px 5px 10px; gap: 10px; font-size: 14px; line-height: normal; }
    header.header .inner .right-content [class*="button--"].has-icon a img { max-width: 12px; }

    body.scrolled header.header { transform: translateY(-39px); }
}






/* Test page CSS */
.fontfamilytesting { font-size: 44px; line-height: normal; text-align: center; padding: 80px 0; }
.fontfamilytesting > div { padding: 25px 0; }
