html,body,div,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,fieldset,input { margin: 0; padding: 0; }
h1,h2,h3,h4,h5,h6,pre,code,address,caption,cite,code,em,strong,th { font-size: 1em; font-weight: normal; font-style: normal; }
ul,ol { list-style: none; }
fieldset,img { border: none; }
caption,th { text-align: left; }
table { border-collapse: collapse; border-spacing: 0; }
object{ outline: 0; }
strong, b, strong *, b * { font-weight: bold; }
em, i, em *, i * { font-style: normal !important; }
a:focus, input:focus{ outline-style: none; }
textarea{ outline: none; }
*{ box-sizing: border-box; }

body{ color: #000000; font-size: 14px; line-height: 21px; background: #FAF9F9; padding: 0; font-family: 'Inter', sans-serif;  }

.text{ font-size: 18px; line-height: 1.7; font-family: "Libre Baskerville", serif; color: #15364B }
    .text.center{ text-align: center; }

.langs{ height: 50px; margin-left: 10px; }

/* Grid */
.grid{ display: grid; grid-gap: 64px; }
    .grid.narrow{ grid-gap: 32px; }
	.grid.no-gap{ grid-gap: 0; }
    .grid.grid-2{ grid-template-columns: 1fr 1fr; }
    .grid.grid-3{ grid-template-columns: 1fr 1fr 1fr; }
    .grid.grid-4{ grid-template-columns: 1fr 1fr 1fr 1fr; }
    .grid.grid-5{ grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
    .grid.grid-6{ grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }
    .grid.grid-2-3{ grid-template-columns: 2fr 3fr; }
    .grid.grid-3-9{ grid-template-columns: 3fr 9fr; }
    .grid.grid-9-3{ grid-template-columns: 9fr 3fr; }
    .grid.grid-7-5{ grid-template-columns: 7fr 5fr; }
    .grid.grid-6-4{ grid-template-columns: 6fr 4fr; }
    .grid.grid-3-1{ grid-template-columns: 3fr 1fr; }
    .grid.grid-1-3{ grid-template-columns: 1fr 3fr; }
    .grid.grid-1-2{ grid-template-columns: 1fr 2fr; }
    .grid.grid-5-2{ grid-template-columns: 5fr 2fr; }

.h1{ font-size: 36px; font-weight: 700; line-height: 1.3; }
.h2{ font-size: 30px; font-weight: 700; line-height: 1.3; }
.h3{ font-size: 24px; font-weight: 700; line-height: 1.3; }
.h4{ font-size: 20px; font-weight: 700; line-height: 1.3; }
.h5{ font-size: 18px; font-weight: 700; line-height: 1.3; }
.h6{ font-size: 16px; font-weight: 700; line-height: 1.3; }


.caps{ text-transform: uppercase; letter-spacing: 2px; }

.title-block{ text-align: center; padding-top: 64px; }
    .title-block h1{ display: inline-block;  }

/* Animations */
@keyframes spin{ from {transform:rotate(0deg);} to {transform:rotate(360deg);} }
.rotating{ animation: spin 1s linear infinite; }

/* Margin */

.m-0{ margin: 0 !important; }
.mb-1{ margin-bottom: 8px; }
.mb-2{ margin-bottom: 16px; }
.mb-3{ margin-bottom: 32px; }
.mb-4{ margin-bottom: 64px; }
.mt-1{ margin-top: 8px; }
.mt-2{ margin-top: 16px; }
.mt-3{ margin-top: 32px; }
.mt-4{ margin-top: 64px; }

.flex{ display: flex; }
    .flex .right{ margin-left: auto; }
    .flex.center{ align-items: center; justify-content: center; }

.logos img{ height: 100px;  mix-blend-mode: multiply;}
.logos a{ margin: 0 24px 24px 24px; }

.logo{ height: 70px; width: auto; }
.logo-text{ height: 40px; width: auto; }

.header .logo-wp{ padding: 12px 0; }

/* Layout elements */
.container{ max-width: 1380px; margin: auto; padding: 0 20px; }
.container.medium{ max-width: 960px; }

/* Padding */

.px-1{ padding-left: 8px; padding-right: 8px; }
.px-2{ padding-left: 16px; padding-right: 16px; }
.px-3{ padding-left: 24px; padding-right: 24px; }
.px-4{ padding-left: 36px; padding-right: 36px; }
.px-5{ padding-left: 48px; padding-right: 48px; }
.px-6{ padding-left: 64px; padding-right: 64px; }
.px-7{ padding-left: 96px; padding-right: 96px; }

.py-1{ padding-top: 8px; padding-bottom: 8px; }
.py-2{ padding-top: 16px; padding-bottom: 16px; }
.py-3{ padding-top: 24px; padding-bottom: 24px; }
.py-4{ padding-top: 36px; padding-bottom: 36px; }
.py-5{ padding-top: 48px; padding-bottom: 48px; }
.py-6{ padding-top: 64px; padding-bottom: 64px; }
.py-7{ padding-top: 96px; padding-bottom: 96px; }

.text ul li{ list-style-type: disc; }
    .text .h4{ font-family: 'Inter', sans-serif; }

@media (min-width: 960px) {
    .section.even .grid div:first-child{ grid-column: 2; grid-row: 1; }
    .section.even .grid div:last-child{ grid-column: 1; grid-row: 1; }    
}

.tile{ box-shadow: 0 12px 24px rgba(0,0,0,0.2); border-radius: 8px; background: #eee; overflow: hidden; }
    .tile.contact-item{ overflow: visible; background: #fff; margin-bottom: 32px; }
    .tile .flag-img{ text-align: center; }
        .tile .flag-img img{ margin: -18px auto auto auto; width: 48px; height: auto; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.3); }
    .tile .img{  border-bottom: #ddd 1px solid; padding: 16px;  background: #fff; }
        .tile img{ height: 180px; width: auto; margin: auto; }
    .tile li{ list-style-type: disc; }
    .tile ul{ padding-left: 12px; }
    .tile .text{ font-size: 14px; color: #15364B !important; }
    .tile .content{ padding: 18px 24px; color: #15364B !important; }

.header{ background: #0E0E0E; border-bottom: rgba(255,255,255,0.3) 1px solid; }
    .header .menu-item{ display: flex; align-items: center; justify-content: center; }
    .header .menu-item a{ color: #fff; display: block; padding: 36px 18px; font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; }
        .header .menu-item:hover, .header .menu-item.active{ background: linear-gradient(rgba(255,255,255,0.2), rgba(255,255,255,0)); }
    .header .menu-item{ border-left: rgba(255,255,255,0.3) 1px solid; }
    .header .menu-item:last-child{ border-right: rgba(255,255,255,0.3) 1px solid; }


.hero{ position: relative; }
    .hero .in{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; color: #fff; z-index: 1; display: flex; align-items: center; justify-content: center; }
    .hero .container{ flex: 1}
    .hero .text{ color: #fff; }
    .hero .inner{ width: 60%; }

/* .sub{ padding-bottom: 12px; background: url('underline-blue.png') bottom left no-repeat; display: inline-block; }
.dark .sub, .hero .sub{ background-image: url('underline-yellow.png'); } */

.content .h2{ border-bottom: #0d2b8e 3px solid; }
    .content .h2 .sub{ background: #0d2b8e; display: inline-block; padding: 12px 48px 10px 24px; font-size: 18px; text-transform: uppercase; color: #fff; letter-spacing: 3px; clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 100%, 0 100%, 0 36px); line-height: 1; }

.dark .content .h2{ border-bottom-color: #fff; }
    .dark .content .h2 .sub{ background-color: #fff; color: #000; }

.b-top{ border-top: rgba(128, 128, 128, 0.2) 1px solid;}




/* Generic */
img{ display: block; width: 100%; }
button{ background: none; border: none; outline: none; cursor: pointer; }
a{ color: inherit; text-decoration: none; }


.link{ color: #1782b5; cursor: pointer; }
	.link:hover{ text-decoration: underline; }

.hidden{ display: none; }

/* Colored text */
.green{ color: #3BB43A; }
.red{ color: #E23535; }
.strong{ font-weight: 600 !important; }
.color-gray{ color: #A9A9A9; }
.black{ color: #000; }


.btn{ font-size: 14px; line-height: 1; transition: .3s; cursor: pointer; border-radius: 4px; overflow: hidden; background: #0d2b8f; color: #fff; display: inline-block; text-transform: uppercase; font-size: 14px; letter-spacing: 1px; font-weight: 600; padding: 16px 30px; font-family: 'Inter', sans-serif; }
	.btn:hover{ box-shadow: 0 4px 10px 0 rgba(0,0,0,0.1); }


.dark{ background: linear-gradient(90deg, #1a2b42, #1c235c, #151f3d); color: #fff; }
    .dark .text{ color: #fff; }
.gray{ background: linear-gradient(90deg, #E3EAF3, #EAECEE); }


.section .grid{ align-items: center; }

.section img{ clip-path: polygon(36px 0, 100% 0, 100% 100%, 0 100%, 0 36px); }
    .section .img{  clip-path: polygon(42px 0, 100% 0, 100% 100%, 0 100%, 0 42px); background: rgba(168, 190, 206, .25); padding: 12px;  }


.footer{ font-size: 18px; }
    .footer .right a{ font-size: 24px; margin-left: 24px; }


@keyframes mapradius {
    to { transform: scale(5); opacity: 0; }
    from { transform: scale(1); opacity: 1; }
}

.home-bottom .grid{ grid-template-columns: 1fr 360px; align-items: center; grid-gap: 24px; }
    .home-bottom img{ mix-blend-mode: screen; }

.big-map{ height: 640px; background-image: url('map-bg.png'); background-position: 50% 50%; background-size: cover; }
    .big-map img{ position: absolute; left: 0; bottom: 40px; width: 160px; height: auto; }
    .big-map .map{ height: 500px; width: auto; background: url('map.png'); background-position: 50% 50%; background-size: contain; aspect-ratio: 2/1; background-repeat: no-repeat; position: relative; margin: auto; }
    .big-map .pin{ width: 10px; height: 10px; background: #fff; border-radius: 100px; position: absolute; box-shadow: 0 0 10px 0 rgba(255,255,255,.8); }
        .big-map .pin .in{ width: 10px; height: 10px; position: absolute; top: 0; left: 0; animation: mapradius 1.5s ease-in-out infinite; background: #fff; border-radius: 100%; }
        .big-map .pin:nth-child(1){ top: 35%; left: 20%; }
            .big-map .pin:nth-child(1) .in{  animation-delay: .1s; }
        .big-map .pin:nth-child(2){ top: 50%; left: 25%; }
            .big-map .pin:nth-child(2) .in{  animation-delay: .2s; }
        .big-map .pin:nth-child(3){ top: 75%; left: 30%; }
            .big-map .pin:nth-child(3) .in{  animation-delay: .3s; }
        .big-map .pin:nth-child(4){ top: 35%; left: 50%; }
            .big-map .pin:nth-child(4) .in{  animation-delay: .4s; }
        .big-map .pin:nth-child(5){ top: 48%; left: 60%; }
            .big-map .pin:nth-child(5) .in{  animation-delay: .5s; }
        .big-map .pin:nth-child(6){ top: 55%; left: 52%; }
            .big-map .pin:nth-child(6) .in{  animation-delay: .6s; }
        .big-map .pin:nth-child(7){ top: 68%; left: 53%; }
            .big-map .pin:nth-child(7) .in{  animation-delay: .7s; }
        .big-map .pin:nth-child(8){ top: 48%; left: 73%; }
            .big-map .pin:nth-child(8) .in{  animation-delay: .8s; }
        .big-map .pin:nth-child(9){ top: 55%; left: 78%; }
            .big-map .pin:nth-child(9) .in{  animation-delay: .9s; }
        .big-map .pin:nth-child(10){ top: 78%; left: 85%; }
            .big-map .pin:nth-child(10) .in{  animation-delay: 1s; }


.intro{ margin-top: -100px; }
    .intro .container{ padding: 10px; background: #2c3469; clip-path: polygon(36px 0, 100% 0, 100% 100%, 0 100%, 0 36px); }
        .intro .container .in{ font-size: 20px; line-height: 1.7; background: #1f2128; color: #fff; padding: 48px 128px; clip-path: polygon(30px 0, 100% 0, 100% 100%, 0 100%, 0 30px); }


@media (min-width: 960px) {
    .mob{ display: none; }
}



@media (max-width: 960px) {

    .langs{ height: 33px; margin-left: 10px; }

    .big-map{ height: 300px; }
        .big-map .map{ height: 300px;  }
        .big-map img{ width: 50px; bottom: 20px; }

    .intro{ margin: 24px; }
    .intro .container .in{ font-size: 16px; line-height: 1.7; padding: 24px; }

    .grid.mob-break{ grid-template-columns: 1fr; }   
    .menu{ display: none; }
    .mob-menu{ display: none; }
        .menu-on .mob-menu{ display: block; }
    .mob-block{ display: block; }
    .logos img{ height: 80px; width: auto; margin: auto auto 16px auto; }

    .grid{ grid-gap: 32px; }

    .logo{ height: 40px; width: auto; }
        .logo-text{ height: 30px; width: auto;  }

    .mob-center{ text-align: center; }
        .footer .right{ margin-top: 32px; }
        .footer .right a{ margin: 0 16px; }

    .mob-menu .menu-item{ border-top: #333 1px solid; display: block; background: #000; }
        .mob-menu .menu-item a{ padding: 12px 24px; display: block; color: #fff; }

    .mob-menu-toggle div{ width: 20px; height: 1px; background: #fff; margin: 5px 0; }
        .menu-on .mob-menu-toggle div:nth-child(3){ display: none; }
        .menu-on .mob-menu-toggle div{ margin: 0; }
        .menu-on .mob-menu-toggle div:first-child{ transform: rotate(45deg) translateY(1px); }
        .menu-on .mob-menu-toggle div:nth-child(2){ transform: rotate(-45deg) translateY(-1px) }

    .hero{ position: relative; }
        .hero .img img{ height: 700px; width: 100%; object-fit: cover; object-position: -250px center;}
        .hero .in{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; color: #fff; z-index: 1; display: flex; align-items: center; justify-content: center; }
        .hero .text{ color: #fff; }
        .hero .inner{ width: 100%; }

    .mob-px-0{ padding-left: 0; padding-right: 0; }
    
}

@media (max-width: 640px) {
    .big-map{ height: 170px; }
        .big-map .map{ height: 170px; }
}