XML 122 R104.htm IDEA: XBRL DOCUMENT
v3.20.4

Commitments and Contingencies (Concentrations of Risk) (Narrative) (Details) - numberOfCustomers |  |  | 12 Months Ended
--- | --- | --- | ---
Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018
Concentration Risk [Line Items] |  |  |  |  |
Number of customers |  |  | 475 |  |
Accounts Receivable, Net, Less Contract Liabilities [Member] | Credit Concentration Risk [Member] | Customers with Largest Net Accounts Receivable Positions [Member] |  |  |  |  |
Concentration Risk [Line Items] |  |  |  |  |
Number of customers | 2 | 3 |  |  |
Accounts Receivable, Net, Less Contract Liabilities [Member] | Credit Concentration Risk [Member] | Customer with Largest Net Accounts Receivable Position [Member] |  |  |  |  |
Concentration Risk [Line Items] |  |  |  |  |
Concentration risk, percentage of total | 15.00% | 17.00% |  |  |
Accounts Receivable, Net, Less Contract Liabilities [Member] | Credit Concentration Risk [Member] | Customer with Second Largest Net Accounts Receivable Position [Member] |  |  |  |  |
Concentration Risk [Line Items] |  |  |  |  |
Concentration risk, percentage of total | 12.00% | 13.00% |  |  |
Accounts Receivable, Net, Less Contract Liabilities [Member] | Credit Concentration Risk [Member] | Customer With Third Largest Net Accounts Receivable Position [Member] |  |  |  |  |
Concentration Risk [Line Items] |  |  |  |  |
Concentration risk, percentage of total |  | 11.00% |  |  |
Revenue Benchmark [Member] | Customer Concentration Risk [Member] | Ten Largest Customers [Member] |  |  |  |  |
Concentration Risk [Line Items] |  |  |  |  |
Number of customers |  |  | 10 | 10 | 10
Concentration risk, percentage of total |  |  | 58.00% | 64.00% | 72.00%

X
- Definition Number of customers. + References No definition available. + Details
Name: | mtz_NumberOfCustomers1
Namespace Prefix: | mtz_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_ConcentrationRiskLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 42 -URI http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 18 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 20 -URI http://asc.fasb.org/extlink&oid=121572278&loc=d3e13531-108611 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 21 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 20 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592 + Details
Name: | us-gaap_ConcentrationRiskPercentage1
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CreditConcentrationRiskMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=mtz_DisclosedCustomersWithHighestNetAccountsReceivablePositionsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=mtz_CustomerWithHighestNetAccountsReceivablePosition1Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=mtz_CustomerWithSecondHighestNetAccountsReceivablePositionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=mtz_CustomerWithThirdHighestNetAccountsReceivablePositionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=mtz_TenLargestCustomers1Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |