:root {
    --white: #fff;
    --white-transparency: rgba(255, 255, 255, 0.70);
    --black: #141414;
    --black-transparency: rgba(20, 20, 20, 0.70);
    --grey: #F4F4F4;
    --blue: #3879DA;
    --dark-blue: #154DB0;
    --light-blue: #A8CBFF;
}

html {
    scroll-behavior: smooth;
}

/* reset */
* {
    padding: 0px;
    margin: 0px;
    border: none;
    font-family: 'Inter';
}

*,
*::before,
*::after {
    box-sizing: border-box;
}


a,
a:link,
a:visited {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}


aside,
nav,
footer,
header,
section,
main {
    display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    font-size: inherit;
    font-weight: inherit;
}

ul,
ul li {
    list-style: none;
}

img {
    vertical-align: top;
}

img,
svg {
    max-width: 100%;
    height: auto;
}

address {
    font-style: normal;
}


input,
textarea,
button,
select {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

input::-ms-clear {
    display: none;
}

button,
input[type="submit"] {
    display: inline-block;
    box-shadow: none;
    background-color: transparent;
    background: none;
    cursor: pointer;
}

input:focus,
input:active,
textarea:focus,
textarea:active,
button:focus,
button:active {
    outline: none;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

body {
    background: var(--grey);
    padding: 0px 80px 80px 80px;
    display: flex;
    flex-direction: column;
    gap: 80px;
}

main {
    display: flex;
    flex-direction: column;
    gap: 80px;
}

header {
    width: 100%;
    background: var(--blue);
    height: 776px;
    border-radius: 0px 0px 50px 50px;
    background-image: url('/wp-content/uploads/2023/07/banner-gradient.png');
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 40px;
}

nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 20px;
    max-width: 1184px;
    width: 100%;
}

nav>button {
    color: var(--white);
    font-size: 14px;
    padding: 8px 16px;
    transition: 0.2s ease-in-out;
}

nav>button:hover {
    color: var(--light-blue);
}

nav>.download {
    background-color: var(--white);
    padding: 8px 16px;
    border-radius: 12px;
    color: var(--dark-blue);
    transition: 0.2s ease-in-out;
}

nav>.download:hover {
    background-color: var(--light-blue);
	color: var(--white);
}

.banner {
    display: flex;
    gap: 27px;
    align-items: center;
    margin-top: 76px;
    max-width: 1184px;
    flex-wrap: wrap;
    justify-content: center;
}

.banner-info {
    display: flex;
    flex-direction: column;
    gap: 88px;
    align-items: flex-start;
}

.banner-info>image {
    width: 100;
}

.banner-text {
    color: var(--white);
    font-size: 46px;
    line-height: 52px;
    font-weight: 400;
    opacity: 0.9;
    width: 438px;
}

.banner-button {
    background-color: var(--white);
    font-weight: 600;
    line-height: 26px;
    font-size: 18px;
    color: var(--dark-blue);
    border-radius: 20px;
    padding: 28px 40px;
    transition: 0.2s ease-in-out;
}

.banner-button:hover {
    background-color: var(--light-blue);
}

.banner-image {
    max-width: 705px;
    width: 100%;
}

.banner-image>img {
    height: 100%;
    width: 100%;
}

.container {
    display: flex;
    flex-direction: column;
    gap: 80px;
    width: 100%;
    max-width: 1204px;
    padding: 0 20px;
    margin: 0 auto;
}

h2 {
    font-weight: 600;
    font-size: 56px;
    color: var(--black);
    line-height: 62px;
}

h3 {
    font-weight: 600;
    font-size: 32px;
    color: var(--black);
    line-height: 38px;
}

#possibilities {
    background-color: var(--white);
    border-radius: 50px;
    padding: 80px 0px;
}

.client-portrait {
    display: flex;
    align-items: unset;
    justify-content: space-between;
    flex-wrap: wrap;
}

.white-card {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 365px;
	padding: 32px 0px;
}

.cards {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 44px 52px;
    flex-shrink: 0;
    flex-wrap: wrap;
    align-content: center;
    max-width: 780px;
    width: 100%;
}

.card {
    display: flex;
    flex-direction: column;
	gap: 45px;
    padding: 32px 24px;
    height: 348px;
    width: 348px;
    border-radius: 36px;
    position: relative;
    overflow: hidden;
}

#possibilities .card > p {
	margin-top: auto;
}

