/**
 *  Definitions
 *  New Breakpoints: 1440, 1066, 768, 375
 *  Old Breakpoints: 1440 1200 992 768 576 420
 */

:root {
	--Dark-Blue: #0F143C;
	--Blue: #191E5A;
	--Dark-Violet: #5412B2;
	--Vivid-Violet: #7F4BE6;
	--Violet: #996EEA;
	--Light-Violet: #B292EF;
	--Pastel-Violet: #CCB7F5;

	--Black: #111;
	--Dark-Grey: #222;
	--Solid-Grey: #4D4D4D;
	--Grey: #828282;
	--Silver: #AFAFAF;
	--Light-Grey: #CCC;
	--Soft-Grey: #E2E2E2;
	--White: #FFF;

	--Error: #FD6A6A;
	--Soft-Bg: #EFEFEF;
   --Support-Bg: #F4F4F4;
	--Light-Bg: #E9E9E9;
	--Blue-Line: #54577E;
	--Table-Border: #F5F5F5;
	--Image-Hover: #E5E5E5;
}

.font-family {
	font-family: Saans, sans-serif;
}

body {
   letter-spacing: 0.05em;
}


/** Sections */
.section--viewport {
   width: 1320px;
   padding-left: 0;
   padding-right: 0;
   margin-left: auto;
   margin-right: auto;
}
   .section--screen {
       width: 100%;
       padding-left: 0;
       padding-right: 0;
       margin-left: 0;
       margin-right: 0;
   }

   .section--viewport .section--screen,
   .section--viewport .section--window {
       position: relative;
       width: calc(100vw - var(--Scroll-Width)); 
       left: calc((100vw - 100% - var(--Scroll-Width)) / -2);
   }
 

@media (max-width: 1440px) {
   .section--viewport {
       width: calc(100% - 120px);
   }    
   .section--viewport .section--screen,
   .section--viewport .section--window {
       width: calc(100vw - var(--Scroll-Width)); 
   }
}
@media (max-width: 1066px) {
   .section--viewport {
       width: calc(100% - 100px);
   }    
}
@media (max-width: 768px) {
   .section--viewport {
       width: calc(100% - 80px);
   }    
}
@media (max-width: 450px) {
   .section--viewport {
       width: calc(100% - 44px);
   }    
}


/** Content section */
.section--content {
    position: relative;
    width: 100%;
    /* height: 100%; */
    min-height: 100vh;
    padding-top: 80px;
    background-color: var(--White);
}
    .content--wrap {
        height: 100%;
    }
    .content--container {
        width: 100%;
        height: 100%;
        position: relative;
    }




/** Buttons. Blue default */
.buttons--container {
   display: flex;
   justify-content: flex-start;
   flex-wrap: wrap;
   gap: 8px;
}

.button--round {
   display: inline-block;
   height: 42px;
   width: 42px;
   padding: 8px;
   background-color: var(--Blue);
   border: 1.5px solid var(--Blue);
   border-radius: 21px;
   cursor: pointer;
   outline: none;
   transition: background-color 0.4s, border-color 0.4s;
   -webkit-tap-highlight-color: transparent;
}
   .button--round .line {
       stroke: var(--White); 
   }




.button--item {
   display: flex;
   align-items: center;
   flex-wrap: nowrap;
   justify-content: center;
   gap: 4px;
   height: 42px;
   padding: 0 26px;
   font-family: Saans, sans-serif;
   font-size: 14px;
   font-style: normal;
   font-weight: 500;
   line-height: 1;
   letter-spacing: 0.06em;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   color: var(--White);
   background-color: var(--Blue);
   border: 1.5px solid var(--Blue);
   border-radius: 22px;
   cursor: pointer;
   outline: none;
   transition: background-color 0.4s, border-color 0.4s;
   -webkit-tap-highlight-color: transparent;
}
   .button--item .line {
       stroke: var(--White); 
   }
   .button--item.button--icon {
       padding-right: 14px;
   }
   .button--item.button--icon_left {
       padding-left: 17px;
   }
   .button--icon_diagonal svg,
   .button--icon_sw svg {
       transform: rotate(135deg);
   }
   .button--icon_ne svg {
       transform: rotate(-45deg);
   }
   .button--icon_w svg {
       transform: rotate(180deg);
   }
   .button--icon_n svg {
        transform: rotate(270deg);
    }


