/** colors */
/* 
ultra:   #FF5722 - #F5A90A - rgb(255,87,34)
calm:    #C6C0B8 - #78736F
lighter: #F3F2EE - #EBECE4
light:   #F4F3EF - #EBECE4
dark:    #252422 - #0B0B0C
*/

/** units */
/*
	48em = 768px (16px) mobile
	85em = 1366px (16px) desktop
*/
body {
	--color__ultra: #FF5722;
	--color__calm: #C6C0B8;
	--color__lighter: #EBECE4;
	--color__light: #F4F3EF;
	--color__dark: #0B0B0C;
}
/** fonts **/
@font-face {
    font-family: 'OpenSans';
    src: url('https://30a8ce.claudeassets.com/20250129022838im_/https://mapgrafica.com/css/fonts/OpenSans-LightItalic-webfont.woff') format('woff');
    font-weight: 300;
    font-style: italic;
}
@font-face {
    font-family: 'OpenSans';
    src: url('https://6d1dbe.claudeassets.com/20250129022838im_/https://mapgrafica.com/css/fonts/OpenSans-Light-webfont.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'OpenSans';
    src: url('https://8b633d.claudeassets.com/20250129022838im_/https://mapgrafica.com/css/fonts/OpenSans-Bold-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'OpenSans';
    src: url('https://575b66.claudeassets.com/20250129022838im_/https://mapgrafica.com/css/fonts/OpenSans-Semibold-webfont.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'OpenSans';
    src: url('https://9a0389.claudeassets.com/20250129022838im_/https://mapgrafica.com/css/fonts/OpenSans-Regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

* {
    text-rendering: optimizeLegibility;
    text-rendering: geometricPrecision;
    -moz-osx-font-smoothing: grayscale;
    -moz-font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    box-sizing: border-box
}

body {
    color: #000;
    counter-reset: section-title;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.77778;
    text-rendering: optimizeLegibility;
    text-rendering: geometricPrecision;
    -moz-osx-font-smoothing: grayscale;
    -moz-font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
}

body, html {
    height: 100%;
}
body {
    margin: 0;
}

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    font-family: OpenSans,sans-serif;
    font-size: 62.5%;
}
@media (max-width: 1440px){
	html {
	    font-size: 46.875%;
	}
}
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
    display: block;
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
    color: currentColor;
    text-decoration: none;
}
p {
    margin: 1em 0;
}
i {
    font-style: italic;
}

button, button:active, button:hover {
	border: none;
	outline: none;
	background-color: transparent;
	cursor: pointer;
}
button:focus {
	outline:0;
}
button, hr, input {
    overflow: visible;
}
hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    margin: 0;
    border: 0;
}


*, ::after, ::before {
	 -moz-box-sizing: inherit;
    box-sizing: inherit;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-kerning: auto;
    font-kerning: auto;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-weight: 500;
    line-height: 1.16667;
}
img {
    border-style: none;
}

/*Just removing default browser padding/margin*/
html,
body {
    padding: 0;
    margin: 0;
}

.clearfix::after, .no-flex-wrap .row::after {
    clear: both;
}
.clearfix::after, .clearfix::before, .no-flex-wrap .row::after, .no-flex-wrap .row::before {
    content: "";
    display: table;    
}

/*This just stops me getting horizontal scrolling if anything overflows the width*/
body.homepage {
	overflow-x: hidden;
	background-color: #EBECE4;
}
body.sitepage {
	overflow-x: hidden;
	background-color:  #EBECE4; 
}

.hidden {
    display: none!important;
}
.ohidden {
    opacity: 0!important;
}	
.logo__svg {
	width: auto;
    height: 12vh;
    min-height: 50px;
    max-height: 126px;
}
.logo__svg .logo__svg__bg{
	fill: rgba(255,255,255,0.92);
}
.logo__svg .logo__svg__text{
	fill: #FF5722;
}

.section-text {
	margin-bottom :4rem;
}
.uppercase {
    text-transform: uppercase;
}

.site-header__background {
	width: 100%;
	z-index: 2;
}
.stage {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    transition: transform .6s cubic-bezier(0.175, 0.885, 0.320, 1.275), background-color 1s, opacity .8s;
}
.page-container {
    height: 100%;
    
    background-color: rgb(0,0,149);
    background-color: rgb(18, 15, 138);
    background-color: #0E1851;
    background-color: #0B0B0C;
    background-color: #28282d;
    background-image: url(https://3c8412.claudeassets.com/20250129022838im_/https://mapgrafica.com/css/images/icon/silkscreen.svg);
}
.sitepage  .page-container{
    height: 100%;
    background-color: #0B0B0C;
}

.page-container .page-background{
	position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background-repeat: no-repeat;
    background-size: cover;
    pointer-events: none;
    transition: all 4.5s ease;
}
.page-container .page-background{
    background-image: url('https://258aba.claudeassets.com/20250129022838im_/https://mapgrafica.com/assets/images/magnus-bw-low.jpg');
    -webkit-clip-path: url(/assets/mapgrafica.com/css/index.mapgrafica.css);
    -ms-clip-path: url(/assets/mapgrafica.com/css/index.mapgrafica.css);
    -moz-clip-path: url(/assets/mapgrafica.com/css/index.mapgrafica.css);
    clip-path: url(/assets/mapgrafica.com/css/index.mapgrafica.css);
}
.page-container.showcase .page-background{
    background-image: url('https://17f512.claudeassets.com/20250129022838im_/https://mapgrafica.com/assets/images/magnus-lq.jpg');
}
.page-container .page-background.ohidden, .hero__intro.ohidden, .sitepage  .page-container {
	transition: all 0.5s ease;
}
.about .page-container .page-background{
    background-image: url('https://2fc5b7.claudeassets.com/20250129022838im_/https://mapgrafica.com/assets/images/team-models-lq.jpg');
}
.contact .page-container .page-background{
    background-image: url('https://e76160.claudeassets.com/20250129022838im_/https://mapgrafica.com/assets/images/lighting.jpg');
}
.services .page-container .page-background{
    background-image: url('https://527868.claudeassets.com/20250129022838im_/https://mapgrafica.com/assets/images/services.jpg');
}
.container-background {
	height: 100%;
}
.container-background svg{
    transition: width .4s cubic-bezier(.165,.84,.44,1) 0s,height .4s cubic-bezier(.165,.84,.44,1) 0s;
    position: relative;
    overflow: visible;
    z-index: 20;
    
}

.svg-container {
    transform: scale(40) translate(5%,0%);
}
.site-header {
    position: relative;
    padding-right: 0;
    z-index: 8;
}
.vl {
	display: none;
}
.btn:hover, .color-white {
    color: #fff;
}

/* navigation */
.site-nav {
    text-transform: uppercase;
}
.site-nav.left {
    flex: 1
}
.site-nav ul {
    list-style: none;
}
.site-nav__item {
    position: relative;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.03659;
    margin-left: 0.5em;
}
.site-nav__item__link {
    color: #003d59;
    color: #838f95;
}

.site-nav__item__link::after {
	display: none;
    position: absolute;
    bottom: -.57143em;
    left: .71429em;
    right: .71429em;
    height: .14286em;
    background-color: currentColor;
    border-radius: .07143em;
    content: '';
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
}

.text-xs-right {
    text-align: right;
}
@media (min-width: 720px){
.site-nav__item {
    line-height: 1.4;
    white-space: nowrap;
}
}
@media (min-width: 720px){
	.site-nav__item__link {
	    padding: .71429em;
	}
}

.no-touch .site-nav__item::after {
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
}

.display-inline-block, .menu-inline li {
     display: inline-block;
}

.site-nav__item span::after, .line__bottom::after, .footer__item span::after {
	content: '';
    display: block;
    position: absolute;
    top: 100%;
    left: 1em;
    height: .15em;
    width: 0;
    background-color: #FF5722;
    border-radius: .1em;
    transition: width .6s ease-out;
}
.nav_right.line__bottom::after {
	width: 0;
	top: calc( 100% - 1.75em); 
}
.line__bottom:hover::after, .site-nav__item:hover span::after {
    width: calc( 100% - 2em );
}

.h-xs-100 {
    height: 100%;
}
.middle-xs {
    -webkit-align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-grid-row-align: center;
    align-items: center;
}


/** centering middle */
.hcenter {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.vcenter {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.hrcenter {
	position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.vrcenter {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
.hcenter.vcenter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

.logo-svg {
    z-index: 100;
    width: 64px;
    height: 64px;
    stroke: #4186F0;
    stroke:#003d59;
    stroke-width: 4px;
    transition: stroke 2s ease-in-out;
    transition: all .5s ease-in;
}
.page__content:active .logo-svg {
    stroke: #4186F0;
}
.menu__inner:hover .logo-svg {
    stroke: rgb(13, 49, 253);
}
.menu__inner .logo-svg:hover {
    stroke: #F8971B;
}
.logo, .title {
    display: block;
    font-weight: 700;
    height: 42px;
    line-height: 42px;
    text-align: center;
}
.logo {
    z-index: 66;
    letter-spacing: 4px;
    font-size: 1.1em;
    font-family: 'Merriweather', serif;
    color: #003d59;
    text-indent: 4px;
    text-decoration: none;
    text-transform: uppercase;
}

.logo span {
    vertical-align: super;
    white-space: nowrap;
}

/** Hero  Title */
.hero__intro, .hero__title {
	-webkit-perspective: 1000px;
    perspective: 1000px;
    margin: 2px 2px;
    max-width: 50rem;
    user-select: none;
    transition: transform 0.25s ease-in-out;
}	
	
.hero__text {
    font-family: 'Merriweather', serif;
    text-transform: uppercase;
    font-weight: normal;
    font-size: 2.3em;
    line-height: 1.1;
    color: #003d59;
    margin: 0 4px;
    /* text-align: center; 
    user-select: none;*/
}
.sitepage .hero__title {
    max-width: 98vw;
}
.hero__text span{
	display:block;
	animation-delay:1.2s
}

.hero__text .line {
    display: block;
    transition: all 2s ease-in-out;
}
.hero__text .line:nth-child(1){
	position: relative;
    margin-top: 1.1rem;
}
.hero__text .line__inner {
    display: inline-block;
    -webkit-perspective: 1000px;
    perspective: 1000px;
    white-space: nowrap;
    overflow: hidden;
    line-height: 1.25;
}

.hero__text .letter {
    display: inline-block;
    transition: all 1s ease-out;
}

.hero__text .line:nth-of-type(1) .letter {
    -webkit-transform-origin: top center;
    -ms-transform-origin: top center;
    transform-origin: top center;
    transform: translate(0,-100%);
    transition: transform 1s ease-out;
}

.hero__text .line:nth-of-type(2) .letter {
    -webkit-transform-origin: bottom center;
    -ms-transform-origin: bottom center;
    transform-origin: bottom center;
    transform: translate(0,100%);
    transition: transform 0.5s ease-out;
}

.hero__text .line:nth-of-type(3) .letter:nth-child(even) {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    transform: scale(0) rotate(4deg);
    transition: transform 0.5s ease-out;
}

.hero__text .line:nth-of-type(3) .letter:nth-child(odd) {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    transform: scale(0) rotate(-6deg);
    transition: transform 0.5s ease-out;
}

.hero__text .line .letter.dropletter {
	transform: translate(0,0);	
}

.intro__text .word {
    -webkit-transform-origin: center right;
    -ms-transform-origin: center right;
    transform-origin: center right;
    transform: translate(-20%,100%);
    transition: all 0.5s ease-in-out;
}
.intro__text .word, .intro__text .word .letter {
    display: inline-block;
}
.intro__text .word {
    position: relative;
    overflow: hidden;
    line-height: 0.6;
    vertical-align: top;
    white-space: nowrap;
    padding: .15em .5em .5em .5em;
    margin: -.25em -.05em -.3em -.5em;
}
span i {
    font-style: italic;
}

.intro__text .word.dropletter {
	transform: translate(0,0);	
}
.intro__text .word.dropletter.liftletter {
	transform: translate(20%,-100%);
	line-height: 0;
	overflow: hidden;
}

.hero__text .line .letter.fullsize:nth-child(even), .hero__text .line .letter.fullsize:nth-child(odd) {
	transform: scale(1) rotate(0deg);	
}

.hello__contact {
	margin-top: 0;
}

.editor__title {
	font-family: OpenSans,sans-serif;
    margin: .67em 0;
    margin-bottom: 0;
    margin-top: 0;
    color: #C6C0B8;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.demo__inline .editor__title{
	margin-bottom: 2em;
}
span.underline {
	position: relative;
	cursor: pointer;
}

span.underline::after {
	display: block;
    position: absolute;
    bottom: -.5em;
    left: .5em;
    right: .5em;
    height: 4px;
    background-color: #FF5722;
    border-radius: .07143em;
    content: '';
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
}

.demo__container {
	display: block;
    width: 80vw;
    padding-bottom: 10px;
    height: 90vh;
    order: 2;
    z-index: 9;
    position: absolute;
    top: 10vh;
    left: 50%;
    transform: translate(-50%, 0);
}

.demo__container .demo__inline {
	 display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-wrap: wrap;
    height: 100%;
    width: 100%;
    font-size: 18px;
    flex-direction: column;
    position: relative;
}

.demo__container .demo__inline.border {
   border: 3px solid #fff;
   background-color: #0B0B0C;
   background-color: rgb(82, 71, 55);
}

.showcase .demo__invite {
	opacity: 1;
}

.enter_editor_btn {
    margin: 30px 30px;
    position: relative;
}
/** intro - what we do */
.intro__circle {
    position: absolute;
    width: 30rem;
    min-width: 30rem;
    height: 30rem;
    border-radius: 9999px;
    margin-left: 0rem;
}

.intro__content {
    width: 30rem;
    height: 30rem;
    overflow: hidden;
    margin-right: auto;
    border-radius: 9999px;
    background-color: rgba(0,15,159,.05);
    background-color: rgba(255,255,255,.05);
    /*background-color: rgba(37,36,34,.24);*/
}

.intro__inner {
    width: 30rem;
    height: 30rem;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.intro__inner:after, .intro__inner:before {
    content: "";
    flex-grow: 1;
}

.intro__text {
    position: relative;
    margin: 2em 0;
    transition: height .7s ease .35s;
    font-size: 1.2em;
    font-family: 'Merriweather', serif;
    line-height: 1.4;
    color: #003d59;
    color: #838f95;
    text-align: left;
}
.presenting.intro__text {
	font-size: 1.6em;
    line-height: 1.5;
}
.intro__text_inner {
    opacity: 1;
    transition: opacity .7s ease .35s,transform .7s ease .35s;
}

.hero__intro {
    transition: opacity 1.7s ease-in,transform .7s ease .35s;
}

/** homepage grid */
.page { 
    position: relative;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.inner {
    position: absolute;
    overflow: hidden;
    left: 1.5rem;
    right: 0;
    top: 0;
    bottom: 0;
}
.inner .page__content {
    display: flex;
    /* align-items: center; */
    padding-top: 20rem;
}

.inner .page__content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    padding: 12rem 2rem 12rem 0;
    box-sizing: border-box;
}

.inner .page__content .content .column{
	min-height: 50vh
}
.menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1;
    height: 10rem;
    padding: 0 0rem;
    height: 20%;
    height: 20vh;
}
.links {
	display: flex;
	flex: 0.8;
	flex-direction: row;
	margin-top: 0.75em;   
}
.link {
    display: flex;
    align-items: flex-start;
    flex: auto;
}
.link.left {
    justify-content: left;   
}
.link.right {
    justify-content: flex-end;
}
.links a {
	background-color: transparent;
	text-decoration: unset;
    transition: color .35s ease;
    font-size: 1.2rem;
    font-weight: 300;
    text-transform: uppercase;
    padding: 1.4rem;
    display:block;
}

.links a.active {
    cursor: default;
}

.links a.active {
    color: #FF5722;
}
.menu .logoLink {
    display: block;
    margin: auto 0 1rem 0rem;
}
.menu__inner {
	display: flex;
}
.menu .logo {
    width: 4rem;
    padding-top: 1rem;
    position: relative;
    flex: 0.2;      
    white-space: nowrap;
    font-family: OpenSans,sans-serif;
}
.content {
    flex: 1.33;
    margin-top: 0rem;
    height: 80%;
    height: 80vh;
    order: 2;
}
.sitepage .content{
    display: flex;
    margin-top: 0;
}


/** tania */
.row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.content .container {
    display:flex;
    flex-wrap:wrap;
    flex-direction:row;
    justify-content:flex-start;
    align-items:stretch;
    pointer-events: none;
}
.container .left, .container .middle, .container .right {
	flex-basis: 100%;
	position: relative;
}
.container .left {
	order: 1;
	/*background: black;*/	
	display: flex;
    align-items: center;
    justify-content: center;
}

.container .middle {
	order: 3;
	background: green;
}

.container .right {
	order: 2;
	background: #6200ff;
}

.column {
  flex-basis: 100%;
}
.column.top {
  order: 1;
}
.column.bottom {
  order: 2;
}
.column.mid {
	-webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0;
    display: flex;
    flex-direction: column;
}
@media screen and (min-width: 920px) {
	.hero {
	       /*	margin-left: -3rem; */
	}
	.svg-container {
		transform: scale(60) translate(20%,0%);
	}
	.hero__intro, .hero__title {
	    margin: 30px 30px;
	    max-width: 60rem;
	}
	.hero__text {
		font-weight: bold;
	    line-height: 1.2;
	    font-size: 3em;
	    letter-spacing: 2px;
        color: #111;
        color: #003d59;
        color: #175a79;
    }
    /*
	.hero__title {		
		text-shadow:
		-1px -1px 0 #fff,
		1px -1px 0 #fff,
		-1px 1px 0 #fff,
		1px 1px 0 #fff;
	}
*/
	.intro__text {	
	    font-size: 1.3em;
	    line-height: 1.4;
	}
	.presenting.intro__text {
		font-size: 1.6em;
	    line-height: 1.5;
	    padding-top: 4em;
	}
	.hero__title .prepared, .hero__intro, .hero__title, .intro__text{
		-webkit-transform-origin: 50% 50% -100px;
	    -ms-transform-origin: 50% 50% -100px;
	    transform-origin: 50% 50% -100px;
	}
	.inner {
	    left: 5vw;
	}
	  .row {
	    flex-wrap: wrap;
	  }
	  .column {
	    flex: 1;
	  }
	  .column.top {
		  order: 2;
	  }
	  .column.bottom {
		  order: 1;
	  }
	  .menu .links {
	    flex: 0.8;
	    margin-top: 2.5em;   
	  }
	  .menu .link {
		    flex: 0.5;
		    flex: 1;
	   }
	  .menu .links a {
	    font-size: 1.2em;
        font-weight: 700;
        padding: 2.4rem;
	}
	.menu .logo {
	    width: 20rem;
    	margin-top: 2rem;
    	flex: 0.2;
	}
	
	.hero__intro {
	    width: 100%;
	    max-width: 60rem;
    }
    /*
	.hero__intro, .hero__title {
	    margin: 20px 20px;
    }	
    */
	.container {
       flex-wrap:nowrap;
   } 

    .demo__container {
	    width: 50%;
	    padding-bottom: 10px;	    
	    height: 80vh;
	    order: 3;
	    position: relative;
	    top: 0;
    	left: 0;
    	transform: translate(0, 0);
	}
	.demo__header {
	    margin: 4em 0 2em 0;
	}
    .container .middle {
        flex-basis:auto;
        order:2;
    }
    .container .right {
        flex-basis: 32rem;
        order:3;
    }
    .vl {
		display: inline-block;
		width: 20vw;
		height: 100%;
		border-right: 1px solid rgba(200,200,200,0.15)
	}
}

.editor__title {
    color: #fff;
    color: #175a79;
}
.editor__title .pre__title{
	font-size: 0.6em;
    letter-spacing: .1em;
    line-height: 1.3;
}
/*
.editor__title:after {
    content: "";
    position: absolute;
    width: 124px;
    height: 124px;
    bottom: -184px;
    right: 200px;
    opacity: 0.0;
    transition: all 0.5 ease;
    background-image: url("https://9d2b1c.claudeassets.com/20250129022838im_/https://mapgrafica.com/css/images/icon/layers.svg");
}
.editor__title:hover::after {
    opacity: 1;
}
*/

/*** Topics */
.btn-reset {
    margin: 0;
    padding: 0;
    outline: none;
}
.btn, .btn-reset {
    display: inline-block;
    background: 0 0;
    border: 0;
    color: inherit;
    cursor: pointer;
}

.home__title {
	perspective: 1000px;
	perspective-origin: 200px 40px;
	user-select: none;
}

#close__demo__btn .close::after, #close__demo__btn .close::before {
    background-color: #EBECE4;
}
#close__demo__btn:hover .close::after, #close__demo__btn:hover .close::before {
    background-color: #FF5722;
}
.bg-filter {
	width: 100%;
	height:100%;
    background-color: rgba(0,0,0,0.1);
    z-index: 4;
}

/** about inline section */
.home .about {
	background-color: rgba(0,0,0,.75);
}
.about .presentation {
	background: #f3f3f3;
	color: #343534;
	font-size: 1.15em;
	font-family: OpenSans;
}
.about .presentation .about__detail {
	background: #fefefe;
	color: #0B0B0C;
	margin: 0;
	padding-bottom: 5em;
}
.textcontainer {
	position: relative;
	padding: 0;
	min-height: 25vh;
}
.textcontainer.column.center {
	 display: flex;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
}
.pre__content {
	display: flex;
	align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    min-height: 50%;
    min-height: 50vh;
}
h2.headline {
    line-height: 1.2em;
    text-align: center;
    font-family: 'Merriweather', serif;
}

.about .textblock { 
    margin: 1em 1em;
    display: block;
    position: relative;
}

.pre__content__right {
	text-align: right;
	margin-right: 25%;
}
/*
.about .textblock p, .about .textblock li {
	line-height: 1.2em;
}
*/
.about .textblock li {
	margin-bottom: 0.5em;
}
.about .textblock ul {
	list-style: none;
}
.about .textblock ul li::before {
  color: #FF5722;  
  content: "\25CB"; 
  font-size: 1em; 
  padding-right: 0.5em; 
  position: relative;
  top: 0em; 
}

.tile.left {
    display: flex;
    -ms-flex-align: end;
    align-items: flex-end;
    width: 70%;
}
.about .tile, .about .tile .textcontainer {
    display: inline-block;
    width: 48%;
    vertical-align: top;
}

@media screen and (min-width: 920px) {
  h2.headline{
	padding: 5rem 4rem;
    /* text-transform: uppercase; */
    line-height: 1.68;
    letter-spacing: 0.15em;
    margin-bottom: 75px;
    width: 50%;
  }
  
  .about__detail h2.headline{
    margin-bottom: 5px;
  }
  .about .about__detail .textblock {
     margin: 0 5em 0 5em;
  }
  
  .about__detail.row .textcontainer:nth-child(1) .textblock {
  		margin-right: 1em;
  }
  .about__detail.row .textcontainer:nth-child(2) .textblock {
  	    margin-left: 1em;
  }
  

  .about__sub_title.row .textcontainer:nth-child(1) .textblock {
  		margin-left: 33%;
  		margin-right: 1em;
  }
  .about__sub_title.row .textcontainer:nth-child(2) .textblock {
  		margin-right: 33%;
  	    margin-left: 1em;
  }
  
}
h2.headline::after {
    display: block;
    position: absolute;
    bottom: -.5em;
    left: 40%;
    right: 40%;
    height: 1px;
    background-color: #FF5722;
    border-radius: .07143em;
    content: '';
    -webkit-transition: right .3s ease;
    transition: right .3s ease;
}

@keyframes toright {
    0%   { transform: translate(0%, 0%); }
    100% { transform: translate(100%, 0%); }
}
@keyframes toleft {
    0% {   transform: translate(100%, 0%); }
    100% { transform: translate(0%, 0%); }
}

.about .textblock p.our-team {
	font-size: 0.9em;
}
.principal::after {
    content: '\0044\006f\0072\0065\006c\0020\0056\006c\0065\006a\0075\002c';
}
.email::after {
    content: '\0068\0065\006c\006c\006f\0040\006b\0069\0074\0065\0078\0074\002e\0063\006f\006d';
}
.phone::after {
    content: '\0031\0020\0032\0038\0039\002d\0033\0030\0034\002d\0039\0034\0036\0031';
}
.copy {
    padding: 2em 0;
    float: left;
    font-size: 0.8em;
    width: 100%;
    color: #888;
    text-align: center;
}

/** pages */
.site-content {
    padding-right: 0;
    padding-right: 0;
}

.site-header__background {
	position: fixed
}
.svg__head .svg__head__curve {
    fill: rgba(255,0,0,0.02);
}

.page .section {
    margin-bottom: 5rem;
    background-color: #fff;
}

.site-content__inner {
    max-width: 1496px;
    margin: 0 auto;
    padding: 0 2rem 2rem;
}

.site-footer {
	padding: 0 10px;
    font-size: 1.6rem;
    line-height: 1.4;
    color: #737678;
    font-family: 'Merriweather', serif;
    outline: 1px solid rgba(0,0,0,.1); 
    position: absolute;
    left: 0;
    right: 0;
    background: #28282d;
}
.site-footer__inner {
    width: 100%;
    min-height: 10rem;
    padding: 1rem 0;
    display: flex;
}

.footer__item {
    position: relative;
}
.footer__item span {
    padding: 0 1em 0 1em;
}
.footer__item span::after {
    top: calc( 100%);
    left: 1em;
    height: 1px;   
}
.footer__item:hover span::after {
    width: calc( 100% - 2em );
}
.avatar {
	width: 50%;
	height: auto;
	border-radius: 9999px;
}
.twitter {
    background-image: url(https://dec221.claudeassets.com/20250129022838im_/https://mapgrafica.com/css/images/icon_twitter_nonbackground.svg);
}
footer .icon{
    background-position: center;
    background-repeat: no-repeat;
    display: inline-block;
    height: 24px;
    margin: 0 20px;
    width: 24px;
}
@media (min-width: 720px){
	.site-footer {
	    padding: 0 4.6rem;
	}
	.footer__link {
	    padding: .71429em;
	}
	.footer__item {
	    line-height: 1.4;
	    white-space: nowrap;
	}
	.footer__link {
	    border: 2px solid #fff;
	}
	.site-footer__inner {
	    -webkit-align-items: center;
	    -ms-flex-align: center;
	    -webkit-box-align: center;
	    -moz-box-align: center;
	    -ms-grid-row-align: center;
	    align-items: center;
	}
	.site-content {
    	padding-right: 8rem;
	}
	.site-content__inner {
	    padding-bottom: 2rem;
	    padding-left: 5.2rem;
	    padding-right: 5.2rem;
	    padding-top: 0;
	}
	.page .section {
	    margin-bottom: 10rem;
	}
	.grid {
	    padding: 0 12.5%;
	}
	.grid .grid__item {
	    display: block;
	    float: left;
	    width: 33.33%;
	}
	.arrow-sm-left::before {
	    top: 0;
	    left: auto;
	    right: 100%;
	    bottom: 0;
	    border-width: 25px 25px 25px 0;
	    border-color: transparent currentColor transparent transparent;
	}
	.arrow-sm-right::before {
	    top: 0;
	    left: 100%;
	    right: auto;
	    bottom: 0;
	    border-width: 25px 0 25px 25px;
	    border-color: transparent transparent transparent currentColor;
	}
	.grid .grid__item:nth-child(6n+4), .grid .grid__item:nth-child(6n+5), .grid .grid__item:nth-child(6n+6) {
	    float: right;
	}

}

/** smaller phones */
@media screen and (max-width: 768px) {
	.logo__svg {
	    height: 6vh;
	}
	.site-nav__item {
	    text-align: center;
	}
	.demo__invite {
	    transform: translateX(40%) translateY(100%) rotate(270deg);
	}
	.demo__header {
	    letter-spacing: normal;
	}
	.page-container .page-background {
	    background-position: center 0;
	}
	.svg-container {
	    transform: scale(40) translate(-10%,0%);
	}
	.hero__text {
	    font-size: 1.5em;
	    margin-top: 2em;
	}
	.contact .hero__text {
	    padding: 0 4px;
	    margin-top: 0;
	}
	.demo__static {
	    height: 6.5em;
	}
	.showcase__title {
	    font-size: 2.0em;
    }
    
    .inner .page__content {
        display: block;
        padding: 12rem 0rem 0rem 0;
    }
    .page-container {
        background: #EDECE8;
        background-image: none;
    }
    .menu__inner {
        display: block;
    }
    .links {
        margin-top: 1.5em;
    }

    .links a {
        font-size: 1.2em;
        font-weight: normal;
    }

    .content {
        height: fit-content;
    }

    .demo__container {
        position: relative;
        width: 100%;
        height: auto;
        top: 0;
        left: 0;
        transform: translate(0, 0);
    }

    .site-footer__inner {
        display: block;
    }

    .link.right {
        justify-content: center;
        margin-top: 1em;
    }

    .editor__title:after {
        bottom: -36px;
        right: 10px;
    }
    .menu {
        position: relative;
    }

    .logo {
        color: #25b2f3;
    }

    .logo-svg {
        stroke: #4186F0;
    }


}

.submit-button {
	color: blue;
	font-weight: 700;
	border: 1px solid #111;
	padding: 0.25em 2.0em;
}
.submit-button:hover {
	color: red;
}
.copyright li {
	list-style: none;
}

:after, :before {
    box-sizing: border-box;
}
button, html input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer;
}
.footer__copy {
    margin-right: 1em;
}

/*
     FILE ARCHIVED ON 02:43:13 Jan 29, 2025 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 09:28:44 Jul 15, 2026.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  captures_list: 0.535
  exclusion.robots: 0.062
  exclusion.robots.policy: 0.051
  esindex: 0.008
  cdx.remote: 6.088
  LoadShardBlock: 49.229 (3)
  PetaboxLoader3.datanode: 139.849 (5)
  load_resource: 225.312
  PetaboxLoader3.resolve: 38.789
  loaddict: 99.509
*/