.card>* {
    z-index: 1;
}

.card>h3 {
    color: #fff;
}

.card>p {
    font-size: 18px;
    line-height: 26px;
    color: var(--white-transparency);
}

.blue-card {
    background: var(--blue);
}

.blue-card::before {
    content: '';
    width: 448px;
    height: 459px;
    border-radius: 459px;
    background: linear-gradient(180deg, rgba(94, 158, 255, 0.80) 0%, rgba(31, 90, 203, 0.80) 45.83%, rgba(18, 120, 234, 0.80) 100%);
    filter: blur(39.5px);
    position: absolute;
    bottom: 24px;
    left: 37px;
}

.green-card {
    background: #20A072;
}

.green-card::before {
    content: '';
    width: 367px;
    height: 376px;
    border-radius: 376px;
    background: linear-gradient(180deg, rgba(32, 160, 114, 0.80) 0%, rgba(43, 193, 139, 0.80) 45.83%, rgba(29, 132, 51, 0.80) 76.04%, rgba(10, 121, 81, 0.80) 100%);
    filter: blur(39.5px);
    position: absolute;
    bottom: 9px;
    left: 66px;
}

.logo-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.purple-card {
    background: #764FE4;
}

.purple-card::before {
    content: '';
    position: absolute;
    width: 367px;
    height: 376px;
    border-radius: 376px;
    background: linear-gradient(180deg, rgba(169, 139, 253, 0.80) 0%, rgba(110, 73, 216, 0.80) 52.60%, rgba(61, 19, 181, 0.80) 100%);
    filter: blur(39.5px);
    top: 32px;
    right: 98px;
}

.lazure-card {
    background: #11A6C7;
}

.lazure-card::before {
    content: '';
    position: absolute;
    width: 367px;
    height: 376px;
    border-radius: 376px;
    background: linear-gradient(180deg, rgba(17, 166, 199, 0.80) 0%, rgba(8, 156, 203, 0.80) 48.96%, rgba(0, 118, 169, 0.80) 100%);
    filter: blur(39.5px);
    left: 44px;
    bottom: 0;
}

.orange-card {
    background: #EB7A3B;
}

.orange-card::before {
    content: '';
    position: absolute;
    width: 367px;
    height: 376px;
    border-radius: 376px;
    background: linear-gradient(180deg, rgba(255, 169, 121, 0.80) 0%, rgba(244, 131, 67, 0.80) 50%, rgba(217, 89, 17, 0.80) 100%);
    filter: blur(39.5px);
    top: 84px;
    right: 9px;
}

.empty-card {
    background: var(--grey);
    justify-content: flex-end;
}

.empty-card>p {
    color: var(--black-transparency);
    width: 290px;
}

.empty-card::before {
    content: '';
    position: absolute;
    width: 367px;
    height: 376px;
    border-radius: 376px;
    background: linear-gradient(325deg, rgba(244, 244, 244, 0.80) 0%, rgba(235, 235, 249, 0.80) 50%, rgba(225, 224, 229, 0.80) 100%);
    filter: blur(39.5px);
    bottom: 9px;
    right: 61px;
}

#advantages h2 {
    position: relative;
    display: inline-flex;
}

#advantages h2::before {
    content: '';
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxMCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuOTE5NzQgMTMuOTA4NkgwLjI4MTk4MkwyLjkzMjM1IDBIMTBMMy45MTk3NCAxMy45MDg2WiIgZmlsbD0iIzE0MTQxNCIvPgo8L3N2Zz4K);
    width: 10px;
    height: 14px;
    position: absolute;
    left: 360px;
    bottom: 60px;
}

.logic {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}

.advantages-cards {
    display: flex;
    align-items: center;
    gap: 54px;
    justify-content: center;
    flex-wrap: wrap;
}

.light-card {
    background-color: var(--white);
    gap: 51px;
    justify-content: flex-start;
}

.light-card>h3 {
    color: var(--blue);
}

.light-card>p {
    color: var(--black-transparency);
    align-self: stretch;
}

#how-it-works>.container {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
}

#how-it-works h2 {
    text-align: left;
}

.how-it-works-text {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
    max-width: 654px;
}

.how-it-works-text>p {
    font-size: 18px;
    line-height: 26px;
}

.download-presentation {
    align-items: flex-end;
    flex-direction: row;
    cursor: pointer;
}