.button--small {
   display: flex;
   align-items: center;
   flex-wrap: nowrap;
   height: 30px;
   padding: 0 22px;
   font-family: Saans, sans-serif;
   font-size: 11px;
   font-style: normal;
   font-weight: 500;
   line-height: 12px;
   letter-spacing: 0.08em;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   color: var(--White);
   background-color: var(--Blue);
   border: 1.5px solid var(--Blue);
   border-radius: 15px;
   cursor: pointer;
   outline: none;
   transition: background-color 0.4s;
   -webkit-tap-highlight-color: transparent;
}


   .button--violet {
       background-color: var(--Dark-Violet);
       border-color: var(--Dark-Violet); }
   .button--violet .line {
       stroke: var(--White); }
   
   .button--blue {
       background-color: var(--Blue);
       border-color: var(--Blue); }
   .button--blue .line {
       stroke: var(--White); }

    .button--blue.button--disabled {
        cursor: default;
        color: var(--Grey);
        background-color: var(--Soft-Bg);
        border-color: var(--Silver); }
   .button--blue.button--disabled .line {
       stroke: var(--Silver); }
    
   .button--transparient {
       background-color: transparent;
       border-color: var(--White); }
   .button--transparient .line {
       stroke: var(--White); }

   .button--black {
       color: var(--Black);
       background-color: transparent;
       border-color: var(--Black); }
   .button--black .line {
       stroke: var(--Black); }
   .button--black.button--disabled {
       color: var(--Light-Grey);
       background-color: transparent;
       border-color: var(--Light-Grey); }
   .button--black.button--disabled .line {
       stroke: var(--Light-Grey); }
   

   .button--grey {
       color: var(--Blue);
       background-color: var(--Light-Grey);
       border-color: var(--Light-Grey); }
   .button--grey .line {
       stroke: var(--Blue); }
   .button--white {
       color: var(--Blue);
       background-color: var(--White);
       border-color: var(--Blue); }
   .button--white .line {
       stroke: var(--Blue); }
           

   @media (hover: hover) {
       .button--blue.button--hover:not(.button--disabled):hover,
       a.button--blue:not(.button--disabled):hover {
           background-color: var(--Dark-Violet);
           border-color: var(--Dark-Violet);
       }
       .button--blue.button--hover:not(.button--disabled):hover .line,
       a.button--blue:not(.button--disabled):hover .line {
           stroke: var(--Dark-Violet);
       }

       .button--transparient.button--hover:hover,
       a.button--transparient:hover {
           background-color: transparent;
           border-color: var(--Pastel-Violet);
       }
       .button--transparient.button--hover:hover span,
       a.button--transparient:hover span {
           color: var(--Pastel-Violet);
       }
       .button--transparient.button--hover:hover .line,
       a.button--transparient:hover .line {
           stroke: var(--Pastel-Violet);
       }

       .button--violet.button--hover:hover span,
       a.button--violet:hover span {
           color: var(--Pastel-Violet);
       }
       .button--violet.button--hover:hover .line,
       a.button--violet:hover .line {
           stroke: var(--Pastel-Violet);
       }

       .button--black.button--hover:not(.button--disabled):hover,
       a.button--black:not(.button--disabled):hover {
           background-color: transparent;
           border-color: var(--Dark-Violet);
       }
       .button--black.button--hover:not(.button--disabled):hover span,
       a.button--black:not(.button--disabled):hover span {
           color: var(--Dark-Violet);
       }
       .button--black.button--hover:not(.button--disabled):hover .line,
       a.button--black:not(.button--disabled):hover .line {
           stroke: var(--Dark-Violet);
       }

       .button--grey.button--hover:hover,
       a.button--grey:hover {
           background-color: var(--Light-Grey);
           border-color: var(--Dark-Violet);
       }
       .button--grey.button--hover:hover span,
       a.button--grey:hover span {
           color: var(--Dark-Violet);
       }
       .button--grey.button--hover:hover .line,
       a.button--grey:hover .line {
           stroke: var(--Dark-Violet);
       }
       .button--white.button--hover:hover,
       a.button--white:hover {
            border-color: var(--Dark-Violet);
       }
       .button--white.button--hover:hover span,
       a.button--white:hover span {
           color: var(--Dark-Violet);
       }

       .button--white.button--hover:hover .line,
       a.button--white:hover .line {
           stroke: var(--Dark-Violet);
       }

   }



/* Input field. Silent height 44 px */
.input--text_field {
  height: 42px;
  padding: 12px 14px;
  font-family: Saans, sans-serif;
  font-size: 16px;
   line-height: 1em;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: var(--White);
  background-color: transparent;
  border: 1px solid var(--Grey);
  border-radius: 4px;
  outline: none;
}
.input--text_field:focus {
  border: 1px solid var(--White);;
}
.input--text_field::placeholder {
  color: var(--Grey);
   letter-spacing: 0.04em;
  opacity: 1;
}
.input--text_field::-webkit-input-placeholder {
  color: var(--Grey);
   letter-spacing: 0.04em;
  opacity: 1;
}
.input--text_field::-moz-placeholder {
  color: var(--Grey);
   letter-spacing: 0.04em;
  opacity: 1;
}
.input--text_field::-ms-input-placeholder {
  color: var(--Grey);
   letter-spacing: 0.04em;
  opacity: 1;
}
/* Change the white to any color ;) */
.input--text_field:-webkit-autofill::first-line,
.input--text_field:-webkit-autofill,
.input--text_field:-webkit-autofill:hover, 
.input--text_field:-webkit-autofill:focus, 
.input--text_field:-webkit-autofill:active  {
  -webkit-box-shadow: 0 0 0 30px var(--Grey) inset !important;
  box-shadow: 0 0 0 30px var(--Grey) inset !important;
  -webkit-text-fill-color: var(--White) !important;
  font-family: Saans, sans-serif;
  font-size: 16px;
  font-weight: 300;
}





