html {scroll-behavior:smooth;}
@media screen and (prefers-reduced-motion: reduce) {html {scroll-behavior:auto;}}
html, body {margin:0;padding:0;width:100%;height:100%;}

:root {
  --color-main:rgb(1,113,182);
  --color-main-washed:rgb(201,217,218);
  --color-main-washed-opposite:rgb(238,239,233);
  --color-main-washed-text:rgb(82,82,113);
  --color-white:rgb(255,255,255);
  --color-white-washed:rgb(245,245,246);
  --color-active:rgb(201,255,43);
  --color-active-alternative:rgb(163,46,114);
  --color-grey:rgb(245,245,245);
  --color-text:rgb(68,68,68);
  --color-text-second:rgb(120,120,120);
  --color-shadow:rgba(13,13,13,0.5);
  --color-light:rgba(0,0,0,0.025);
  --color-light-limited:rgba(0,0,0,0.125);
  --font-main: 'PT Sans Narrow', sans-serif;
  --font-second: 'Calibri Light', sans-serif;
  --spacing-side: calc(3rem + 12vw);
}

@media only screen and (max-width: 1500px) {:root {--spacing-side:calc(3rem + 13vw);}}
@media only screen and (max-width: 1300px) {:root {--spacing-side:calc(3rem + 7vw);}}
@media only screen and (max-width: 1025px) {:root {--spacing-side:calc(2rem + 3vw);}}
@media only screen and (max-width: 641px) {:root {--spacing-side:1vw;}}
@media only screen and (min-width: 1900px) {:root {--spacing-side:calc(3rem + 20vw);}}

:root {
  --spacing-side-small: calc((3rem + 12vw) / 2);
  --spacing-side-tiny: calc((3rem + 12vw) / 4);
}

body > header {padding:2.5em var(--spacing-side);position:fixed;z-index:3;top:0;width:100%;display:grid;box-sizing:border-box;}
body:not(.pop) > header {transition:all 0.8s;}
html[data-scroll]:not([data-scroll='0']) body > header {position:fixed;background:var(--color-main);padding:1.2em var(--spacing-side);box-shadow: 0 0 4px 1px var(--color-shadow);}
body > header * {font-size:16px;font-family:var(--font-main);color:var(--color-white-washed);font-weight:100;}
body > header a, a#cta {text-decoration:none;text-transform:uppercase;}
body > header h1 {grid-column:1 / span 1;margin:0;}
body > header h1 a {}
body > header ul {list-style-type:none;grid-column:2 / span 1;margin:0;padding:0;text-align:right;}
body > header ul li {display:inline-block;}
body > header ul li a {padding:0.1em 2vw;}body > header ul li a:last-child {padding-right:0;}
body > header ul li a:hover {color:var(--color-active);}

main article header {padding-top:calc(100px + 2vh);height:calc(100px + 30vh);position:relative;z-index:2;background:rgba(0,0,0,0.85);}
main article header:before {z-index:-2;content:"";position:absolute;top:0;bottom:0;left:0;right:0;background:url('img/background_header.png') top center / cover;opacity:0.5;}


main article header * {color:var(--color-white-washed);font-family:var(--font-main);}
main article header h1 {text-align:center;font-size:48px;text-transform:uppercase;font-weight:300;}
main article header h1 span {display:block;font-size:22px;font-weight:100;}
main article header ul {list-style-type:none;padding:0;float:left;position:relative;left:var(--spacing-side);}
main article header ul li {font-size:18px;font-weight:100;line-height:1.75;}
main article header ul li:before {content:"✔";color:var(--color-active);margin:0px;padding:0px;padding-right:0.3em;font-size:1.2em;}

a#cta {border:2px solid var(--color-white-washed);padding:0.75em 1.5em;float:right;position:relative;right:var(--spacing-side);top:90px;}
a#cta:hover {color:var(--color-main);border:2px solid var(--color-main);}

main article img, main article table {max-width:100%;}
div#type_comparison > * {background:rgba(100,100,100,0.001);overflow:hidden;white-space:nowrap;}
div#type_comparison {display:grid;grid-template-columns:repeat(5, 1fr);margin:3em auto 5em;max-width:1000px;text-align:center;overflow:auto;}
div#type_comparison ul {list-style-type:none;margin:0;padding:0;}
div#type_comparison ul li {margin:1px 0 0 1px;}
div#type_comparison #type_choice {grid-area:1 / 2 / span 1 / span 4;}
div#type_comparison #type_label {grid-area:2 / 1 / span 1 / span 1;}
div#type_comparison #type_option1 {grid-area:2 / 2 / span 2 / span 1;}
div#type_comparison #type_option2 {grid-area:2 / 3 / span 2 / span 1;}
div#type_comparison #type_option3 {grid-area:2 / 4 / span 2 / span 1;}
div#type_comparison #type_option4 {grid-area:2 / 5 / span 2 / span 1;}