.download-presentation>p {
    font-size: 24px;
    color: var(--white);
    font-weight: 700;
    line-height: 32px;
}

.download-icon {
    border-radius: 26px;
    background-color: var(--white);
    padding: 10px;
}

.download-background {
    position: absolute;
    bottom: 124px;
    left: 58px;
}

#discuss {
    background-image: url('/wp-content/uploads/2023/07/discuss-background.png');
    background-size: cover;
    background-repeat: no-repeat;
    padding: 80px 0px;
    border-radius: 50px;
}

#discuss>.container {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}

#discuss h2 {
    text-align: left;
}

.discuss-text {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    max-width: 654px;
}

.discuss-text>h2 {
    color: var(--white);
    margin-bottom: 22px;
}

.discuss-text>p {
    font-size: 18px;
    line-height: 26px;
    color: var(--white-transparency);
}

.discuss-button {
    padding: 50px 80px;
    background: var(--white, #FFF);
    border-radius: 32px;
    font-size: 18px;
    font-weight: 700;
    color: var(--dark-blue);
    transition: .2s ease-in-out;
}

.discuss-button:hover {
    background-color: var(--light-blue);
}

footer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: var(--black-transparency);
    width: 100%;
    max-width: 1204px;
    padding: 0 20px;
    margin: 0 auto;
    flex-wrap: wrap;
}

footer>a {
    color: var(--black-transparency);
}

@media screen and (max-width: 1440px) {
    body {
        padding: 0px 40px 80px 40px;
    }

    header {
        height: unset;
        padding-bottom: 80px;
    }
}

.input-container {
    position: relative;
}

.input-container > input {
    width: 100%;
}

.text-input, textarea {
    border-radius: 10px;
    border: 1px solid #B4B4B4;
    padding: 16px;
}

.text-input.error, textarea.error {
    border-color: var(--blue);
}

.error-text {
    font-size: 14px;
    position: absolute;
    bottom: -22px;
    left: 0;
    color: var(--dark-blue);
}

.form > * {
    width: 100%;
}

.form > .half {
    width: calc(50% - 16px);
}

.modal-wrapper {
    opacity: 0;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.40);
    width: 100%;
    height: 100%;
    position: fixed;
    transition: opacity 0.2s ease-out;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
	z-index: 1;
}

.modal-wrapper.open {
    pointer-events: all;
    opacity: 1;
	padding: 0 20px;
}

