@font-face {
    font-family: 'GT America Exp Rg';
    src: url('gtamerica-exprg.woff2') format('woff2'),
        url('gtamerica-exprg.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Open Sans';
    src: url('opensans-bold.woff2') format('woff2'),
        url('opensans-bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('opensans-regular.woff2') format('woff2'),
        url('opensans-regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Termina';
    src: url('termina-regular.woff2') format('woff2'),
        url('termina-regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/*
 * 
font-family: degular,sans-serif;
font-weight: 400;
font-style: normal;

*
font-family: termina,sans-serif;
font-weight: 500; 
*/



body {
    font-family: 'Open Sans';
    font-size: 1.0vw;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.35;
    letter-spacing: -0.007vw;
    color: #000;
    margin-bottom: 0vw;
    padding-left: 5.521vw;
    position: relative;
    background-color: #F0F0F0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #000;
    font-family: 'GT America Exp Rg';
    margin: 0vw;
}

h1 {
    font-family: 'GT America Exp Rg';
    font-size: 3.96vw;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.12;
    letter-spacing: -0.04vw;
    color: #000;
}

h2 {
    font-size: 4.26vw;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.134;
    letter-spacing: -0.034vw;
}

h3 {
    font-size: 3.8vw;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.17;
    letter-spacing: -0.03vw;
}

h4 {
    font-size: 4.583vw;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 0.93;
    letter-spacing: -0.115vw;
}

h5 {
    font-size: 3.906vw;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.07;
    letter-spacing: -0.098vw;
}

h6 {
    font-family: degular,sans-serif;
    font-size: 1.5vw;
    font-weight: 400;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.25;
    letter-spacing: 0.124vw;
    color: #01584B;
    text-transform: uppercase;
    padding-left: 0.2vw;
}

br {
    display: block;
}

.m {
    display: none;
}

.mobile_only {
    display: none !important;
}
p:last-child{
    margin:0px !important;
}

@keyframes rotate-animation {
    0% {
        transform: rotate(0deg);
  }
  50% {
        transform: rotate(180deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


@media (max-width: 768px) {
    br {
        display: none;
    }
    .m {
        display: block;
    }
    .mobile_only {
        display: block !important;
    }
}

a:hover {
    -webkit-filter: unset;
    filter: unset;
}

.section_inner {
    width: 100%;
    display: flex;
    margin: 0px auto;
    flex-wrap: wrap;
    position: relative;
    box-sizing: border-box;
}

.link {
    display: block;
}

.link a.gbutton {
    font-family: termina,sans-serif;
    font-size: 0.57vw;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.32;
    letter-spacing: 0.107vw;
    color: #191414;
    background-color: #EBFF00;
    text-transform: uppercase;
    display: inline-block;
    border-radius: 20vw;
    padding: 1.58vw 4.31vw 1.35vw 2.671vw;
    border: 2px solid #000000;
    position: relative;
}

.link a.gbutton span {
    padding-left: 0vw;
    top: -1px;
    width: 0.8vw;
    position: absolute;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    right: 2.1vw;
}

.link a.gbutton span svg {
    display: block;
    width: 100%;
    height: 100%;
}

.link a.gbutton span svg line {}

.link a.gbutton span svg path {}


/*
   Media 768
-----------------------------*/
@media screen and (max-width: 1024px) {
    body{
        font-size: 1.12vw;
    }
}
@media screen and (max-width: 768px) {
    body {
        font-size: 3.5vw;
        font-weight: 500;
        font-stretch: normal;
        font-style: normal;
        line-height: 1.4;
        letter-spacing: 0.02vw;
        padding-left: 0vw;
    }
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {}
    h1 {
        font-size: 7.3vw;
        font-weight: normal;
        font-stretch: normal;
        font-style: normal;
        line-height: 1.15;
        letter-spacing: -0.1vw;
    }
    h2 {
        font-size: 9.4vw;
        font-weight: normal;
        font-stretch: normal;
        font-style: normal;
        line-height: 1.15;
        letter-spacing: -0.1vw;
    }
    h3 {
        font-size: 13.867vw;
        font-weight: normal;
        font-stretch: normal;
        font-style: normal;
        line-height: 0.92;
        letter-spacing: -0.347vw;
    }
    h4 {
        font-size: 12.533vw;
        font-weight: normal;
        font-stretch: normal;
        font-style: normal;
        line-height: 0.94;
        letter-spacing: -0.315vw;
    }
    h5 {
        font-size: 7.467vw;
        font-weight: normal;
        font-stretch: normal;
        font-style: normal;
        line-height: 1.39;
        letter-spacing: -0.187vw;
    }
    h6 {
        font-size: 4.5vw;
        font-stretch: normal;
        font-style: normal;
        line-height: 1.35;
        letter-spacing: 0.45vw;
        font-weight: 400;
    }
    a:hover {}
    .section_inner {}
    .link {}
    .link a.gbutton {
        font-size: 1.9vw;
        font-weight: bold;
        line-height: 1.31;
        letter-spacing: 0.22vw;
        padding: 4.6vw 13.7vw 4.2vw 8.6vw;
        text-align: left;
    }
    .link a.gbutton span {
        width: 2.6vw;
        right: 6.3vw;
        top: 0px;
    }
    .link a.gbutton span svg {}
    .link a.gbutton span svg line {}
    .link a.gbutton span svg path {}
}


/* 
=======================================
  Site Header Section
=========================================*/

html {
    padding-top: 0 !important;
}


/*
      Header
  ------------------------------*/

  .header--overlay {
    padding-top: 0vw;
    padding-bottom: 0vw;
    width: 5.521vw;
    left: 0vw;
    height: 100%;
    background-color: #000000;
    border-right: 1px solid #FFF;
}

.header__block--logo{
    width: 100%;
    margin: 0px !important;
    padding-left: 1.7vw;
    padding-top: 1.77vw;
    padding-right: 1.5vw;
    padding-bottom: 2.25vw;
}
.header__block--menu{
    margin: 0px !important;
    display: inline-block !important;
    width: 100%;
}

.header .header__block--menu a,
.header .header__block--dropdown a,
.header .header__block--user .dropdown__menu a,
.header .user__login a {
    text-transform: uppercase;
    font-weight: bold;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: -0.026vw;
    position: relative;
    display: block;
    padding-bottom: 0.26vw;
    margin: 0 0vw !important;
}

.header .header__block--menu a:after,
.header .user__login a:after {
    content: " ";
    background-color: #fe6732;
    position: absolute;
    left: 0;
    width: 12px;
    height: 26px;
    top: 50%;
    transform: translate(-0%, -50%);
    opacity: 0;
}

.header .header__block--menu a:hover:after,
.header .user__login a:hover:after {
    /* background-color: #e2a883; */
}

.header .justify-content-right{
    display: block;
    justify-content: unset;
    -webkit-box-pack: unset;
    -ms-flex-pack: unset;
    transform: rotate(180deg);
}
.header .header__block--menu a {
    padding: 1.55vw 2.3vw 2vw 2.3vw;
    font-size: 0.729vw;
    text-transform: uppercase;
    letter-spacing: 0.02vw;
    font-family: termina,sans-serif;
    writing-mode: vertical-rl;
    color: #F0F0F0;
    font-weight: 5;
    font-weight: normal;
}
.header .header__block--menu a:hover{
    color: #EBFF00;
}
.header__block--user .dropdown__menu {
    left: auto;
    right: 0;
}

.header__content {
    padding: 0vw 0vw !important;
    /* border-bottom: 0.052vw solid; */
}

.header__container {
    max-width: unset;
    padding-right: 0vw;
    padding-left: 0vw;
    width: 100%;
    -webkit-box-align: unset;
    -ms-flex-align: unset;
    align-items: unset;
    -webkit-box-pack: unset;
    -ms-flex-pack: unset;
    justify-content: unset;
    display: block;
}

.pf4_site_header {
    position: relative;
    width: 5.521vw;
    padding-right: 0vw;
}

.pf4_site_header.active {
    /* background-color: #FFF; */
}

.header__content--desktop .header__block .user__login a {
    font-family: 'Calibre';
    padding: 1.615vw 0vw 1.094vw 0vw !important;
}


/*
   Media 768
-----------------------------*/

@media (max-width: 768px) {
    .header--overlay{
    /* padding-left: 5.6vw; */
    /* padding-right: 8vw; */
    width: 100%;
    height: auto;
    position: relative;
    z-index: 2;
    padding-top: 1.5vw;
    border: 0px;
    padding-bottom: 0.76vw;
    border-bottom: 1px solid #FFFFFF;
}
    .pf4_site_header {
        padding-right: 0vw;
        /* background-color: #8A911A; */
        width: 100%;
    }
    .header__content--desktop .header__block--menu,
    .header__wrap .header__content .header__block--user {
        display: none;
    }
    .logo__image {
        max-width: unset;
        width: 47.733vw !important;
        display: none;
    }
    logo__image.mobile_only{
        display: block;
    }
    .header__container {
        max-width: 100%;
        padding-right: 0;
        padding-left: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
    .header__content {
        border-bottom: 0vw solid;
        /* position: absolute; */
        /* width: 100%; */
        padding-left: 5.6vw !important;
        padding-right: 8vw !important;
    }
    .hamburger.hidden--desktop .hamburger__slice {
        height: 1px;
        background-color: #FFFFFF;
    }
    .hamburger.hidden--desktop .hamburger__slice.hamburger--slice-1 {
        width: 9.133vw;
        margin-left: 0vw;
        right: 0vw;
    }
    .hamburger.hidden--desktop .hamburger__slice.hamburger--slice-2 {
        width: 9.133vw;
        right: 0vw;
        top: 2.1vw;
    }
    .hamburger.hidden--desktop .hamburger__slice.hamburger--slice-3 {
        top: 2.1vw;
        width: 9.133vw;
        right: 0vw;
    }
    .hamburger.hidden--desktop .hamburger__slice.hamburger--slice-4 {
        width: 9.133vw;
        right: 0vw;
        top: 4vw;
    }
    .header .header__block--menu a,
    .header .header__block--dropdown a,
    .header .header__block--user .dropdown__menu a,
    .header .user__login a {
        border: 0vw saddlebrown;
        /* font-family: 'Sweet Sans Pro'; */
        font-size: 3.6vw;
        /* font-weight: bold; */
        font-stretch: normal;
        font-style: normal;
        line-height: normal;
        letter-spacing: 0.4vw;
        padding: 4vw 5.333vw 8.49vw 17.9vw !important;
        margin: 0vw 0vw 0vw 0vw !important;
        position: relative;
        writing-mode: unset;
    }
    .header__content--mobile .link-list {
        display: block;
        text-align: left;
        border: 0vw;
        background-color: #000;
        padding: 19.3vw 0vw 138.667vw 0vw;
        position: relative;
        transform: rotate(0deg);
    }
    .header__content--mobile .link-list:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        bottom: -99%;
        left: 0vw;
        background-color: cyan;
        z-index: 55;
        overflow: visible;
        display: none;
    }
    .hamburger {
        display: block !important;
        position: absolute;
        top: 4.2vw;
        right: 0vw;
        width: 9.133vw;
        height: 0.533vw;
    }
    .header__content--desktop .header__block .user__login a {}
    .header__content--mobile .link-list__link:hover {
        text-decoration: none;
        background-color: #faebd700;
    }
    .header .header__block--menu a:hover:after,
    .header .user__login a:hover:after {
        opacity: 1;
    }

    .header__content--mobile{
        position: absolute;
        left: 0vw;
        width: 100%;
        padding-left: 0vw !important;
        padding-right: 0vw !important;
        top: 14vw;
        border-top: 1px solid #fff;
    }
}


.announcements{
    padding-left: 5.521vw;
    position: absolute;
    top: 0vw;
    left: 0vw;
    z-index: 4;
    width: 100%;
    opacity: 0;
}
.announcements_in{
    /* border-left: 1px solid #FFF; */
    padding-left: 2.8vw;
    padding-right: 2.8vw;
    width: 100%;
    display: block;
}
.announcements .section_inner{
    border-bottom: 1px solid #FFF;
    font-family: termina,sans-serif;
    text-align: center;
    display: block;
    font-size: 0.677vw;
    padding-top: 0.9vw;
    padding-bottom: 0.7vw;
}
.announcements p{
    color: #FFF;
    line-height: 1.59;
    letter-spacing: 0.057vw;
}
.announcements p a{
    color: #EBFF00;
    position: relative;
    display: inline-block;
}
.announcements p a:before{
    content:
    "";
    position: absolute;
    bottom: 0.1vw;
    left: 0px;
    width: 100%;
    height: 1px;
    background-color: #EBFF00;
}

@media (max-width: 768px) {
    .announcements{
        padding-left: 0vw;
        position: relative;
        background-color: #000;
        z-index: 1;
        opacity: 1;
    }
    .announcements_in{
        padding-left: 4.7vw;
        padding-right: 4.7vw;
    }
    .announcements .section_inner{
        font-size: 2.3vw;
        padding-top: 12px;
        padding-bottom: 10px;
    }
    .announcements p{
        letter-spacing: 0.15vw;
    }
    .announcements p a{}
    .announcements p a:before{
        bottom: 0.7vw;
    }

    #section-header{
        position: relative;
    }
}

/* Section Service 01 **********************************************************/
.n404{
    background-color: #F0F0F0;
    padding-top: 4.15vw;
    padding-left: 8.4vw;
    padding-right: 4.4vw;
    padding-bottom: 6.15vw;
}
.n404 .section_inner{ }

.n404_left{
    width: 41%;
    padding-right: 0.1vw;
    padding-left: 2.53vw;
}
.n404_left h1{
    text-transform: uppercase;
    font-size: 6.04vw;
    margin-left: -2.2vw;
    width: 140%;
    letter-spacing: -0.09vw;
    padding-bottom: 3.0vw;
}
.n404_img{
    width: 100%;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 31.7vw;
}
.n404_img img{
    width: 10%;
    opacity: 0;
}

.n404_right{
    width: 59%;
    padding-top: 16.9vw;
    padding-left: 10.6vw;
    padding-bottom: 7vw;
}
.n404_right h2{
    text-transform: uppercase;
    text-transform: uppercase;
    font-size: 6vw;
    margin-left: -14.2vw;
    width: 140%;
    letter-spacing: -0.12vw;
    display: block;
    padding-bottom: 6.14vw;
}

.ns1_right h6{
    text-transform: uppercase;
    padding-left: 5.14vw;
    padding-top: 1.4vw;
}
.n404_right h6 br{}
.n404_right h6 br.m{}
.n404_right h6 a{
    color: #01584B;
    border-bottom: 2px solid #01584B;
    line-height: 1.1;
    display: inline-block;
}

@media (max-width: 768px) {
    .n404{padding-top: 10.9vw;padding-left: 8.4vw;padding-right: 4.4vw;padding-bottom: 6.99vw;}
    .n404 .section_inner{ }

    .n404_left{width: 100%;padding-left: 9.4vw;padding-right: 13.4vw;}
    .n404_left h1{
        font-size: 9.04vw;
        margin-left: -3.4vw;
        letter-spacing: -0.34vw;
        padding-bottom: 3.1vw;
    }
    .n404_img{height: 66.2vw;}
    .n404_img img{ }

    .n404_right{width: 100%;padding-top: 4.1vw;padding-left: 10.6vw;padding-bottom: 7vw;}
    .n404_right h2{font-size: 9.04vw;margin-left: -5.2vw;letter-spacing: -0.37vw;padding-bottom: 6.2vw;width: 100%;display: block;}

    .n404_right h6{padding-left: 2.8vw;}
    .n404_right h6 br{}
    .n404_right h6 br.m{}
    .n404_right h6 a{
        line-height: 1.1;
    }
}




/* Site footer **********************************************************/
.site_footer{
    background-color: #01584B;
    padding-left: 2.8vw;
    padding-right: 2.8vw;
    padding-bottom: 5.1vw;
}
.site_footer .section_inner{
    display: block;
}


.site_footer_bottom{
    background-color: #000000;
    padding-top: 1.7vw;
    padding-bottom: 1.7vw;
}
.site_footer_bottom .section_inner{
    color: #FFFFFF;
    font-family: termina,sans-serif;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
    display: block;
    font-size: 0.7vw;
    letter-spacing: 0.1vw;
}
.site_footer_bottom a{
    position: relative;
    color: #EBFF00;
    display: inline-block;
}
.site_footer_bottom a:before{
    content:
    "";
    height: 1px;
    width: 100%;
    display: block;
    position: absolute;
    bottom: 2px;
    left: 0px;
    background-color: #EBFF00;
}
.site_footer_bottom span{
    padding-right: 1.2vw;
}

@media (max-width: 768px) {
    .site_footer{
        padding-left: 4.5vw;
        padding-right: 4.5vw;
        padding-bottom: 10.9vw;
    }
    .site_footer .section_inner{}

    .site_footer_top{
        padding-top: 6.8vw;
        padding-left: 5.5vw;
        padding-right: 0vw;
        padding-bottom: 3.8vw;
    }
    .site_footer_top .left{
        width: 100%;
        padding-right: 11.6vw;
    }
    .site_footer_top .left img{}

    .site_footer_top .right{
        width: 100%;
        display: block;
        padding-left: 0vw;
        padding-top: 6vw;
    }
    .site_footer_top .right ul{
        display: flex;
        flex-wrap: wrap;
        box-sizing: border-box;
    }
    .site_footer_top .right ul li{
        width: 62%;
        padding-left: 0.8vw;
        padding-bottom: 5vw;
    }
    .site_footer_top .right ul li:nth-child(even) {
        width: 38%;
    }
    .site_footer_top .right ul li a{
        font-size: 3vw;
        letter-spacing: 0.23vw;
    }

    .site_footer_info{
        padding-left: 5vw;
        padding-top: 8.5vw;
    }
    .site_footer_info .left{
        width: 100%;
        order: 2;
        padding-left: 1vw;
        text-align: left;
        padding-top: 8.3vw;
    }
    .site_footer_info .left p{
        font-size: 2.79vw;
        letter-spacing: 0.11vw;
    }

    .site_footer_info .right{
        width: 100%;
        order: 1;
        padding-left: 0vw;
    }
    .site_footer_info .right article{
        padding-left: 2.6vw;
    }
    .site_footer_info .right article h6{
        font-size: 3vw;
        letter-spacing: 0.2vw;
        padding-bottom: 0.95vw;
    }
    .site_footer_info .right article p{
        font-size: 2.54vw;
        letter-spacing: 0vw;
    }
    .site_footer_info .right article p a{}

    .site_footer_bottom{
        padding-top: 5.7vw;
        padding-bottom: 5vw;
    }
    .site_footer_bottom .section_inner{
        font-size: 2vw;
        letter-spacing: 0.37vw;
        padding-left: 1.5vw;
    }
    .site_footer_bottom a{}
    .site_footer_bottom span{
        display: block;
        padding-bottom: 2.56vw;
    }
    
    .mouse-container{
        display: none !important;
    }
}



.cursor{
    width: 1.5vw;
    height: 1.5vw;
    border: 1px solid #000;
    border-radius: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 99;
    background-color: #EBFF00;
    transition: all 0.3s ease;
    top: 50%;
    left: 53%;
    transition-property: background, transform;
    transform-origin: 100% 100%;
}

.link-grow{
    transform: scale(2);
    background-color: transparent;
}