/** Footer section */
.section--footer {
	position: relative;
  width: 100%;
	min-height: 100px;
	padding-bottom: 0;
	background: var(--Dark-Blue); 
}
.section--footer a {
   text-decoration: none;
}
.footer--top {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding-top: 72px;
	padding-bottom: 48px;
}
	.footer--logo {
		 display: block;
		 height: 48px;
	}
	.footer--logo img {
		 display: block;
		 height: 100%;
		 width: auto;
	}
	.footer--contact_button {
		 min-width: 150px;
	}

.footer--line {
	height: 0.5px;
	background: var(--Light-Grey);
	opacity: 0.3;
}
.footer--menu {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding-top: 48px;
	padding-bottom: 48px;
}
	.footer--menu_item {
		 display: block;
		 height: 40px;
		 padding: 13px 24px;
		 font-size: 14px;
		 font-style: normal;
		 font-weight: 500;
		 line-height: 1em;
		 letter-spacing: 0.05em;
		 color: var(--White);
	}
	.footer--menu_item:first-child {
		 padding-left: 0;
	}
	.footer--menu_item:last-child {
		 padding-right: 0;
	}


.footer--bottom {
	/* height: 64px; */
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
.footer--copyright {
	flex-grow: 1;
	color: var(--Soft-Grey);
	font-size: 12px;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.footer--bottom_links {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
	margin-right: 16px;
}
	.footer--bottom_link {
		 display: block;
		 padding: 26px 10px;
		 color: var(--Soft-Grey);
		 font-size: 12px;
		 font-style: normal;
		 font-weight: 500;
		 line-height: 1;
		 letter-spacing: 0.07em;
	}

.footer--social {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
}

	.footer--bottom_social {
		 display: block;
		 padding: 4px;
	}
	.footer--bottom_social:last-child {
		 padding-right: 0;
	}
	.footer--bottom_social svg {
		 display: block;
	}
.footer--line_social {
	display: none;
}
.footer--contact_mobile.button--item {
	display: none;
}

@media (hover: hover) {
	.footer--menu_item:hover {
		 color: var(--Pastel-Violet);
	}
	.footer--bottom_link:hover {
		 color: var(--Pastel-Violet);
	}
	.footer--bottom_social:hover .social {
		 fill: var(--Pastel-Violet);
	}
}

@media (max-width: 800px) {
	.footer--bottom_links {
		 margin-right: 0;
	}
}
@media (max-width: 768px) {

	.footer--top {
		 display: block;
		 padding-top: 32px;
		 padding-bottom: 28px;
		 text-align: center;
	}
	.footer--logo {
		 display: inline-block;
		 height: 48px;
	}
	.footer--top .footer--contact_button {
		display: none;
	}

	.footer--menu {
		 flex-wrap: wrap;
		 flex-direction: column;
		 gap: 24px;
		 padding-top: 52px;
		 padding-bottom: 52px;

	}
	.footer--menu .footer--menu_item {
		 padding: 13px 24px;
	}
	
	.footer--bottom {
		 flex-wrap: wrap;
		 flex-direction: column;
	}
	.footer--line_bottom {
		 display: none;
	}
	.footer--social {
		 order: 1;
		 gap: 16px;
	}
	.footer--line_social {
		 display: block;
		 width: 100%;
		 margin-top: 24px;
		 margin-bottom: 32px;
		 order: 2;
	}
	.footer--contact_mobile.button--item {
		 display: flex;
		 order: 3;
		 min-width: 250px;
	}
	.footer--bottom_links {
		 order: 4;
		 margin-top: 60px;
		 margin-right: 0;
	}
	.footer--copyright {
		 order: 5;
		 margin-bottom: 24px;
	}
}
@media (max-width: 450px) {
	.footer--contact_mobile.button--item {
		 width: 100%;
	}
}

/** FORMS */
.vsbl .form__notice.form--process_msg {
	text-align: center;
}
.vsbl .form__notice.form--process_msg .form--process_img {
	margin-bottom: 20px;
}
.vsbl .form__notice.form--process_msg h3 {
    font-size: 36px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2em; 
    letter-spacing: 0.01em;
    margin-bottom: 16px;
}
.vsbl .form__notice.form--process_msg p {
	padding: 0;
    margin-bottom: 0;
}
.vsbl .form__notice.form--process_msg a {
    font-weight: 700;
}
.vsbl .form__notice.form--process_msg .button--message_close {
    margin-top: 32px;
    width: 150px;
    margin-left: auto;
    margin-right: auto;
}