div#type_comparison #type_choice {display:grid;grid-template-columns:repeat(4, 1fr);align-items:center;}
div#type_comparison #type_choice li {display:inline-block;grid-row:1 / span 1;background:var(--color-main);color:var(--color-white);height:85px;line-height:70px;}
div#type_comparison.packages #type_choice li {background:var(--color-main);}
div#type_comparison #type_choice li.recommended {background:var(--color-main-washed-text);}
div#type_comparison .type_option li.act {height:6em;}
div#type_comparison .type_option li.act a {text-decoration:none;text-transform:uppercase;padding:0.75em 1.5em;line-height:5em;color:var(--color-text);border:1px solid var(--color-text-second);border-radius:3px;}
div#type_comparison .type_option li.act a:hover {color:var(--color-main);border:2px solid var(--color-main);background:var(--color-light);box-shadow:0 0 4px 1px var(--color-grey);}
div#type_comparison.packages .type_option li.act {padding:0.25em;}

div#type_comparison #type_label, div#type_comparison .type_option {margin-top:0.5em;}
div#type_comparison .type_option li:first-child {position:relative;line-height:0.6em;}
div#type_comparison #type_label li, div#type_comparison .type_option li {padding:0.5em 1.5em 0.5em 0.4em;color:var(--color-main-washed-text);}
div#type_comparison.packages #type_label li {}
div#type_comparison.packages .type_option li {padding:0.5em 1.5em;}
div#type_comparison #type_label li:nth-child(odd), div#type_comparison .type_option li:nth-child(odd) {background:var(--color-main-washed-opposite);}
div#type_comparison #type_label li {text-align:left;color:var(--color-text-second);}

div#type_comparison .light {font-size:0.75em;}
div#type_comparison .light.break {display:block;line-height:0;margin:0;position:relative;top:-18px;}

span.o_yes, span.o_no {position:relative;display:inline-block;height:1.5em;width:1.5em;overflow:hidden;color:rgba(0,0,0,0);}
span.o_yes:before {content:"✓";background:var(--color-active-alternative);}
span.o_no:before {content:"✗";background:var(--color-text-second);}
span.o_yes:before, span.o_no:before {position:absolute;top:0;left:0;width:1.5em;height:1.5em;color:var(--color-white);display:inline-block;border-radius:50%;}

div#type_comparison.packages span.o_no:before {background:var(--color-light-limited);}
div#type_comparison.packages sup { vertical-align: top; position: relative; top: -0.5em; }
div#type_comparison.packages #type_label li {line-height:40px;}
div#type_comparison.packages .type_option li {line-height:26px;}
div#type_comparison.packages .type_option li span {margin-top:8px;}

div#type_comparison.packages {grid-template-columns:repeat(4, 1fr);}
div#type_comparison.packages #type_choice {display:grid;grid-template-columns:repeat(3, 1fr);align-items:center;}
/*
table#type_comparison {width:100%;}
table#type_comparison tr {}
table#type_comparison tr:first-child td {line-height:50px;}
table#type_comparison td {}
table#type_comparison td:first-child {text-align:right;}
table#type_comparison td:not(:first-child) {max-width:150px;}


@media only screen and (min-width: 640px) {
table#type_comparison tr:first-child td {line-height:70px;}
table#type_comparison td:first-child {padding-right:20px;}
}


*/
section, aside#advantage {color:var(--color-text);padding:calc(2em + 2vh) var(--spacing-side);}
aside#advantage {float:right;padding:0 var(--spacing-side) 0 var(--spacing-side-tiny);font-family:var(--font-second);margin-left:calc(var(--spacing-side) / 5);margin-bottom:calc(var(--spacing-side) / 5);background:var(--color-white);}

aside#advantage h1 {margin:0;}
aside#advantage ul li {margin:0.7em 0;}
aside#advantage ul li:nth-child(3n) {margin-bottom:1.4em;padding-bottom:1.2em;border-bottom:2px solid var(--color-main-washed-opposite);}