.modal-container {
    border-radius: 50px;
    background: var(--white, #FFF);
    padding: 40px;
    position: relative;
    width: 100%;
    max-width: 775px;
}

.modal-form.close {
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

.success {
    pointer-events: none;
    opacity: 0;
    transition: .2s opacity ease-in-out;
    display: flex;
    gap: 50px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width:0;
    height:0
}

.success.open {
    pointer-events: all;
    opacity: 1;
    width: 100%;
    height: 200px;
}

.close-icon {
    position: absolute;
    width: 34px;
    height: 34px;
    right: 16px;
    top: 16px;
}

.form {
    margin-top: 52px;
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
}

.agreement {
    padding-left: 30px;
    position: relative;
    cursor: pointer;
}

.agreement > a {
	color: #b4b4b4;
	text-decoration: underline;
	font-size: 14px;
}

.agreement-text {
    color: #b4b4b4;
    font-size: 14px;
    transition: .2s ease-in-out;
}

.checkmark {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border: 1px solid var(--blue, #3879DA);
    background: #FFF;
    position: absolute;
    left: 0;
    transition: .2s background-color ease-in-out;
}

.agreement > input {
    display: none;
}

.agreement > input:checked ~ .checkmark {
    background-color: var(--blue);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M4.22917 9.22194L0.54892 5.52086L1.75498 4.3148L4.22917 6.76813L10.245 0.773132L11.4511 2.00003L4.22917 9.22194Z' fill='white'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

.agreement > input:checked ~ .agreement-text {
    color: var(--dark-blue);
}

.agreement > input:checked ~ a {
    color: var(--dark-blue);
}

.actions {
    display:flex;
    justify-content: space-between;
    align-items: center;
}

.file-upload {
    display: flex;
    gap: 14px;
    align-items: center; 
}

.file-upload > label > input {
    display: none;
}

.file-upload > label {
    display: flex;
    gap: 10px;
	cursor: pointer;
}

.file-upload > label > .icon {
    width: 24px;
    height: 24px;
}

.file-upload > label > span {
	color: #b4b4b4;
}

.remove-icon {
    width: 24px;
    height: 24px;
    display: none;
	cursor: pointer;
}

.submit-form, .success-button  {
    font-size: 18px;
    color: var(--white);
    background-color: var(--blue);
    border-radius: 20px;
    padding: 28px 40px;
    font-weight: 600;
    transition: .2s ease-in-out;
}

.submit-form:hover, .success-button:hover {
    background-color: var(--light-blue);
}

.success-button {
	border-radius: 20px;
	background: var(--blue);
}

textarea {
	min-height: 130px;
	resize: none;
}


@media screen and (max-width: 1330px) {
    .banner {
        gap: 40px;
    }

    h2 {
        text-align: center;
    }

    #advantages h2 {
        align-self: center;
    }

    .banner-info {
        align-items: center;
        gap: 40px;
    }

    .banner-text {
        text-align: center;
    }

    .client-portrait {
        justify-content: center;
        gap: 40px;
    }

    .white-card {
        justify-content: center;
    }

    .white-card>.icon {
        display: flex;
        justify-content: center;
    }

    .white-card>h3 {
        text-align: center;
    }

    .logo-bar {
        justify-content: center;
    }

    .logic {
        justify-content: center;
        gap: 40px;
    }

    .logic>.white-card {
        padding: 0;
    }

	#advantages > .container {
		align-items: center;
	}

	.advantages-cards {
		max-width: 780px;
		width: 100%;
		justify-content: flex-start;
	}
}

@media screen and (max-width: 1200px) {
    #how-it-works>.container {
        justify-content: center;
    }

    #how-it-works h2 {
        text-align: center;
    }

    .how-it-works-text {
        text-align: center;
    }

    #discuss>.container {
        justify-content: center;
    }

    #discuss h2 {
        text-align: center;
    }

    #discuss p {
        text-align: center;
    }

	.download-presentation {
		width: 100%;
		height: 142px;
		justify-content: center;
		align-items: center;
	}

	.download-presentation::before {
		width: 110%;
		height: 153px;
		border-radius: 100%;
		top: 7px;
		right: 25%;
		background: linear-gradient(180deg, rgba(169, 139, 253, 0.80) 0%, rgba(110, 73, 216, 0.80) 52.60%, rgba(61, 19, 181, 0.80) 100%);
		filter: blur(39.5px);
	}

	.download-presentation > .download-icon {
		display: none;
	}

	.download-presentation > .download-background {
		left: unset;
		bottom: 23px;
		right: -5%;
	}
}

@media screen and (max-width: 650px) {
    nav {
        flex-wrap: wrap;
        justify-content: center;
    }

    body {
        padding: 0px 15px 40px 15px;
    }

    footer {
        justify-content: center;
    }

    footer * {
        text-align: center;
    }

    .banner-text {
        width: unset;
        font-size: 32px;
    }

    .banner-image {
        display: none;
    }

    h2 {
        font-size: 40px;
    }

    .white-card>h3 {
        font-size: 28px;
    }

    .container {
        gap: 40px;
    }

    .discuss-button {
        padding: 25px 60px;
    }
	.advantages-cards {
		justify-content: center;
	}

	.download-presentation > .download-background {
		right: -150px;
		opacity: 0.4;
	}
	#advantages h2::before {
		left: 257px;
	}
	
	.download-presentation {
		height: unset;
	}
	
	.download-presentation > p {
		font-size: 18px;
	}
	
	.form > .half {
		width: 100%;
	}
	
	.actions {
		flex-wrap: wrap;
		gap: 32px;
	}
	
	.submit-form {
		margin: 0 auto;
		width: 100%;
	}
	
	.success > h3 {
		text-align: center;
		font-size: 24px;
	}
}

@media screen and (max-width: 430px) {
	#advantages h2::before {
		left: 173px;
    	bottom: 54px;
	}
	
	.modal-container {
		padding: 20px;
	}
	
	.modal-form > h3 {
		font-size: 28px;
		margin-top: 26px;
		text-align: center;
	}
	
	.form {
		margin-top: 20px;
		gap: 20px;
	}
	
	.close-icon {
		width: 24px;
		height: 24px;
	}
	
	.text-input, textarea {
		padding: 10px;
	}
}

@media screen and (max-width: 870px) {
	.advantages-cards {
		justify-content: center;
		align-items: center;
	}
}