body {
    font-family: "Roboto", sans-serif;
    color: #2e2f42;
    background-color: #fff;
}

ul {
    list-style-type: none;
    margin: 0;
    padding-left: 0;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
}

address {
    font-style: normal;
}

button {
    cursor: pointer;
    font-family: inherit;
}

img {
    display: block;
    height: auto;
    max-width: 100%;
}

a {
    color: #434455;
    text-decoration: none;
    /*display: inline-block;
    padding-top: 24px;
    padding-bottom: 24px;*/
}

.container {
    max-width: 1158px;
    margin-left: 141px;
    margin-right: 141px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
}

/*---------------Header---------------*/

.header {
    background: #fff;
    /*display: inline-block;
    padding-top: 24px;
    padding-bottom: 24px;*/
    border-bottom: 1px solid #e7e9fc;
}

.header-container {
    display: flex;
    align-items: center;
}

.header-nav {
    display: flex;
    align-items: center;
    margin-right: auto;
}

.header-logo {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.17;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #2e2f42;
    font-family: "Raleway", sans-serif;
    margin-right: 76px;
}

.header-logo-span {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.16667;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #4d5ae5;
}

.header-link:hover,
.header-link:focus {
    color: #404bbf;
    text-decoration: none;
}

.address {
    font-style: normal;
}

.address-link:hover,
.address-link:focus {
    color: #404bbf;
    text-decoration: none;
    font-style: normal;
}

.header-list {
    display: flex;
    /*justify-content: center;*/
    gap: 40px;
}

/*.header-list {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #2e2f42;
}*/

.header-link {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #2e2f42;
    display: inline-block;
    padding-top: 24px;
    padding-bottom: 24px;
}

.address-link {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #434455;
    font-style: normal;
    display: inline-block;
    padding-top: 24px;
    padding-bottom: 24px;
}

.address-list {
    display: flex;
    gap: 40px;
    /*margin-left: auto;*/
}

/*---------------Main Tittle---------------*/

.main-title {
    background: #2e2f42;
    padding-top: 188px;
    padding-bottom: 188px;
}

.main-title-name {
    font-weight: 700;
    font-size: 56px;
    line-height: 1.07143;
    letter-spacing: 0.02em;
    text-align: center;
    color: #fff;
    display: flex;
    display: block;
    margin: 0 auto;
    max-width: 496px;
    /*min-width: 496px;*/
    margin-bottom: 48px;
}

.main-title-button {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
    background: #4d5ae5;
    cursor: pointer;
    border-radius: 4px;
    /*min-width: 169px;*/
    padding: 16px 32px;
    border: none;
    display: block;
    margin: 0 auto;
}

.main-title-button:hover,
.main-title-button:focus {
    background-color: #404bbf;
}

/*---------------Our Features---------------*/

.features {
    padding-top: 120px;
    padding-bottom: 120px;
}

/*.features-container {
    padding-top: 120px;
    padding-bottom: 120px;
}*/

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: 0;
    padding: 0;
    white-space: nowrap;
    clip-path: inset(100%);
    clip: rect(0 0 0 0);
    overflow: hidden;
}

.features-list {
    display: flex;
    flex: 1;
    gap: 24px;
    /*padding-top: 120px;
    padding-bottom: 120px;*/
}
.features-link {
    width: calc((100% - 24px * 3) / 4);
}

.features-subtitle {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #2e2f42;
    margin-bottom: 8px;
}

.features-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #434455;
}

/*---------------Our Team---------------*/

.team {
    background: #f4f4fd;
    /*display: block;*/
    padding: 120px 0;
    /*padding-bottom: 72px;
    padding: 120px 0;
    margin-bottom: 72px;*/
}

.team-link {
    box-shadow: 0 2px 1px 0 rgba(46, 47, 66, 0.08), 0 1px 1px 0 rgba(46, 47, 66, 0.16), 0 1px 6px 0 rgba(46, 47, 66, 0.08);
    background: #fff;
}

.team-title {
    font-weight: 700;
    font-size: 36px;
    line-height: 1.11111;
    letter-spacing: 0.02em;
    text-align: center;
    color: #2e2f42;
    display: block;
    /*padding-top: 120px;
    padding-bottom: 72px;*/
    /*padding: 120px 72px;*/
    /*margin-bottom: 72px;*/
    margin-bottom: 72px;
}

.team-list {
    display: flex;
    flex: 1;
    gap: 24px;
    /*padding: 120px;*/
    /*padding-bottom: 116px;*/
}

.team-link {
    width: calc((100% - 24px * 3) / 4);
    /*padding: 0 0 120px 0;*/
    border-radius: 0 0 4px 4px;
    /*padding: 32px 16px;*/
}

.team-link-wrapper {
    display: flex;
    flex-direction: column;
    padding: 32px 16px;
    gap: 8px;
    /*padding: 32px 65px 64px 65px;*/
    /*padding-top: 32px;
    padding-left: 65px;*/
}   

.team-subtitle {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: center;
    color: #2e2f42;
    /*display: flex;
    padding: 32px 16px;*/
    /*padding: 32px 65px 64px 65px;*/
    /*padding-top: 32px;
    padding-left: 65px;*/
}

.team-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: center;
    color: #434455;
    /*display: flex;
    padding: 64px 68px 32px 68px;*/
    /*padding-bottom: 32px;
    padding-left: 68px;*/
}


/*.team-subtitle .team-text {
    display: flex;
    padding: 32px 16px;
}*/

/*---------------Our Portfolio---------------*/

.portfolio {
    padding: 120px 0;
}

.portfolio-title {
    font-weight: 700;
    font-size: 36px;
    line-height: 1.11111;
    letter-spacing: 0.02em;
    text-align: center;
    color: #2e2f42;
    display: block;
    margin-bottom: 72px;
    /*padding: 120px 0;*/
    /*margin-bottom: 72px;*/
}

.portfolio-list {
    display: flex;
    flex-wrap: wrap;
    /*flex: 1;*/
    gap: 48px 24px;
    /*width: calc((100% - 24px * 2) / 3);*/
}

.portfolio-link {
    width: calc((100% - 24px * 2) / 3);
}

.portfolio-link-wrapper {
    display: flex;
    flex-direction: column;
    padding: 32px 16px;
    gap: 8px;
    border-left: 1px solid #e7e9fc;
    border-right: 1px solid #e7e9fc;
    border-bottom: 1px solid #e7e9fc;
    border-top: none;
}

.portfolio-subtitle {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #2e2f42;
}

.portfolio-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #434455;
}

/*---------------Footer---------------*/

.footer {
    background: #2e2f42;
    /*display: flex;*/
    flex-direction: column;
    padding-top: 100px;
    padding-bottom: 100px;
    justify-content: center;
}

.footer-logo {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.16667;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #f4f4fd;
    font-family: "Raleway", sans-serif;
}

.footer-logo-span {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.16667;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #4d5ae5;
}

.footer-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #f4f4fd;
    /*display: flex;*/
    /*display: block;
    margin: 0 auto;*/
    max-width: 264px;
    /*min-width: 264px;
    max-height: 112px;
    min-height: 112px;*/
    margin-top: 16px;
}