@media only screen and (max-width: 1025px) {aside#advantage {padding-left:2vw;}}
@media only screen and (max-width: 641px) {aside#advantage {padding:0;width:100%;display:block;}}

main article section p {line-height:1.8;}

section#new {background:var(--color-white);}
 section#new2 {background:var(--color-grey);}
 section#new3 {background:var(--color-white);}
section#ready {background:url('img/background_1.png') top center / cover no-repeat;background-attachment:fixed;}
section#tax {background:var(--color-grey);}
 section#tax2 {background:var(--color-white);}
 section#tax3 {background:var(--color-grey);}
section#residence {background:var(--color-white);}
section#contact {background:url('img/background_2.png') top center / cover no-repeat;background-attachment:fixed;}

section#new3, section#ready, section#tax3, section#residence {padding-bottom:calc(4em + 6vw);}

section * {line-height:1.5;font-family:var(--font-main);}
section h1, aside h1 {font-size:24px;font-weight:700;text-transform:uppercase;text-align:center;margin-bottom:2em;padding-bottom:1em;}
section h1:after {content:"";display:block;bottom:0;width:70px;border-bottom:3px solid var(--color-main);padding-top:1.5em;margin:0 auto;}
section p, section li {font-size:16px;font-weight:100;}
section figure {margin:0;}

section#new3 {clear:both;display:grid;}
section#new3 p {grid-column:1 / span 2;}
section#new3 ol {grid-column:2 / span 1;}
section#new3 ol + figure {grid-column:1 / span 1;grid-row:2 / span 1;}

section#ready {display:grid;}
section#ready h1 {grid-column:1 / span 2;}
section#ready span.side_left {grid-column:1 / span 1;grid-row:2 / span 2;padding-right:3rem;}
section#ready span.side_right {grid-column:2 / span 1;padding-left:3rem;}
section#ready figure {grid-column:2 / span 1;}
section#ready figure img {width:100px;margin-left:20%;filter:contrast(0.6);}
section#tax {box-shadow:0 -1px 2px 0 var(--color-shadow);}
section#residence figure {width:100%;text-align:center;}

div#page_end {display:grid;grid-gap:4vw;}
div#page_end > * {}
div#page_end form {position:relative;grid-row: 1 / span 1;display:grid;grid-gap:10px;}
div#page_end iframe {grid-row: 1 / span 2;width:100%;height:30vw;}

div#page_end form textarea, div#page_end form input:not([type=submit]) {padding:0.5em;}
div#page_end form textarea {height:80px;}
div#page_end form .terms {text-align:center;padding-top:1rem;}
div#page_end form input[type=submit] {padding:1em;width:5vw;min-width:100px;align-self:end;}

aside#form_container.visible div.presentation_box form span#formMessage {border-radius:4px;}

form span#formMessage {background:rgb(230,230,230);border:3px solid rgba(1,113,182,0);position:absolute;top:0;left:0;right:0;bottom:0;z-index:99;transition:0.5s all;display:grid;grid-template: 1fr 2em 1fr / 1fr;}
form span#formMessage .messageValue {grid-area: 2 / 1 / 3 / 2;text-align: center;}
form span#formMessage .messageValue * {padding:0;margin:0;}
form span#formMessage.loading {background:white;}
form span#formMessage.done {transform: scale(1);animation: pulse-done 2s 4, light-out 4s forwards;}
form span#formMessage.done h1:after {border:none;padding:0;margin:0;}
form span#formMessage.done.positive {}
form span#formMessage.done.positive h1 {color:green;}
form span#formMessage.done.negative {}
form span#formMessage.done.negative h1 {color:red;}

@keyframes pulse-done {
	0% {box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.6);}
	70% {box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);}
	100% {box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);}
}

@keyframes light-out {
	0% {background:rgb(230,230,230);border:3px solid rgba(1,113,182,0.2);}
	100% {background:rgb(255,255,255);border:3px solid rgba(1,113,182,0.9);}
}

footer {background:var(--color-main);padding:3em;}
footer h1 {font-size:16px;text-align:center;font-family:var(--font-main);color:var(--color-white);font-weight:100;}
footer p.localization {text-align:center;word-spacing:1em;}
footer p.localization a:not(.show_more) {text-decoration:none;color:rgb(200,200,255);}
footer a.show_more {text-decoration:none;}
footer a.show_more:before {content:"\1F30E";}


//body.pop {overflow:hidden;overflow-y:scroll;position:fixed;position:relative;}
body.pop:before {content:"";position:absolute;top:0;bottom:0;left:0;right:0;}
body.pop > header, body.pop > main, body.pop > footer {filter:blur(12px);}
// body.pop > :not(#form_container, #language), body.pop > :not(#form_container, #language) * {}
aside#form_container {margin:0;z-index:100;position:fixed;display:none;background:rgba(130,130,130,0.45);top:0;bottom:0;left:0;right:0;width:100vw;height:100vh;flex-direction:column;justify-content:center;align-items:center;}
aside#form_container * {font-family:Proxima, Helvetica, sans-serif;font-size:1em;}
aside#form_container.visible {display:flex;}
aside#form_container.visible div.presentation_box {transform: scale(1.16);background:rgba(255,255,255,0.65);box-shadow: 0 0 6px 1px rgba(0,0,0,0.9);border-radius:4px;max-width:95vw;max-height:90vh;padding:calc(0.375vh + 0.375vw + 12px);display:grid;grid-gap:15px;}
aside#form_container.visible div.presentation_box > h1 {grid-column:1 / span 1;}
aside#form_container.visible div.presentation_box > a {grid-column:2 / span 1;justify-self:end;color:var(--color-text);font-weight:900;text-decoration:none;z-index:999;}
aside#form_container.visible form {grid-column:1 / span 2;display:grid;grid-gap:10px;}
aside#form_container.visible form > :not(label):not(:last-child) {border:none;box-shadow:0 0 1px 1px rgba(0,0,0,0.05);}
aside#form_container.visible form * {padding:0.25em 0.45em;}
::-webkit-input-placeholder {font-family:Proxima, Helvetica, sans-serif;}
:-moz-placeholder {font-family:Proxima, Helvetica, sans-serif;}
::-moz-placeholder {font-family:Proxima, Helvetica, sans-serif;}
:-ms-input-placeholder {font-family:Proxima, Helvetica, sans-serif;}

aside#language {margin:0;z-index:100;position:fixed;background:rgba(130,130,130,0.45);top:0;bottom:0;left:0;right:0;width:100vw;height:100vh;flex-direction:column;justify-content:center;align-items:center;}
aside#language div.presentation_box {z-index:101;
background:rgba(255,255,255,0.65);box-shadow: 0 0 6px 1px rgba(0,0,0,0.9);border-radius:4px;max-width:95vw;max-height:90vh;
position:fixed;top:calc(2vw + 5vh);bottom:calc(2vw + 5vh);left:calc(5vw + 3vh);right:calc(5vw + 3vh);display:grid;
grid-template-columns: repeat(6, 1fr);padding:calc(1vw + 1vh);padding-top:50px;}
aside#language div.presentation_box a {text-decoration:none;color:rgb(103,103,103);border:1px solid rgba(80, 76, 69,0);}
aside#language div.presentation_box a:not(.close) {display: flex;justify-content: center;align-items: center;}
aside#language div.presentation_box a:not(.close):hover {color: rgb(80, 76, 69);border:1px solid rgb(80, 76, 69);}
aside#language div.presentation_box a.close {position:absolute;top:20px;right:20px;padding:10px;font-family: Proxima, Helvetica, sans-serif;font-weight: 900;}
aside#language.hidden {display:none;}

#navigation.mobile {display:block;height:5em;z-index:50;padding:1em 0;} /* background:rgb(255,255,255); */
#navigation.mobile a {}
#navigation.mobile a:hover {background:none;border:none;color:rgb(210, 50, 45);border:1px dashed rgba(210, 50, 45, 0.35);}
#navigation.mobile a.toggle {margin-bottom:2px;}
#navigation.mobile a:not(.toggle):not(.cta), nav.mobile:not(.collapsed) a.cta {outline:2px solid rgb(255,255,255);outline-offset:-1px;background:rgb(255,255,255);}
#navigation.mobile.collapsed {}
#navigation.mobile.collapsed a:not(.toggle):not(.cta) {display:none;}
#navigation.mobile:not(.collapsed) a:not(.toggle):last-child {box-shadow:0 5px 5px -5px rgba(60,60,60,0.5);}
#navigation.mobile.collapsed .toggle {font-size:2em;line-height:1.25em;font-weight:100;}
#navigation.mobile.collapsed .toggle, nav.mobile.collapsed .cta {width:calc(50% - 7px);display:inline-block;line-height:2.5rem;}
#navigation.mobile.collapsed .toggle {margin-left:5px;float:left;}
#navigation.mobile.collapsed .cta {margin-right:5px;float:right;}
#navigation.mobile.collapsed .cta, nav:not(.mobile) .cta {border:1px dashed rgb(42,148,35);color:rgb(42,148,35);background:rgba(44,133,22,0.05);}
#navigation.mobile.collapsed .cta:hover, nav:not(.mobile) .cta:hover {border:1px solid rgb(42,148,35);background:rgba(44,133,22,0.25);color:rgb(22,133,88);}

img {max-height:300px;width:auto;}